



  

<!DOCTYPE html>
<html
  lang="en"
  
  data-color-mode="auto" data-light-theme="light" data-dark-theme="dark"
  data-a11y-animated-images="system" data-a11y-link-underlines="true"
  
  >




  <head>
    <meta charset="utf-8">
  <link rel="dns-prefetch" href="https://github.githubassets.com">
  <link rel="dns-prefetch" href="https://avatars.githubusercontent.com">
  <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
  <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
  <link rel="preconnect" href="https://github.githubassets.com" crossorigin>
  <link rel="preconnect" href="https://avatars.githubusercontent.com">

<script type="importmap">{"imports":{"react":"https://github.githubassets.com/assets/react-e27d1b3e03961e68.js","react-dom":"https://github.githubassets.com/assets/react-dom-e5fd46a22d5c4058.js","react-dom/client":"https://github.githubassets.com/assets/react-dom-client-1b4a3ee065998cea.js","react-is":"https://github.githubassets.com/assets/react-is-e0b593954b4706d8.js","react-reconciler":"https://github.githubassets.com/assets/react-reconciler-8e99e505c4429605.js","react/compiler-runtime":"https://github.githubassets.com/assets/react-compiler-runtime-4610bd6d3de9c049.js","react/jsx-dev-runtime":"https://github.githubassets.com/assets/react-jsx-dev-runtime-ea55d68667d559e5.js","react/jsx-runtime":"https://github.githubassets.com/assets/react-jsx-runtime-4915cb0f5b3aff04.js","scheduler":"https://github.githubassets.com/assets/scheduler-58b860b049ca307c.js"}}</script>
<meta name="react-profiling" content="0" data-turbo-transient="true" />
<meta name="react-import-map" content="react,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@777f63f87cd0" data-turbo-track="reload" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-e27d1b3e03961e68.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-compiler-runtime-4610bd6d3de9c049.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/scheduler-58b860b049ca307c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-dom-e5fd46a22d5c4058.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-dom-client-1b4a3ee065998cea.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-is-e0b593954b4706d8.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-jsx-runtime-4915cb0f5b3aff04.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-reconciler-8e99e505c4429605.js" />

  


  <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-99f877e9ddfc0e51.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light_high_contrast-48fdd0811afbab3c.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-79ad2ace604703b3.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark_high_contrast-24484a076f02295f.css" /><link data-color-theme="light" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light-99f877e9ddfc0e51.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-48fdd0811afbab3c.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-f4bf1142976e4bbf.css" /><link data-color-theme="light_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind_high_contrast-f661b49995ba0bd8.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-0b38d22346321c92.css" /><link data-color-theme="light_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia_high_contrast-f1c62c9e70259b9f.css" /><link data-color-theme="dark" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark-79ad2ace604703b3.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-24484a076f02295f.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-f50cacf0a86b9929.css" /><link data-color-theme="dark_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind_high_contrast-e61d4f4ca17852c2.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-39c10993d5603fac.css" /><link data-color-theme="dark_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia_high_contrast-73236c840c0c7d90.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-0de76f07cc035b10.css" /><link data-color-theme="dark_dimmed_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed_high_contrast-fd1500c8744e40d6.css" />

  <style type="text/css">
    :root {
      --tab-size-preference: 4;
    }

    pre, code {
      tab-size: var(--tab-size-preference);
    }
  </style>

    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-ed9ca172356fd545.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-1d2c7f7b52a6068b.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-54ba76e934a49d7c.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-456bd5deb85c7ecd.css" />
  <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-11ee8a031c040c1a.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-2d56bdb0166c0238.css" />

  

  <script type="application/json" id="client-env">{"locale":"en","featureFlags":["actions_enable_background_steps","actions_new_hosted_runner_image_select_sizes_and_versions","activity_diff_file_tree","activity_repos_file_tree","activity_repos_overview_header","activity_repos_overview_sidebar","agent_author_search_expansion","agent_author_search_expansion_ui_pulls","alternate_user_config_repo","async_conversion_coverage_enabled","billing_billable_licenses_cost_center_bucket_fix","billing_budget_expiration","billing_cost_center_list_assigned_resources","billing_discount_threshold_notification","code_quality_enablement_banner_targeting","code_quality_remove_preview","code_view_raf_sticky_lines","codespaces_prebuild_region_target_update","coding_agent_third_party_model_ui","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_automation_repo_mcp_servers","copilot_automations_pagination","copilot_chat_auto_mode_v2","copilot_chat_clear_model_selection_for_default_change","copilot_chat_header_reorder","copilot_chat_max_upsell","copilot_chat_models_browser_cache","copilot_chat_vision_dotcom_chat_ga_gate","copilot_css_textarea_autosize","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_duplicate_thread","copilot_extensions_removal_on_marketplace","copilot_fix_failed_workflows_all_skus","copilot_hide_hovercard","copilot_immersive_embedded_header_button","copilot_immersive_file_preview_keep_mounted","copilot_immersive_task_hyperlinking","copilot_mc_cli_resume_any_users_task","copilot_mission_control_agent_merge_fix_ci","copilot_mission_control_agent_merge_resolve_conflicts","copilot_mission_control_early_stop","copilot_mission_control_environment_list_icons","copilot_mission_control_managed_sandbox_environments","copilot_mission_control_needs_attention","copilot_mission_control_reasoning_effort","copilot_mission_control_sandbox_client_side_clone","copilot_mission_control_sandbox_remote_bypass","copilot_mission_control_session_filters","copilot_mission_control_task_alive_updates","copilot_mission_control_task_sharing","copilot_org_policy_page_focus_mode","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_authorization_status_ui","copilot_swe_agent_automation_resource_scoped_writes","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_issue_comment_trigger","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_pull_request_comment_trigger","copilot_swe_agent_pull_request_merged_trigger","copilot_swe_agent_pull_request_opened_trigger","copilot_swe_agent_pull_request_synchronize_trigger","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_task_scoped_alive_channel","copilot_token_based_billing","copilot_unconfigured_is_inherited","copilot_user_can_upgrade_plan_field","copilot_workbench_sunset","copilot_workbench_sunset_redirect","copilot_workbench_ubb","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","glc_code_quality_repo_settings_workflow_config","hide_github_models_ui","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","in_product_messaging_datadog_monitoring","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","ipm_ubb_individual_budget_banner","issue_fields_multi_select","issue_inline_avatars","issue_pinned_views","issue_pinned_views_optimistic_updates","issue_relative_time_micro","issues_dashboard_sso_structured_errors","issues_expanded_file_types","issues_hide_closed_sub_issues","issues_lazy_load_comment_box_suggestions","issues_optimistic_linked_branch_create","issues_react_chrome_container_query_fix","labels_archiving","labels_archiving_info","landing_pages_ninetailed","lifecycle_label_name_updates","marketing_cookie_consent_banner","marketing_pages_search_explore_provider","memex_client_env_github_domain","memex_default_issue_create_repository","memex_lazy_hydrate_agent_tasks","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_queue_restricted_pushers_warning","merge_status_checks_refetch_dedupe","merge_status_header_feedback","oauth_authorize_clickjacking_protection","octocaptcha_origin_optimization","primer_react_css_anchor_positioning","primer_react_merged_forwarded_refs","prs_copilot_app_open_action","prs_css_anchor_positioning","pull_request_commit_checks_dialog","pull_request_copilot_attribution_header","pull_request_overview_panel_edit_description","pull_request_persister","pull_request_stacks_feedback_dialog","pull_request_virtualization_image_estimate","pull_request_virtualization_scroll_compensation","pull_request_virtualization_scroll_intent","quick_search_lazy_suggestions","react_blob_isolate_code_lines","react_blob_ssr_content_visibility","react_data_router_tanstack_allowed","react_query_props_with_key","react_sandbox_future_tanstack","repo_app_turbo","repo_issues_sidebar_layout","repo_pulls_dashboard_persistence","repo_pulls_dashboard_sidebar_links","repos_contributors_limited_default_range","review_involves_filter","rule_ignored_file_paths","rulesets_actor_list_editor","sample_network_conn_type","security_center_artifact_filters_popover","see_who_reacted","semantic_similarity_duplicate_issue_detection","session_logs_ungroup_reasoning_text","set_sha256_on_repo_creation_form","site_banner_desktop_copilot_app","site_ghca_pixel_mona","site_github_app_ga_page","site_github_app_ga_page_highlight","site_github_app_mobile_native_share","site_global_banner_dev_days_attendee","site_global_banner_learn_copilot_sdk","site_global_nav_spark_models_removed","spark_prompt_secret_scanning","spark_server_connection_status","suggest_custom_property_values_copilot","suppress_automated_browser_vitals","swp_forms_disable_octocaptcha","thread_resolution_reason","ui_service_compute_proxy_control","ui_service_referrer_metrics","ui_service_staleness_detection","update_issue_suggestions","user_code_paste_ux","viewscreen_sandbox","warn_inaccessible_attachments","webp_support","workbench_store_readonly","workstream_plugin_bootstrap"],"githubDomain":"https://github.com","copilotApiOverrideUrl":"https://api.githubcopilot.com","cmcApiUrl":"https://api.github.com/cmc_internal/api"}</script>
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/high-contrast-cookie-e3d808ee18eb9784.js"></script>
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wp-runtime-87f87519f2bbba0e.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/app-foundation-74e9766bd696d26a.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/app-runtime-ecf766ea8a2c7fd6.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fetch-utilities-8e3d9c5d57d50312.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ser-cd1b421ad0ad7ed5.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/environment-324a60c8becccc53.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/app-runtime.b6099d51b9e67b57.module.css" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/catalyst-86a8f5de995615f8.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/selector-observer-e88088f989b27670.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/relative-time-element-7cdf4e0db98b997c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/by-6b3c07383371bf58.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ja9-36f036c13c2e3a4c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/kw-866fd9513ae95106.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/r1-b075aab3204f32f9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/jz5-7c5d1669717041f8.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hj-5126390ff433704d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j05-dce4d588268f0f7e.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/github-elements-549d25d0f366a901.js" defer="defer"></script>
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/element-registry-19d067aae228a2c9.js" defer="defer"></script>
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/runtime-helpers-f3f5d71440009c48.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/aria-live-76b18916d0c8ec4d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hotkey-5109c77d7ac61078.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-core-fbb00aaa3ab9abdf.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/04n-51c49ba758739f13.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ur-024971cb63acad59.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/4t-364e19c63d726e9a.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/6ny-c969fbae697a356f.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/yhq-3a209035a30b1a09.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/z1v-da5b33b877bfa358.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wo-09f85d22a6c8931b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/9y-81cfe57dc9040f3e.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j0-41a4cf04cbd99503.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/0p-81491ed0d9d666e2.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/behaviors-87fda981566a000c.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-core.5858534b1c27f133.module.css" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/code-menu-0470abdd78fff242.js" defer="defer"></script>
  
  <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/primer-react-12ebdc24dcff1ecc.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ncx-9a860680a5f230b9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j6-363f0ebf4f62f310.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/t7l-bf6f21d7e7a43c35.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fe-7576d9b281e2106a.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wsr-5fd3071e5a9061ab.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/0n-ecadb2ffe6b01ba2.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/xv-51cb34754bda73a9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/n4u-6317ce1c31aed1db.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j8s-d90ce3a169b741ed.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/la-de176c4ee471f2b3.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/eag-d9eea130fa716df9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/y2-87df441f1bc5a264.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/kcz-607e36c8a3751cf0.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/x4-65dba777efd828f3.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/gzu-1a09248f686325f6.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/bi0-e2f78de823e39ca9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/on-95be29ba1ef725d9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/b1-1dbc371cef78c3c1.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/0l5-c4edb8ab48c5846d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/c2z-c92998400310b94b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/f9-038758dcbfe08dab.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/0k-b7df0a74912a42bf.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/sp-915c6643cc0d7d44.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/og-93ae8b358505d372.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/b9-69d9b60a1b1fcd59.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ec-8ea7978d3fcd114e.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/du-a401e69a37d95bcc.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ql0-1c18210f6b9e2263.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/20-0a2e46387735f1f4.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/dsj-cb1e4ddbce4f007b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wp-9f5235d335ab624b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ko6-9e80f7ac359e3c43.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/uw-8c275f7ac25b7cf6.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/bsb-4f4ac8c20da73fac.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/w5-13e3a7548bb20af9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fm-c00a7677663ba326.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/z-45022d3da7b8817e.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/h0-010921512138e12f.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/5p-ae5db0820116fb43.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/8vq-b2af216e992e11ef.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/g5-88f2a4514daa19ca.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/xc-f5d51b571cd317cb.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/arw-51e8918a1b75a80f.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/code-view-5780cead61d34dfa.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.9d59d1018a52a53c.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/ql0.de7a55ca73db5693.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/z.812a998e1961b84d.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/xc.13e027137438fd9f.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-view.3e1889ce559ebbdc.module.css" />

  <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hu-1fc0b2a167afc025.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fb-ef2c91536abed646.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-1275ca430426c116.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.9d59d1018a52a53c.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.a2d74169820112df.module.css" />


  <title>pre-commit/CHANGELOG.md at master · ExternalRepositories/pre-commit · GitHub</title>



  <meta name="route-pattern" content="/:user_id/:repository/blob/*name(/*path)" data-turbo-transient>
  <meta name="route-controller" content="blob" data-turbo-transient>
  <meta name="route-action" content="show" data-turbo-transient>
  <meta name="fetch-nonce" content="v2:cee978e7-f51d-8748-6091-a20d9c55ce09">

    
  <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb">


  <meta name="request-id" content="AE2E:178631:10F9F6E1:FD60E2B:6AAC8DFB" data-pjax-transient="true"/><meta name="html-safe-nonce" content="80c0f54e85ae14c8504255347c42dcaaaa93bb58d939200bc1af338eb636bc8f" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBRTJFOjE3ODYzMToxMEY5RjZFMTpGRDYwRTJCOjZBQUM4REZCIiwidmlzaXRvcl9pZCI6IjU5ODE2MzEyMTcyNjg0NjEwNTEiLCJyZWdpb25fZWRnZSI6ImZyYSIsInJlZ2lvbl9yZW5kZXIiOiJmcmEifQ==" data-pjax-transient="true"/><meta name="visitor-hmac" content="e90a25a3a616e350395f466cce2db0db6a2b352fa21323d647f91152b3375467" data-pjax-transient="true"/>


    <meta name="hovercard-subject-tag" content="repository:316222486" data-turbo-transient>


  <meta name="github-keyboard-shortcuts" content="repository,source-code,file-tree,commits,copilot" data-turbo-transient="true" />
  

  <meta name="selected-link" value="repo_source" data-turbo-transient>
  <link rel="assets" href="https://github.githubassets.com/">

    <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I">

<meta name="octolytics-url" content="https://collector.github.com/github/collect" />





  <meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-turbo-transient="true" />

  




    <meta name="user-login" content="">

  

    <meta name="viewport" content="width=device-width">

    

      <meta name="description" content="A framework for managing and maintaining multi-language pre-commit hooks. - pre-commit/CHANGELOG.md at master · ExternalRepositories/pre-commit">

      <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">

    <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
    <meta property="fb:app_id" content="1401488693436528">
    <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/ExternalRepositories/pre-commit/blob/master/CHANGELOG.md" />

      <meta name="twitter:image" content="https://opengraph.githubassets.com/7202ffe10560bb946be4349029357e2d418965b4b4d13015e2980ad6c3687034/ExternalRepositories/pre-commit" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="pre-commit/CHANGELOG.md at master · ExternalRepositories/pre-commit" /><meta name="twitter:description" content="A framework for managing and maintaining multi-language pre-commit hooks. - ExternalRepositories/pre-commit" />
  <meta property="og:image" content="https://opengraph.githubassets.com/7202ffe10560bb946be4349029357e2d418965b4b4d13015e2980ad6c3687034/ExternalRepositories/pre-commit" /><meta property="og:image:alt" content="A framework for managing and maintaining multi-language pre-commit hooks. - ExternalRepositories/pre-commit" /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="pre-commit/CHANGELOG.md at master · ExternalRepositories/pre-commit" /><meta property="og:url" content="https://github.com/ExternalRepositories/pre-commit/blob/master/CHANGELOG.md" /><meta property="og:description" content="A framework for managing and maintaining multi-language pre-commit hooks. - ExternalRepositories/pre-commit" />
  




      <meta name="hostname" content="github.com">



        <meta name="expected-hostname" content="github.com">


  <meta http-equiv="x-pjax-version" content="87b02277f1a88f71022c708b22655ead06f335ffb2f288301950607be673d70f" data-turbo-track="reload">
  <meta http-equiv="x-pjax-csp-version" content="0c5c6e5334a905d8f9521e09eadcffba484d422e0d262e07ff922e6bc18b2ac6" data-turbo-track="reload">
  <meta http-equiv="x-pjax-css-version" content="ec4c7b86d7b57240253150b827ea48b04e08d8760dc6553d2a04f62000f3fe0c" data-turbo-track="reload">
  <meta http-equiv="x-pjax-js-version" content="b485a9e5d5fef3a0529256dd6518ebc1f40bea8817ed2111389eeb587e6b5499" data-turbo-track="reload">

  <meta name="turbo-cache-control" content="no-preview" data-turbo-transient="">

      <meta name="turbo-cache-control" content="no-cache" data-turbo-transient>

    <meta data-hydrostats="publish">

  <meta name="go-import" content="github.com/ExternalRepositories/pre-commit git https://github.com/ExternalRepositories/pre-commit.git">

  <meta name="octolytics-dimension-user_id" content="68587716" /><meta name="octolytics-dimension-user_login" content="ExternalRepositories" /><meta name="octolytics-dimension-repository_id" content="316222486" /><meta name="octolytics-dimension-repository_nwo" content="ExternalRepositories/pre-commit" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="true" /><meta name="octolytics-dimension-repository_parent_id" content="17689377" /><meta name="octolytics-dimension-repository_parent_nwo" content="pre-commit/pre-commit" /><meta name="octolytics-dimension-repository_network_root_id" content="17689377" /><meta name="octolytics-dimension-repository_network_root_nwo" content="pre-commit/pre-commit" />
  



    

    <meta name="turbo-body-classes" content="logged-out env-production page-responsive">
  <meta name="disable-turbo" content="false">


  <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">


  <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">

  <meta name="release" content="150f67e4e80cef756826b1ec1ae31f40579d6bf6" data-turbo-track="reload">
  <meta name="ui-target" content="full">

  <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000">
  <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png">
  <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon">

<meta name="theme-color" content="#1e2327">
<meta name="color-scheme" content="light dark" />


  <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">

  </head>

  <body class="logged-out env-production page-responsive" style="word-wrap: break-word;" >
    <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;" >
      <div id="__primerPortalRoot__" style="z-index: 1000; position: absolute; width: 100%;" data-turbo-permanent></div>
      

    <div class="position-relative header-wrapper js-header-wrapper ">
      <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 tmp-py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a>

      <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full">
    <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span>
</span>      
      <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/l7j-2ddd8b435dadae28.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-3f2ae39a88fc8542.js" fetchpriority="low" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.9d59d1018a52a53c.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog.8ab0724db4d1b620.module.css" />

<react-partial
  partial-name="keyboard-shortcuts-dialog"
  data-ssr="false"
  data-attempted-ssr="false"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script>
  <div data-target="react-partial.reactRoot"></div>
</react-partial>





      

          
          

                <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/2l-8671acba87bc0dcb.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/i26-f2ae65b837c90ae7.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fz5-23f28c0f388769c9.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/lht-26506ea833dda5be.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/p1-76a75a6081059b19.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/3d-82c347d20a13fb90.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/tua-c4ca62c5e0e0318e.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/4s-c22d880230690e1f.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/marketing-header-5911ef094658e0d1.js" fetchpriority="low" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.9d59d1018a52a53c.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-brand-css.6a01c236ff527e7e.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/4s.e3d02f110161be52.module.css" />

<react-partial
  partial-name="marketing-header"
  data-ssr="true"
  data-attempted-ssr="true"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-partial.embeddedData">{"props":{"color_mode":"dark","logged_in":false,"marketing_page":false,"home_path":"/","login_path":"/login?return_to=https%3A%2F%2Fgithub.com%2FExternalRepositories%2Fpre-commit%2Fblob%2Fmaster%2FCHANGELOG.md","signup_path":"/signup?ref_cta=Sign+up\u0026ref_loc=header+logged+out\u0026ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow\u0026source=header-repo\u0026source_repo=ExternalRepositories%2Fpre-commit","signup_enabled":true,"is_signup_controller":false,"show_search_and_nav":true,"hide_search":false,"private_mode_enabled":false,"should_use_dotcom_links":true,"auth_hydro_click":"{\"event_type\":\"authentication.click\",\"payload\":{\"location_in_page\":\"site header menu\",\"repository_id\":null,\"auth_type\":\"SIGN_UP\",\"originating_url\":\"https://github.com/ExternalRepositories/pre-commit/blob/master/CHANGELOG.md\",\"user_id\":null}}","auth_hydro_click_hmac":"cf48207ed6f93a57f3e3f2837452d5293cd555ba25ce864de304ce3881d70421","overlay":false,"fixed":false}}</script>
  <div data-target="react-partial.reactRoot"><div data-color-mode="dark" data-light-theme="light" data-dark-theme="dark"><header class="MarketingHeader-module__root__Tk7n3 HeaderMktg header-logged-out" role="banner" data-marketing-header="true" data-color-mode="dark" data-light-theme="light" data-dark-theme="dark" data-is-top="true"><h2 class="MarketingHeader-module__visuallyHidden__sqKsl">Navigation Menu</h2><button type="button" class="MarketingHeader-module__backdrop__sw4RU" aria-label="Close navigation menu"></button><div class="MarketingHeader-module__bar__mBSyE"><div class="MarketingHeader-module__topRow__yeury"><div class="MarketingHeader-module__toggleSlot__hDxbh"><button type="button" class="HeaderMenuToggle-module__toggle__i8EiC" aria-label="Toggle navigation" aria-expanded="false"><span class="HeaderMenuToggle-module__toggleBar__jVN0H"></span><span class="HeaderMenuToggle-module__toggleBar__jVN0H"></span><span class="HeaderMenuToggle-module__toggleBar__jVN0H"></span></button></div><a href="/" aria-label="Homepage" class="HeaderLogo-module__logo__UFyHI" data-analytics-event="{&quot;action&quot;:&quot;homepage&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;logo&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;homepage_link_logo_header&quot;}"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-mark-github" viewBox="0 0 24 24" width="32" height="32" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.226 17.284c-2.965-.36-5.054-2.493-5.054-5.256 0-1.123.404-2.336 1.078-3.144-.292-.741-.247-2.314.09-2.965.898-.112 2.111.36 2.83 1.01.853-.269 1.752-.404 2.853-.404 1.1 0 1.999.135 2.807.382.696-.629 1.932-1.1 2.83-.988.315.606.36 2.179.067 2.942.72.854 1.101 2 1.101 3.167 0 2.763-2.089 4.852-5.098 5.234.763.494 1.28 1.572 1.28 2.807v2.336c0 .674.561 1.056 1.235.786 4.066-1.55 7.255-5.615 7.255-10.646C23.5 6.188 18.334 1 11.978 1 5.62 1 .5 6.188.5 12.545c0 4.986 3.167 9.12 7.435 10.669.606.225 1.19-.18 1.19-.786V20.63a2.9 2.9 0 0 1-1.078.224c-1.483 0-2.359-.808-2.987-2.313-.247-.607-.517-.966-1.034-1.033-.27-.023-.359-.135-.359-.27 0-.27.45-.471.898-.471.652 0 1.213.404 1.797 1.235.45.651.921.943 1.483.943.561 0 .92-.202 1.437-.719.382-.381.674-.718.944-.943"></path></svg></a><div class="AuthCTAs-module__mobileActions__NNzeV"><a class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw AuthCTAs-module__cta__WpwQq" href="/login?return_to=https%3A%2F%2Fgithub.com%2FExternalRepositories%2Fpre-commit%2Fblob%2Fmaster%2FCHANGELOG.md" data-analytics-event="{&quot;action&quot;:&quot;sign_in&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;auth_cta&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;sign_in_link_auth_cta_header&quot;}" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/ExternalRepositories/pre-commit/blob/master/CHANGELOG.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cf48207ed6f93a57f3e3f2837452d5293cd555ba25ce864de304ce3881d70421"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH">Sign in</span></span></a><button class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw HeaderAppearanceSettings-module__trigger__hUheK" type="button" aria-haspopup="dialog" aria-labelledby="_R_3dd_"><span class="Primer_Brand__Button-module__Button__leading-visual___jjtTe" data-testid="Button-leading-visual"><svg data-component="Octicon" focusable="false" aria-hidden="true" class="octicon octicon-sliders Primer_Brand__Button-module__Button__icon-visual____qybb" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path></svg></span><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH"></span></span></button><div class="Primer_Brand__Tooltip-module__Tooltip___0Eipx" data-direction="s" aria-hidden="true" id="_R_3dd_">Appearance settings</div></div></div><div class="MarketingHeader-module__menu__GIy3y"><div class="MarketingHeader-module__menuWrapper__owstH"><nav class="MarketingNavigation-module__nav__W0KYY" aria-label="Global"><ul class="MarketingNavigation-module__list__tFbMb"><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_nd_">Platform<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_nd_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5knd_">AI CODE CREATION</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5knd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/copilot" data-analytics-event="{&quot;action&quot;:&quot;github_copilot&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_copilot_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copilot NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path></svg>GitHub Copilot</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Write better code with AI</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/ai/github-app" data-analytics-event="{&quot;action&quot;:&quot;github_copilot_app&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_copilot_app_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-mark-github NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M6.766 11.328c-2.063-.25-3.516-1.734-3.516-3.656 0-.781.281-1.625.75-2.188-.203-.515-.172-1.609.063-2.062.625-.078 1.468.25 1.968.703.594-.187 1.219-.281 1.985-.281.765 0 1.39.094 1.953.265.484-.437 1.344-.765 1.969-.687.218.422.25 1.515.046 2.047.5.593.766 1.39.766 2.203 0 1.922-1.453 3.375-3.547 3.64.531.344.89 1.094.89 1.954v1.625c0 .468.391.734.86.547C13.781 14.359 16 11.53 16 8.03 16 3.61 12.406 0 7.984 0 3.563 0 0 3.61 0 8.031a7.88 7.88 0 0 0 5.172 7.422c.422.156.828-.125.828-.547v-1.25c-.219.094-.5.156-.75.156-1.031 0-1.64-.562-2.078-1.609-.172-.422-.36-.672-.719-.719-.187-.015-.25-.093-.25-.187 0-.188.313-.328.625-.328.453 0 .844.281 1.25.86.313.452.64.655 1.031.655s.641-.14 1-.5c.266-.265.47-.5.657-.656"></path></svg>GitHub Copilot app</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Direct agents from issue to merge</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/mcp" data-analytics-event="{&quot;action&quot;:&quot;mcp_registry&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;mcp_registry_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-mcp NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M5.52 1.12a3.578 3.578 0 0 1 6.078 2.98 3.578 3.578 0 0 1 2.982 6.08l-3.292 3.293a.252.252 0 0 0 0 .354l.843.843a.749.749 0 1 1-1.06 1.06l-.844-.843a1.75 1.75 0 0 1 0-2.474L13.52 9.12a2.08 2.08 0 0 0 0-2.94 2.08 2.08 0 0 0-2.94 0L7.731 9.03A.75.75 0 0 1 6.67 7.97l2.85-2.85a2.08 2.08 0 0 0 0-2.94 2.08 2.08 0 0 0-2.94 0l-4.799 4.8A.75.75 0 0 1 .72 5.92Z"></path><path d="M7.52 3.12a.749.749 0 1 1 1.06 1.06L5.731 7.03A2.079 2.079 0 0 0 8.67 9.97l2.85-2.85a.749.749 0 1 1 1.06 1.06l-2.849 2.85A3.578 3.578 0 0 1 4.67 5.97Z"></path></svg>MCP Registry</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Integrate external tools</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9knd_">DEVELOPER WORKFLOWS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9knd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/actions" data-analytics-event="{&quot;action&quot;:&quot;actions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;actions_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-workflow NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path></svg>Actions</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Automate any workflow</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/codespaces" data-analytics-event="{&quot;action&quot;:&quot;codespaces&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;codespaces_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-codespaces NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path></svg>Codespaces</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Instant dev environments</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/issues" data-analytics-event="{&quot;action&quot;:&quot;issues&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;issues_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-issue-opened NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path></svg>Issues</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Plan and track work</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/code-review" data-analytics-event="{&quot;action&quot;:&quot;code_review&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;code_review_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-code NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg>Code Review</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Manage code changes</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/code-quality" data-analytics-event="{&quot;action&quot;:&quot;code_quality&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;code_quality_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-codescan-checkmark NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.28 6.28a.75.75 0 1 0-1.06-1.06L6.25 8.19l-.97-.97a.75.75 0 0 0-1.06 1.06l1.5 1.5a.75.75 0 0 0 1.06 0l3.5-3.5Z"></path><path d="M7.5 15a7.5 7.5 0 1 1 5.807-2.754l2.473 2.474a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2.474-2.473A7.472 7.472 0 0 1 7.5 15Zm0-13.5a6 6 0 1 0 4.094 10.386.748.748 0 0 1 .293-.292 6.002 6.002 0 0 0 1.117-6.486A6.002 6.002 0 0 0 7.5 1.5Z"></path></svg>Code Quality</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enforce quality at merge</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dknd_">APPLICATION SECURITY</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dknd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security" data-analytics-event="{&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_advanced_security_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-shield-check NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg>GitHub Advanced Security</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Find and fix vulnerabilities</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security/code-security" data-analytics-event="{&quot;action&quot;:&quot;code_security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;code_security_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-code-square NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg>Code security</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Secure your code as you build</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security/secret-protection" data-analytics-event="{&quot;action&quot;:&quot;secret_protection&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;secret_protection_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-lock NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M4 4a4 4 0 0 1 8 0v2h.25c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 12.25 15h-8.5A1.75 1.75 0 0 1 2 13.25v-5.5C2 6.784 2.784 6 3.75 6H4Zm8.25 3.5h-8.5a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25ZM10.5 6V4a2.5 2.5 0 1 0-5 0v2Z"></path></svg>Secret protection</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Stop leaks before they start</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ NavGroup-module__hasSeparator__FnMrN"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_hknd_">EXPLORE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_hknd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/why-github" data-analytics-event="{&quot;action&quot;:&quot;why_github&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;why_github_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Why GitHub</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://docs.github.com" data-analytics-event="{&quot;action&quot;:&quot;documentation&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;documentation_link_platform_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Documentation</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://github.blog" data-analytics-event="{&quot;action&quot;:&quot;blog&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;blog_link_platform_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Blog</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://github.blog/changelog" data-analytics-event="{&quot;action&quot;:&quot;changelog&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;changelog_link_platform_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Changelog</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/marketplace" data-analytics-event="{&quot;action&quot;:&quot;marketplace&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;marketplace_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Marketplace</span></a></li></ul></div></li></ul><div class="NavDropdown-module__trailingLinkContainer__VgJGL"><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/features" data-analytics-event="{&quot;action&quot;:&quot;view_all_features&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_features_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all features</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></div></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_17d_">Solutions<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_17d_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5l7d_">BY COMPANY SIZE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5l7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/enterprise" data-analytics-event="{&quot;action&quot;:&quot;enterprises&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;enterprises_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Enterprises</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/team" data-analytics-event="{&quot;action&quot;:&quot;small_and_medium_teams&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;small_and_medium_teams_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Small and medium teams</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/enterprise/startups" data-analytics-event="{&quot;action&quot;:&quot;startups&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;startups_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Startups</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/nonprofits" data-analytics-event="{&quot;action&quot;:&quot;nonprofits&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;nonprofits_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Nonprofits</span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9l7d_">BY USE CASE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9l7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/app-modernization" data-analytics-event="{&quot;action&quot;:&quot;app_modernization&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;app_modernization_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">App Modernization</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/devsecops" data-analytics-event="{&quot;action&quot;:&quot;devsecops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;devsecops_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">DevSecOps</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/devops" data-analytics-event="{&quot;action&quot;:&quot;devops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;devops_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">DevOps</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/ci-cd" data-analytics-event="{&quot;action&quot;:&quot;ci/cd&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;ci/cd_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">CI/CD</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/solutions/use-case" data-analytics-event="{&quot;action&quot;:&quot;view_all_use_cases&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_use_cases_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all use cases</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dl7d_">BY INDUSTRY</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dl7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/healthcare" data-analytics-event="{&quot;action&quot;:&quot;healthcare&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;healthcare_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Healthcare</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/financial-services" data-analytics-event="{&quot;action&quot;:&quot;financial_services&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;financial_services_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Financial services</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/manufacturing" data-analytics-event="{&quot;action&quot;:&quot;manufacturing&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;manufacturing_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Manufacturing</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/government" data-analytics-event="{&quot;action&quot;:&quot;government&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;government_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Government</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/solutions/industry" data-analytics-event="{&quot;action&quot;:&quot;view_all_industries&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_industries_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all industries</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></li></ul></div></li></ul><div class="NavDropdown-module__trailingLinkContainer__VgJGL"><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/solutions" data-analytics-event="{&quot;action&quot;:&quot;view_all_solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_solutions_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all solutions</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></div></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_1nd_">Resources<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_1nd_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5lnd_">EXPLORE BY TOPIC</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5lnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=ai" data-analytics-event="{&quot;action&quot;:&quot;ai&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;ai_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">AI</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=software-development" data-analytics-event="{&quot;action&quot;:&quot;software_development&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;software_development_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Software Development</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=devops" data-analytics-event="{&quot;action&quot;:&quot;devops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;devops_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">DevOps</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=security" data-analytics-event="{&quot;action&quot;:&quot;security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;security_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Security</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/resources/articles" data-analytics-event="{&quot;action&quot;:&quot;view_all_topics&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_topics_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all topics</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9lnd_">EXPLORE BY TYPE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9lnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/customer-stories" data-analytics-event="{&quot;action&quot;:&quot;customer_stories&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;customer_stories_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Customer stories</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/events" data-analytics-event="{&quot;action&quot;:&quot;events__webinars&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;events__webinars_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Events &amp; webinars</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/whitepapers" data-analytics-event="{&quot;action&quot;:&quot;ebooks__reports&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;ebooks__reports_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Ebooks &amp; reports</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/executive-insights" data-analytics-event="{&quot;action&quot;:&quot;business_insights&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;business_insights_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Business insights</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://skills.github.com" data-analytics-event="{&quot;action&quot;:&quot;github_skills&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_skills_link_resources_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">GitHub Skills</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dlnd_">SUPPORT &amp; SERVICES</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dlnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://docs.github.com" data-analytics-event="{&quot;action&quot;:&quot;documentation&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;documentation_link_resources_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Documentation</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://support.github.com" data-analytics-event="{&quot;action&quot;:&quot;customer_support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;customer_support_link_resources_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Customer support</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/orgs/community/discussions" data-analytics-event="{&quot;action&quot;:&quot;community_forum&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;community_forum_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Community forum</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/trust-center" data-analytics-event="{&quot;action&quot;:&quot;trust_center&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;trust_center_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Trust center</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/partners" data-analytics-event="{&quot;action&quot;:&quot;partners&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;partners_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Partners</span></a></li></ul></div></li></ul><div class="NavDropdown-module__trailingLinkContainer__VgJGL"><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/resources" data-analytics-event="{&quot;action&quot;:&quot;view_all_resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_resources_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all resources</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></div></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_27d_">Open Source<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_27d_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5m7d_">COMMUNITY</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5m7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/open-source/sponsors" data-analytics-event="{&quot;action&quot;:&quot;github_sponsors&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_sponsors_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-sponsor-tiers NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.586 1C12.268 1 13.5 2.37 13.5 4.25c0 1.745-.996 3.359-2.622 4.831-.166.15-.336.297-.509.438l1.116 5.584a.75.75 0 0 1-.991.852l-2.409-.876a.25.25 0 0 0-.17 0l-2.409.876a.75.75 0 0 1-.991-.852L5.63 9.519a13.78 13.78 0 0 1-.51-.438C3.497 7.609 2.5 5.995 2.5 4.25 2.5 2.37 3.732 1 5.414 1c.963 0 1.843.403 2.474 1.073L8 2.198l.112-.125a3.385 3.385 0 0 1 2.283-1.068L10.586 1Zm-3.621 9.495-.718 3.594 1.155-.42a1.75 1.75 0 0 1 1.028-.051l.168.051 1.154.42-.718-3.592c-.199.13-.37.235-.505.314l-.169.097a.75.75 0 0 1-.72 0 9.54 9.54 0 0 1-.515-.308l-.16-.105ZM10.586 2.5c-.863 0-1.611.58-1.866 1.459-.209.721-1.231.721-1.44 0C7.025 3.08 6.277 2.5 5.414 2.5 4.598 2.5 4 3.165 4 4.25c0 1.23.786 2.504 2.128 3.719.49.443 1.018.846 1.546 1.198l.325.21.076-.047.251-.163a13.341 13.341 0 0 0 1.546-1.198C11.214 6.754 12 5.479 12 4.25c0-1.085-.598-1.75-1.414-1.75Z"></path></svg>GitHub Sponsors</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Fund open source developers</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9m7d_">PROGRAMS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9m7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://securitylab.github.com" data-analytics-event="{&quot;action&quot;:&quot;security_lab&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;security_lab_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Security Lab</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://maintainers.github.com" data-analytics-event="{&quot;action&quot;:&quot;maintainer_community&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;maintainer_community_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Maintainer Community</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://stars.github.com" data-analytics-event="{&quot;action&quot;:&quot;github_stars&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_stars_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">GitHub Stars</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://archiveprogram.github.com" data-analytics-event="{&quot;action&quot;:&quot;archive_program&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;archive_program_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Archive Program</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dm7d_">REPOSITORIES</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dm7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/topics" data-analytics-event="{&quot;action&quot;:&quot;topics&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;topics_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Topics</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/trending" data-analytics-event="{&quot;action&quot;:&quot;trending&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;trending_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Trending</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/collections" data-analytics-event="{&quot;action&quot;:&quot;collections&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;collections_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Collections</span></a></li></ul></div></li></ul></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_2nd_">Enterprise<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_2nd_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5mnd_">ENTERPRISE SOLUTIONS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5mnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/enterprise" data-analytics-event="{&quot;action&quot;:&quot;enterprise_platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;enterprise_platform_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-stack NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.122.392a1.75 1.75 0 0 1 1.756 0l5.003 2.902c.83.481.83 1.68 0 2.162L8.878 8.358a1.75 1.75 0 0 1-1.756 0L2.119 5.456a1.251 1.251 0 0 1 0-2.162ZM8.125 1.69a.248.248 0 0 0-.25 0l-4.63 2.685 4.63 2.685a.248.248 0 0 0 .25 0l4.63-2.685ZM1.601 7.789a.75.75 0 0 1 1.025-.273l5.249 3.044a.248.248 0 0 0 .25 0l5.249-3.044a.75.75 0 0 1 .752 1.298l-5.248 3.044a1.75 1.75 0 0 1-1.756 0L1.874 8.814A.75.75 0 0 1 1.6 7.789Zm0 3.5a.75.75 0 0 1 1.025-.273l5.249 3.044a.248.248 0 0 0 .25 0l5.249-3.044a.75.75 0 0 1 .752 1.298l-5.248 3.044a1.75 1.75 0 0 1-1.756 0l-5.248-3.044a.75.75 0 0 1-.273-1.025Z"></path></svg>Enterprise platform</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">AI-powered developer platform</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9mnd_">AVAILABLE ADD-ONS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9mnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security" data-analytics-event="{&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_advanced_security_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-shield-check NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg>GitHub Advanced Security</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enterprise-grade security features</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/copilot/copilot-business" data-analytics-event="{&quot;action&quot;:&quot;copilot_for_business&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;copilot_for_business_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copilot NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path></svg>Copilot for Business</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enterprise-grade AI features</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/enterprise/premium-support" data-analytics-event="{&quot;action&quot;:&quot;premium_support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;premium_support_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-comment-discussion NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path></svg>Premium Support</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enterprise-grade 24/7 support</span></span></a></li></ul></div></li></ul></div></div></li><li><a href="https://github.com/pricing" data-analytics-event="{&quot;action&quot;:&quot;pricing&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;pricing&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;pricing_link_pricing_navbar&quot;}" class="MarketingNavigation-module__navLink__hUomM">Pricing</a></li></ul></nav><div class="MarketingHeader-module__ctaContainer__tBmPz"><div class="HeaderSearch-module__searchSlot__oVOUS"><button class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw HeaderSearch-module__trigger__zsF9q" type="button" aria-haspopup="dialog" aria-expanded="false" aria-label="Search or jump to, type / to search" data-analytics-event="{&quot;action&quot;:&quot;searchbar&quot;,&quot;tag&quot;:&quot;input&quot;,&quot;context&quot;:&quot;global&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;searchbar_input_global_navbar&quot;}"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH"><span class="HeaderSearch-module__content__kMpxU"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-search HeaderSearch-module__icon__wcrHX" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg><span class="HeaderSearch-module__label__d1iWG">Search</span><kbd class="HeaderSearch-module__kbd__HNG0o" aria-hidden="true">/</kbd></span></span></span></button><div class="d-none"></div></div><div class="AuthCTAs-module__signInWrap__q2P60"><a class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw AuthCTAs-module__cta__WpwQq AuthCTAs-module__desktopActionGap__UZuXT AuthCTAs-module__hiddenBelowLg__BfKBw" href="/login?return_to=https%3A%2F%2Fgithub.com%2FExternalRepositories%2Fpre-commit%2Fblob%2Fmaster%2FCHANGELOG.md" data-analytics-event="{&quot;action&quot;:&quot;sign_in&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;auth_cta&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;sign_in_link_auth_cta_header&quot;}" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/ExternalRepositories/pre-commit/blob/master/CHANGELOG.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cf48207ed6f93a57f3e3f2837452d5293cd555ba25ce864de304ce3881d70421"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH">Sign in</span></span></a></div><a class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--secondary___gHnw_ Primer_Brand__Button-module__Button--size-small___zQrEw AuthCTAs-module__cta__WpwQq" href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo&amp;source_repo=ExternalRepositories%2Fpre-commit" data-analytics-event="{&quot;action&quot;:&quot;sign_up&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;auth_cta&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;sign_up_link_auth_cta_header&quot;}" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/ExternalRepositories/pre-commit/blob/master/CHANGELOG.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cf48207ed6f93a57f3e3f2837452d5293cd555ba25ce864de304ce3881d70421"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-secondary___eJ0_a">Sign up</span></span></a><button class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw HeaderAppearanceSettings-module__trigger__hUheK" type="button" aria-haspopup="dialog" aria-labelledby="_R_fbd_"><span class="Primer_Brand__Button-module__Button__leading-visual___jjtTe" data-testid="Button-leading-visual"><svg data-component="Octicon" focusable="false" aria-hidden="true" class="octicon octicon-sliders Primer_Brand__Button-module__Button__icon-visual____qybb" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path></svg></span><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH"></span></span></button><div class="Primer_Brand__Tooltip-module__Tooltip___0Eipx" data-direction="s" aria-hidden="true" id="_R_fbd_">Appearance settings</div></div></div></div></div><div class="MarketingHeader-module__bottomBorder__uZT38" aria-hidden="true"></div></header></div></div>
</react-partial>



      <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full">
  
        <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg>
        <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
        <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
        <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>

    <button id="icon-button-56671841-f371-492b-b15f-2e38fffeeb6b" aria-labelledby="tooltip-73cbdd5e-9abe-4ac4-98dc-72eb95b8f838" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close">  <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
</button><tool-tip id="tooltip-73cbdd5e-9abe-4ac4-98dc-72eb95b8f838" for="icon-button-56671841-f371-492b-b15f-2e38fffeeb6b" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip>


  
</div>
    </div>

  <div id="start-of-content" class="show-on-focus"></div>








    <div id="js-flash-container" class="flash-container" data-turbo-replace>





  <template class="js-flash-template">
    
<div class="flash flash-full   {{ className }}">
  <div >
    <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message">
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
    </button>
    <div aria-atomic="true" role="alert" class="js-flash-alert">
      
      <div>{{ message }}</div>

    </div>
  </div>
</div>
  </template>
</div>


    






  <div
    class="application-main "
    data-commit-hovercards-enabled
    data-discussion-hovercards-enabled
    data-issue-and-pr-hovercards-enabled
    data-project-hovercards-enabled
  >
        <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
    <main id="js-repo-pjax-container" >
      
      
    


    








  

    <div id="repository-container-header"  class="tmp-pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace>

        <div class="d-flex flex-nowrap flex-justify-end tmp-mb-3  tmp-px-3 tmp-px-lg-5" style="gap: 1rem;">

          <div class="flex-auto min-width-0 width-fit">
              
  <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal">
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked color-fg-muted mr-2 tmp-mr-2">
    <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path>
</svg>
    
    <span class="author flex-self-stretch" itemprop="author">
      <a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/ExternalRepositories/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/ExternalRepositories">
        ExternalRepositories
</a>    </span>
    <span class="mx-1 flex-self-stretch color-fg-muted">/</span>
    <strong itemprop="name" class="mr-2 flex-self-stretch">
      <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/ExternalRepositories/pre-commit">pre-commit</a>
    </strong>

    <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span>
  </div>
    <span class="text-small lh-condensed-ultra no-wrap mt-1" data-repository-hovercards-enabled>
      forked from <a data-hovercard-type="repository" data-hovercard-url="/pre-commit/pre-commit/hovercard" class="Link--inTextBlock" href="/pre-commit/pre-commit">pre-commit/pre-commit</a>
    </span>


          </div>

          <div id="repository-details-container" class="flex-shrink-0" data-turbo-replace style="max-width: 70%;">
              <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;">
    
      

  <li>
            <a href="/login?return_to=%2FExternalRepositories%2Fpre-commit" rel="nofollow" id="repository-details-watch-button" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/ExternalRepositories/pre-commit/blob/master/CHANGELOG.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c809f26ca82e7bfa911bfb5809913ffe6c78f73564347752bab6331eb993c441" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn">    <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2 tmp-mr-2">
    <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path>
</svg>Notifications
</a>    <tool-tip id="tooltip-b091f5d9-bf95-4a7e-b6b5-5e66c37c7593" for="repository-details-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip>

  </li>

  <li>
          <a icon="repo-forked" id="fork-button" href="/login?return_to=%2FExternalRepositories%2Fpre-commit" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:316222486,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/ExternalRepositories/pre-commit/blob/master/CHANGELOG.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="639e92eba075e605bc8d1649f60ae75abfe1697beea1d35057759aed3fa7f9c1" data-view-component="true" class="btn-sm btn">    <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2 tmp-mr-2">
    <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path>
</svg>Fork
    <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="0" data-view-component="true" class="Counter">0</span>
</a>
  </li>

  <li>
        <div data-view-component="true" class="BtnGroup d-flex">
        <a href="/login?return_to=%2FExternalRepositories%2Fpre-commit" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:316222486,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/ExternalRepositories/pre-commit/blob/master/CHANGELOG.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e0aa746c8e6c55a7855930a0d44807010d344ccf37026b541df1d47c4fb97903" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn">    <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2 tmp-mr-2">
    <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path>
</svg><span data-view-component="true" class="d-inline">
          Star
</span>          <span id="repo-stars-counter-star" aria-label="0 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="0" data-view-component="true" class="Counter js-social-count">0</span>
</a></div>
  </li>

</ul>

          </div>
        </div>

          <div id="responsive-meta-container" data-turbo-replace>
</div>


            <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 tmp-px-3 px-md-4 tmp-px-md-4 px-lg-5 tmp-px-lg-5">

  <ul data-view-component="true" class="UnderlineNav-body list-style-none">
      <li data-view-component="true" class="d-inline-flex">
  <a id="code-tab" href="/ExternalRepositories/pre-commit" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /ExternalRepositories/pre-commit" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-command-id="repositories:go-to-code" data-react-nav="code-view" data-react-nav-anchor="code-view-repo-link" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Code&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected">
    
              <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline">
    <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path>
</svg>
        <span data-content="Code">Code</span>
          <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="pull-requests-tab" href="/ExternalRepositories/pre-commit/pulls" data-tab-item="i1pull-requests-tab" data-selected-links="repo_pulls checks /ExternalRepositories/pre-commit/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-command-id="repositories:go-to-pull-requests" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Pull requests&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
    
              <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline">
    <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path>
</svg>
        <span data-content="Pull requests">Pull requests</span>
          <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="actions-tab" href="/ExternalRepositories/pre-commit/actions" data-tab-item="i2actions-tab" data-selected-links="repo_actions /ExternalRepositories/pre-commit/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-command-id="repositories:go-to-actions" data-react-nav="actions-workflows" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Actions&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
    
              <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline">
    <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path>
</svg>
        <span data-content="Actions">Actions</span>
          <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="projects-tab" href="/ExternalRepositories/pre-commit/projects" data-tab-item="i3projects-tab" data-selected-links="repo_projects new_repo_project repo_project /ExternalRepositories/pre-commit/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-command-id="repositories:go-to-projects" data-react-nav="repo" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Projects&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
    
              <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline">
    <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path>
</svg>
        <span data-content="Projects">Projects</span>
          <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="security-and-quality-tab" href="/ExternalRepositories/pre-commit/security" data-tab-item="i4security-and-quality-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /ExternalRepositories/pre-commit/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-command-id="repositories:go-to-security" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Security and quality&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
    
              <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline">
    <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg>
        <span data-content="Security and quality">Security and quality</span>
          <span id="security-and-quality-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>


    
</a></li>
      <li data-view-component="true" class="d-inline-flex">
  <a id="insights-tab" href="/ExternalRepositories/pre-commit/pulse" data-tab-item="i5insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /ExternalRepositories/pre-commit/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-command-id="repositories:go-to-insights" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Insights&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
    
              <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline">
    <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
</svg>
        <span data-content="Insights">Insights</span>
          <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>


    
</a></li>
</ul>
    <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 tmp-pr-3 pr-md-4 tmp-pr-md-4 pr-lg-5 tmp-pr-lg-5 right-0">      <action-menu data-select-variant="none" data-view-component="true">
  <focus-group direction="vertical" mnemonics retain>
    <button id="action-menu-abc105d1-8e92-4ac4-96d5-36f5226bb95b-button" popovertarget="action-menu-abc105d1-8e92-4ac4-96d5-36f5226bb95b-overlay" aria-controls="action-menu-abc105d1-8e92-4ac4-96d5-36f5226bb95b-list" aria-haspopup="true" aria-labelledby="tooltip-b048468f-e562-4bee-b65c-693512cb6818" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item">  <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual">
    <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path>
</svg>
</button><tool-tip id="tooltip-b048468f-e562-4bee-b65c-693512cb6818" for="action-menu-abc105d1-8e92-4ac4-96d5-36f5226bb95b-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip>


<anchored-position data-target="action-menu.overlay" id="action-menu-abc105d1-8e92-4ac4-96d5-36f5226bb95b-overlay" anchor="action-menu-abc105d1-8e92-4ac4-96d5-36f5226bb95b-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true">
  <div data-view-component="true" class="Overlay Overlay--size-auto">
    
      <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone">          <action-list>
  <div data-view-component="true">
    <ul aria-labelledby="action-menu-abc105d1-8e92-4ac4-96d5-36f5226bb95b-button" id="action-menu-abc105d1-8e92-4ac4-96d5-36f5226bb95b-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap">
        <li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-000c3db7-5529-404c-8d54-56bf2f4848f2" href="/ExternalRepositories/pre-commit" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code">
    <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Code
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i1pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-640b39c0-a4b0-4680-8220-2d52170be2f7" href="/ExternalRepositories/pre-commit/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request">
    <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Pull requests
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i2actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-461c91fc-aace-4e03-9541-6a6268e22fa7" href="/ExternalRepositories/pre-commit/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play">
    <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Actions
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i3projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-014533e2-95b0-40a3-9ba9-55e7512cc463" href="/ExternalRepositories/pre-commit/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table">
    <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Projects
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i4security-and-quality-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-6784dd88-7eef-4cd9-8ae9-d7cc323c3ccb" href="/ExternalRepositories/pre-commit/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield">
    <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Security and quality
</span>      
</a>
  
</li>
        <li hidden="hidden" data-menu-item="i5insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
    
    
    <a tabindex="-1" id="item-f6e0e23d-4394-4d31-afec-abc894a69a56" href="/ExternalRepositories/pre-commit/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
        <span class="ActionListItem-visual ActionListItem-visual--leading">
          <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph">
    <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
</svg>
        </span>
      
        <span data-view-component="true" class="ActionListItem-label">
          Insights
</span>      
</a>
  
</li>
</ul>    
</div></action-list>


</div>
      
</div></anchored-position>  </focus-group>
</action-menu></div>
</nav>

    </div>
  



<turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class="">
    <div id="repo-content-pjax-container" class="repository-content " >
    



    
      
    








<react-app
  app-name="code-view"
  initial-path="/ExternalRepositories/pre-commit/blob/master/CHANGELOG.md"
  style="display: block; min-height: calc(100vh - 64px);"
  data-attempted-ssr="true"
  data-ssr="true"
  data-lazy="false"
  data-alternate="false"
  data-data-router-enabled="true"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-app.embeddedData">{"payload":{"codeViewBlobRoute":{"csv":null,"csvError":null,"headerInfo":{"toc":[{"level":1,"text":"2.9.2 - 2020-11-25","anchor":"292---2020-11-25","htmlText":"2.9.2 - 2020-11-25"},{"level":3,"text":"Fixes","anchor":"fixes","htmlText":"Fixes"},{"level":1,"text":"2.9.1 - 2020-11-25","anchor":"291---2020-11-25","htmlText":"2.9.1 - 2020-11-25"},{"level":3,"text":"Fixes","anchor":"fixes-1","htmlText":"Fixes"},{"level":1,"text":"2.9.0 - 2020-11-21","anchor":"290---2020-11-21","htmlText":"2.9.0 - 2020-11-21"},{"level":3,"text":"Features","anchor":"features","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-2","htmlText":"Fixes"},{"level":1,"text":"2.8.2 - 2020-10-30","anchor":"282---2020-10-30","htmlText":"2.8.2 - 2020-10-30"},{"level":3,"text":"Fixes","anchor":"fixes-3","htmlText":"Fixes"},{"level":1,"text":"2.8.1 - 2020-10-28","anchor":"281---2020-10-28","htmlText":"2.8.1 - 2020-10-28"},{"level":3,"text":"Fixes","anchor":"fixes-4","htmlText":"Fixes"},{"level":1,"text":"2.8.0 - 2020-10-28","anchor":"280---2020-10-28","htmlText":"2.8.0 - 2020-10-28"},{"level":3,"text":"Features","anchor":"features-1","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-5","htmlText":"Fixes"},{"level":1,"text":"2.7.1 - 2020-08-23","anchor":"271---2020-08-23","htmlText":"2.7.1 - 2020-08-23"},{"level":3,"text":"Fixes","anchor":"fixes-6","htmlText":"Fixes"},{"level":1,"text":"2.7.0 - 2020-08-22","anchor":"270---2020-08-22","htmlText":"2.7.0 - 2020-08-22"},{"level":3,"text":"Features","anchor":"features-2","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-7","htmlText":"Fixes"},{"level":1,"text":"2.6.0 - 2020-07-01","anchor":"260---2020-07-01","htmlText":"2.6.0 - 2020-07-01"},{"level":3,"text":"Fixes","anchor":"fixes-8","htmlText":"Fixes"},{"level":3,"text":"Features","anchor":"features-3","htmlText":"Features"},{"level":1,"text":"2.5.1 - 2020-06-09","anchor":"251---2020-06-09","htmlText":"2.5.1 - 2020-06-09"},{"level":3,"text":"Fixes","anchor":"fixes-9","htmlText":"Fixes"},{"level":1,"text":"2.5.0 - 2020-06-08","anchor":"250---2020-06-08","htmlText":"2.5.0 - 2020-06-08"},{"level":3,"text":"Features","anchor":"features-4","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-10","htmlText":"Fixes"},{"level":1,"text":"2.4.0 - 2020-05-11","anchor":"240---2020-05-11","htmlText":"2.4.0 - 2020-05-11"},{"level":3,"text":"Features","anchor":"features-5","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-11","htmlText":"Fixes"},{"level":1,"text":"2.3.0 - 2020-04-22","anchor":"230---2020-04-22","htmlText":"2.3.0 - 2020-04-22"},{"level":3,"text":"Features","anchor":"features-6","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-12","htmlText":"Fixes"},{"level":1,"text":"2.2.0 - 2020-03-12","anchor":"220---2020-03-12","htmlText":"2.2.0 - 2020-03-12"},{"level":3,"text":"Features","anchor":"features-7","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-13","htmlText":"Fixes"},{"level":3,"text":"Misc.","anchor":"misc","htmlText":"Misc."},{"level":1,"text":"2.1.1 - 2020-02-24","anchor":"211---2020-02-24","htmlText":"2.1.1 - 2020-02-24"},{"level":3,"text":"Fixes","anchor":"fixes-14","htmlText":"Fixes"},{"level":1,"text":"2.1.0 - 2020-02-18","anchor":"210---2020-02-18","htmlText":"2.1.0 - 2020-02-18"},{"level":3,"text":"Features","anchor":"features-8","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-15","htmlText":"Fixes"},{"level":3,"text":"Misc.","anchor":"misc-1","htmlText":"Misc."},{"level":1,"text":"2.0.1 - 2020-01-29","anchor":"201---2020-01-29","htmlText":"2.0.1 - 2020-01-29"},{"level":3,"text":"Fixes","anchor":"fixes-16","htmlText":"Fixes"},{"level":1,"text":"2.0.0 - 2020-01-28","anchor":"200---2020-01-28","htmlText":"2.0.0 - 2020-01-28"},{"level":3,"text":"Features","anchor":"features-9","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-17","htmlText":"Fixes"},{"level":3,"text":"Misc","anchor":"misc-2","htmlText":"Misc"},{"level":3,"text":"Updating","anchor":"updating","htmlText":"Updating"},{"level":1,"text":"1.21.0 - 2020-01-02","anchor":"1210---2020-01-02","htmlText":"1.21.0 - 2020-01-02"},{"level":3,"text":"Features","anchor":"features-10","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-18","htmlText":"Fixes"},{"level":3,"text":"Misc.","anchor":"misc-3","htmlText":"Misc."},{"level":1,"text":"1.20.0 - 2019-10-28","anchor":"1200---2019-10-28","htmlText":"1.20.0 - 2019-10-28"},{"level":3,"text":"Features","anchor":"features-11","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-19","htmlText":"Fixes"},{"level":1,"text":"1.19.0 - 2019-10-26","anchor":"1190---2019-10-26","htmlText":"1.19.0 - 2019-10-26"},{"level":3,"text":"Features","anchor":"features-12","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-20","htmlText":"Fixes"},{"level":3,"text":"Updating","anchor":"updating-1","htmlText":"Updating"},{"level":1,"text":"1.18.3 - 2019-08-27","anchor":"1183---2019-08-27","htmlText":"1.18.3 - 2019-08-27"},{"level":3,"text":"Fixes","anchor":"fixes-21","htmlText":"Fixes"},{"level":1,"text":"1.18.2 - 2019-08-15","anchor":"1182---2019-08-15","htmlText":"1.18.2 - 2019-08-15"},{"level":3,"text":"Fixes","anchor":"fixes-22","htmlText":"Fixes"},{"level":1,"text":"1.18.1 - 2019-08-11","anchor":"1181---2019-08-11","htmlText":"1.18.1 - 2019-08-11"},{"level":3,"text":"Fixes","anchor":"fixes-23","htmlText":"Fixes"},{"level":1,"text":"1.18.0 - 2019-08-03","anchor":"1180---2019-08-03","htmlText":"1.18.0 - 2019-08-03"},{"level":3,"text":"Features","anchor":"features-13","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-24","htmlText":"Fixes"},{"level":3,"text":"Misc.","anchor":"misc-4","htmlText":"Misc."},{"level":1,"text":"1.17.0 - 2019-06-06","anchor":"1170---2019-06-06","htmlText":"1.17.0 - 2019-06-06"},{"level":3,"text":"Features","anchor":"features-14","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-25","htmlText":"Fixes"},{"level":3,"text":"Misc.","anchor":"misc-5","htmlText":"Misc."},{"level":1,"text":"1.16.1 - 2019-05-08","anchor":"1161---2019-05-08","htmlText":"1.16.1 - 2019-05-08"},{"level":3,"text":"Fixes","anchor":"fixes-26","htmlText":"Fixes"},{"level":1,"text":"1.16.0 - 2019-05-04","anchor":"1160---2019-05-04","htmlText":"1.16.0 - 2019-05-04"},{"level":3,"text":"Features","anchor":"features-15","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-27","htmlText":"Fixes"},{"level":3,"text":"Misc.","anchor":"misc-6","htmlText":"Misc."},{"level":1,"text":"1.15.2 - 2019-04-16","anchor":"1152---2019-04-16","htmlText":"1.15.2 - 2019-04-16"},{"level":3,"text":"Fixes","anchor":"fixes-28","htmlText":"Fixes"},{"level":1,"text":"1.15.1 - 2019-04-01","anchor":"1151---2019-04-01","htmlText":"1.15.1 - 2019-04-01"},{"level":3,"text":"Fixes","anchor":"fixes-29","htmlText":"Fixes"},{"level":1,"text":"1.15.0 - 2019-03-30","anchor":"1150---2019-03-30","htmlText":"1.15.0 - 2019-03-30"},{"level":3,"text":"Features","anchor":"features-16","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-30","htmlText":"Fixes"},{"level":3,"text":"Misc","anchor":"misc-7","htmlText":"Misc"},{"level":1,"text":"1.14.4 - 2019-02-18","anchor":"1144---2019-02-18","htmlText":"1.14.4 - 2019-02-18"},{"level":3,"text":"Fixes","anchor":"fixes-31","htmlText":"Fixes"},{"level":1,"text":"1.14.3 - 2019-02-04","anchor":"1143---2019-02-04","htmlText":"1.14.3 - 2019-02-04"},{"level":3,"text":"Fixes","anchor":"fixes-32","htmlText":"Fixes"},{"level":1,"text":"1.14.2 - 2019-01-10","anchor":"1142---2019-01-10","htmlText":"1.14.2 - 2019-01-10"},{"level":3,"text":"Fixes","anchor":"fixes-33","htmlText":"Fixes"},{"level":1,"text":"1.14.1 - 2019-01-10","anchor":"1141---2019-01-10","htmlText":"1.14.1 - 2019-01-10"},{"level":3,"text":"Fixes","anchor":"fixes-34","htmlText":"Fixes"},{"level":1,"text":"1.14.0 - 2019-01-08","anchor":"1140---2019-01-08","htmlText":"1.14.0 - 2019-01-08"},{"level":3,"text":"Features","anchor":"features-17","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-35","htmlText":"Fixes"},{"level":3,"text":"Misc.","anchor":"misc-8","htmlText":"Misc."},{"level":1,"text":"1.13.0 - 2018-12-20","anchor":"1130---2018-12-20","htmlText":"1.13.0 - 2018-12-20"},{"level":3,"text":"Features","anchor":"features-18","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-36","htmlText":"Fixes"},{"level":3,"text":"Misc.","anchor":"misc-9","htmlText":"Misc."},{"level":3,"text":"Updating","anchor":"updating-2","htmlText":"Updating"},{"level":1,"text":"1.12.0 - 2018-10-23","anchor":"1120---2018-10-23","htmlText":"1.12.0 - 2018-10-23"},{"level":3,"text":"Fixes","anchor":"fixes-37","htmlText":"Fixes"},{"level":1,"text":"1.11.2 - 2018-10-10","anchor":"1112---2018-10-10","htmlText":"1.11.2 - 2018-10-10"},{"level":3,"text":"Fixes","anchor":"fixes-38","htmlText":"Fixes"},{"level":1,"text":"1.11.1 - 2018-09-22","anchor":"1111---2018-09-22","htmlText":"1.11.1 - 2018-09-22"},{"level":3,"text":"Fixes","anchor":"fixes-39","htmlText":"Fixes"},{"level":1,"text":"1.11.0 - 2018-09-02","anchor":"1110---2018-09-02","htmlText":"1.11.0 - 2018-09-02"},{"level":3,"text":"Features","anchor":"features-19","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-40","htmlText":"Fixes"},{"level":1,"text":"1.10.5 - 2018-08-06","anchor":"1105---2018-08-06","htmlText":"1.10.5 - 2018-08-06"},{"level":3,"text":"Fixes","anchor":"fixes-41","htmlText":"Fixes"},{"level":1,"text":"1.10.4 - 2018-07-22","anchor":"1104---2018-07-22","htmlText":"1.10.4 - 2018-07-22"},{"level":3,"text":"Fixes","anchor":"fixes-42","htmlText":"Fixes"},{"level":3,"text":"Misc.","anchor":"misc-10","htmlText":"Misc."},{"level":1,"text":"1.10.3 - 2018-07-02","anchor":"1103---2018-07-02","htmlText":"1.10.3 - 2018-07-02"},{"level":3,"text":"Fixes","anchor":"fixes-43","htmlText":"Fixes"},{"level":1,"text":"1.10.2 - 2018-06-11","anchor":"1102---2018-06-11","htmlText":"1.10.2 - 2018-06-11"},{"level":3,"text":"Fixes","anchor":"fixes-44","htmlText":"Fixes"},{"level":1,"text":"1.10.1 - 2018-05-28","anchor":"1101---2018-05-28","htmlText":"1.10.1 - 2018-05-28"},{"level":3,"text":"Fixes","anchor":"fixes-45","htmlText":"Fixes"},{"level":1,"text":"1.10.0 - 2018-05-26","anchor":"1100---2018-05-26","htmlText":"1.10.0 - 2018-05-26"},{"level":3,"text":"Features","anchor":"features-20","htmlText":"Features"},{"level":1,"text":"1.9.0 - 2018-05-21","anchor":"190---2018-05-21","htmlText":"1.9.0 - 2018-05-21"},{"level":3,"text":"Features","anchor":"features-21","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-46","htmlText":"Fixes"},{"level":1,"text":"1.8.2 - 2018-03-17","anchor":"182---2018-03-17","htmlText":"1.8.2 - 2018-03-17"},{"level":3,"text":"Fixes","anchor":"fixes-47","htmlText":"Fixes"},{"level":1,"text":"1.8.1 - 2018-03-12","anchor":"181---2018-03-12","htmlText":"1.8.1 - 2018-03-12"},{"level":3,"text":"Fixes","anchor":"fixes-48","htmlText":"Fixes"},{"level":1,"text":"1.8.0 - 2018-03-11","anchor":"180---2018-03-11","htmlText":"1.8.0 - 2018-03-11"},{"level":3,"text":"Features","anchor":"features-22","htmlText":"Features"},{"level":1,"text":"1.7.0 - 2018-03-03","anchor":"170---2018-03-03","htmlText":"1.7.0 - 2018-03-03"},{"level":3,"text":"Features","anchor":"features-23","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-49","htmlText":"Fixes"},{"level":3,"text":"Misc.","anchor":"misc-11","htmlText":"Misc."},{"level":3,"text":"Updating","anchor":"updating-3","htmlText":"Updating"},{"level":1,"text":"1.6.0 - 2018-02-04","anchor":"160---2018-02-04","htmlText":"1.6.0 - 2018-02-04"},{"level":3,"text":"Features","anchor":"features-24","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-50","htmlText":"Fixes"},{"level":1,"text":"1.5.1 - 2018-01-24","anchor":"151---2018-01-24","htmlText":"1.5.1 - 2018-01-24"},{"level":3,"text":"Fixes","anchor":"fixes-51","htmlText":"Fixes"},{"level":1,"text":"1.5.0 - 2018-01-13","anchor":"150---2018-01-13","htmlText":"1.5.0 - 2018-01-13"},{"level":3,"text":"Features","anchor":"features-25","htmlText":"Features"},{"level":3,"text":"Misc.","anchor":"misc-12","htmlText":"Misc."},{"level":1,"text":"1.4.5 - 2018-01-09","anchor":"145---2018-01-09","htmlText":"1.4.5 - 2018-01-09"},{"level":3,"text":"Fixes","anchor":"fixes-52","htmlText":"Fixes"},{"level":3,"text":"Misc.","anchor":"misc-13","htmlText":"Misc."},{"level":1,"text":"1.4.4 - 2018-01-07","anchor":"144---2018-01-07","htmlText":"1.4.4 - 2018-01-07"},{"level":3,"text":"Fixes","anchor":"fixes-53","htmlText":"Fixes"},{"level":1,"text":"1.4.3 - 2018-01-02","anchor":"143---2018-01-02","htmlText":"1.4.3 - 2018-01-02"},{"level":3,"text":"Fixes","anchor":"fixes-54","htmlText":"Fixes"},{"level":1,"text":"1.4.2 - 2018-01-02","anchor":"142---2018-01-02","htmlText":"1.4.2 - 2018-01-02"},{"level":3,"text":"Fixes","anchor":"fixes-55","htmlText":"Fixes"},{"level":1,"text":"1.4.1 - 2017-11-09","anchor":"141---2017-11-09","htmlText":"1.4.1 - 2017-11-09"},{"level":3,"text":"Fixes","anchor":"fixes-56","htmlText":"Fixes"},{"level":1,"text":"1.4.0 - 2017-11-08","anchor":"140---2017-11-08","htmlText":"1.4.0 - 2017-11-08"},{"level":3,"text":"Features","anchor":"features-26","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-57","htmlText":"Fixes"},{"level":1,"text":"1.3.0 - 2017-10-08","anchor":"130---2017-10-08","htmlText":"1.3.0 - 2017-10-08"},{"level":3,"text":"Features","anchor":"features-27","htmlText":"Features"},{"level":1,"text":"1.2.0 - 2017-10-03","anchor":"120---2017-10-03","htmlText":"1.2.0 - 2017-10-03"},{"level":3,"text":"Features","anchor":"features-28","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-58","htmlText":"Fixes"},{"level":1,"text":"1.1.2 - 2017-09-20","anchor":"112---2017-09-20","htmlText":"1.1.2 - 2017-09-20"},{"level":3,"text":"Fixes","anchor":"fixes-59","htmlText":"Fixes"},{"level":1,"text":"1.1.1 - 2017-09-17","anchor":"111---2017-09-17","htmlText":"1.1.1 - 2017-09-17"},{"level":3,"text":"Features","anchor":"features-29","htmlText":"Features"},{"level":3,"text":"Fixes","anchor":"fixes-60","htmlText":"Fixes"},{"level":1,"text":"1.1.0 - 2017-09-11","anchor":"110---2017-09-11","htmlText":"1.1.0 - 2017-09-11"},{"level":3,"text":"Features","anchor":"features-30","htmlText":"Features"},{"level":1,"text":"1.0.1 - 2017-09-07","anchor":"101---2017-09-07","htmlText":"1.0.1 - 2017-09-07"},{"level":3,"text":"Fixes","anchor":"fixes-61","htmlText":"Fixes"},{"level":1,"text":"1.0.0 - 2017-09-07","anchor":"100---2017-09-07","htmlText":"1.0.0 - 2017-09-07"},{"level":3,"text":"Features","anchor":"features-31","htmlText":"Features"},{"level":3,"text":"Updating","anchor":"updating-4","htmlText":"Updating"},{"level":1,"text":"0.18.3 - 2017-09-06","anchor":"0183---2017-09-06","htmlText":"0.18.3 - 2017-09-06"},{"level":1,"text":"0.18.2 - 2017-09-05","anchor":"0182---2017-09-05","htmlText":"0.18.2 - 2017-09-05"},{"level":1,"text":"0.18.1 - 2017-09-04","anchor":"0181---2017-09-04","htmlText":"0.18.1 - 2017-09-04"},{"level":1,"text":"0.18.0 - 2017-09-02","anchor":"0180---2017-09-02","htmlText":"0.18.0 - 2017-09-02"},{"level":1,"text":"0.17.0 - 2017-08-24","anchor":"0170---2017-08-24","htmlText":"0.17.0 - 2017-08-24"},{"level":1,"text":"0.16.3 - 2017-08-10","anchor":"0163---2017-08-10","htmlText":"0.16.3 - 2017-08-10"},{"level":1,"text":"0.16.2 - 2017-08-06","anchor":"0162---2017-08-06","htmlText":"0.16.2 - 2017-08-06"},{"level":1,"text":"0.16.1 - 2017-08-04","anchor":"0161---2017-08-04","htmlText":"0.16.1 - 2017-08-04"},{"level":1,"text":"0.16.0 - 2017-08-01","anchor":"0160---2017-08-01","htmlText":"0.16.0 - 2017-08-01"},{"level":1,"text":"0.15.4 - 2017-07-23","anchor":"0154---2017-07-23","htmlText":"0.15.4 - 2017-07-23"},{"level":1,"text":"0.15.3 - 2017-07-20","anchor":"0153---2017-07-20","htmlText":"0.15.3 - 2017-07-20"},{"level":1,"text":"0.15.2 - 2017-07-09","anchor":"0152---2017-07-09","htmlText":"0.15.2 - 2017-07-09"},{"level":1,"text":"0.15.1 - 2017-07-09","anchor":"0151---2017-07-09","htmlText":"0.15.1 - 2017-07-09"},{"level":1,"text":"0.15.0 - 2017-07-02","anchor":"0150---2017-07-02","htmlText":"0.15.0 - 2017-07-02"},{"level":1,"text":"0.14.3 - 2017-06-28","anchor":"0143---2017-06-28","htmlText":"0.14.3 - 2017-06-28"},{"level":1,"text":"0.14.2 - 2017-06-09","anchor":"0142---2017-06-09","htmlText":"0.14.2 - 2017-06-09"},{"level":1,"text":"0.14.1 - 2017-06-02","anchor":"0141---2017-06-02","htmlText":"0.14.1 - 2017-06-02"},{"level":1,"text":"0.14.0 - 2017-05-16","anchor":"0140---2017-05-16","htmlText":"0.14.0 - 2017-05-16"},{"level":1,"text":"0.13.6 - 2017-03-27","anchor":"0136---2017-03-27","htmlText":"0.13.6 - 2017-03-27"},{"level":1,"text":"0.13.5 - 2017-03-26","anchor":"0135---2017-03-26","htmlText":"0.13.5 - 2017-03-26"},{"level":1,"text":"0.13.4 - 2017-03-26","anchor":"0134---2017-03-26","htmlText":"0.13.4 - 2017-03-26"},{"level":1,"text":"0.13.3 - 2017-02-23","anchor":"0133---2017-02-23","htmlText":"0.13.3 - 2017-02-23"},{"level":1,"text":"0.13.2 - 2017-02-17","anchor":"0132---2017-02-17","htmlText":"0.13.2 - 2017-02-17"},{"level":1,"text":"0.13.1 - 2017-02-16","anchor":"0131---2017-02-16","htmlText":"0.13.1 - 2017-02-16"},{"level":1,"text":"0.13.0 - 2017-02-16","anchor":"0130---2017-02-16","htmlText":"0.13.0 - 2017-02-16"},{"level":1,"text":"0.12.2 - 2017-01-27","anchor":"0122---2017-01-27","htmlText":"0.12.2 - 2017-01-27"},{"level":1,"text":"0.12.1 - 2017-01-25","anchor":"0121---2017-01-25","htmlText":"0.12.1 - 2017-01-25"},{"level":1,"text":"0.12.0 - 2017-01-24","anchor":"0120---2017-01-24","htmlText":"0.12.0 - 2017-01-24"},{"level":1,"text":"0.11.0 - 2017-01-20","anchor":"0110---2017-01-20","htmlText":"0.11.0 - 2017-01-20"},{"level":1,"text":"0.10.1 - 2017-01-05","anchor":"0101---2017-01-05","htmlText":"0.10.1 - 2017-01-05"},{"level":1,"text":"0.10.0 - 2017-01-04","anchor":"0100---2017-01-04","htmlText":"0.10.0 - 2017-01-04"},{"level":1,"text":"0.9.4 - 2016-12-05","anchor":"094---2016-12-05","htmlText":"0.9.4 - 2016-12-05"},{"level":1,"text":"0.9.3 - 2016-11-07","anchor":"093---2016-11-07","htmlText":"0.9.3 - 2016-11-07"},{"level":1,"text":"0.9.2 - 2016-10-25","anchor":"092---2016-10-25","htmlText":"0.9.2 - 2016-10-25"},{"level":1,"text":"0.9.1 - 2016-09-10","anchor":"091---2016-09-10","htmlText":"0.9.1 - 2016-09-10"},{"level":1,"text":"0.9.0 - 2016-08-31","anchor":"090---2016-08-31","htmlText":"0.9.0 - 2016-08-31"},{"level":1,"text":"0.8.2 - 2016-05-20","anchor":"082---2016-05-20","htmlText":"0.8.2 - 2016-05-20"},{"level":1,"text":"0.8.1 - 2016-05-17","anchor":"081---2016-05-17","htmlText":"0.8.1 - 2016-05-17"},{"level":1,"text":"0.8.0 - 2016-04-11","anchor":"080---2016-04-11","htmlText":"0.8.0 - 2016-04-11"},{"level":1,"text":"0.7.6 - 2016-01-19","anchor":"076---2016-01-19","htmlText":"0.7.6 - 2016-01-19"},{"level":1,"text":"0.7.5 - 2016-01-15","anchor":"075---2016-01-15","htmlText":"0.7.5 - 2016-01-15"},{"level":1,"text":"0.7.4 - 2016-01-12","anchor":"074---2016-01-12","htmlText":"0.7.4 - 2016-01-12"},{"level":1,"text":"0.7.3 - 2015-12-22","anchor":"073---2015-12-22","htmlText":"0.7.3 - 2015-12-22"},{"level":1,"text":"0.7.2 - 2015-12-22","anchor":"072---2015-12-22","htmlText":"0.7.2 - 2015-12-22"},{"level":1,"text":"0.7.1 - 2015-12-19","anchor":"071---2015-12-19","htmlText":"0.7.1 - 2015-12-19"},{"level":1,"text":"0.7.0 - 2015-12-13","anchor":"070---2015-12-13","htmlText":"0.7.0 - 2015-12-13"},{"level":1,"text":"0.6.8 - 2015-12-07","anchor":"068---2015-12-07","htmlText":"0.6.8 - 2015-12-07"},{"level":1,"text":"0.6.7 - 2015-12-02","anchor":"067---2015-12-02","htmlText":"0.6.7 - 2015-12-02"},{"level":1,"text":"0.6.6 - 2015-11-25","anchor":"066---2015-11-25","htmlText":"0.6.6 - 2015-11-25"},{"level":1,"text":"0.6.5 - 2015-11-19","anchor":"065---2015-11-19","htmlText":"0.6.5 - 2015-11-19"},{"level":1,"text":"0.6.4 - 2015-11-13","anchor":"064---2015-11-13","htmlText":"0.6.4 - 2015-11-13"},{"level":1,"text":"0.6.3 - 2015-11-12","anchor":"063---2015-11-12","htmlText":"0.6.3 - 2015-11-12"},{"level":1,"text":"0.6.2 - 2015-10-14","anchor":"062---2015-10-14","htmlText":"0.6.2 - 2015-10-14"},{"level":1,"text":"0.6.1 - 2015-10-08","anchor":"061---2015-10-08","htmlText":"0.6.1 - 2015-10-08"},{"level":1,"text":"0.6.0 - 2015-10-05","anchor":"060---2015-10-05","htmlText":"0.6.0 - 2015-10-05"},{"level":1,"text":"0.5.5 - 2015-09-04","anchor":"055---2015-09-04","htmlText":"0.5.5 - 2015-09-04"},{"level":1,"text":"0.5.4 - 2015-07-24","anchor":"054---2015-07-24","htmlText":"0.5.4 - 2015-07-24"},{"level":1,"text":"0.5.3 - 2015-06-15","anchor":"053---2015-06-15","htmlText":"0.5.3 - 2015-06-15"},{"level":1,"text":"0.5.2 - 2015-06-02","anchor":"052---2015-06-02","htmlText":"0.5.2 - 2015-06-02"},{"level":1,"text":"0.5.1 - 2015-05-23","anchor":"051---2015-05-23","htmlText":"0.5.1 - 2015-05-23"},{"level":1,"text":"0.5.0 - 2015-05-19","anchor":"050---2015-05-19","htmlText":"0.5.0 - 2015-05-19"},{"level":1,"text":"0.4.4 - 2015-03-29","anchor":"044---2015-03-29","htmlText":"0.4.4 - 2015-03-29"},{"level":1,"text":"0.4.3 - 2015-03-25","anchor":"043---2015-03-25","htmlText":"0.4.3 - 2015-03-25"},{"level":1,"text":"0.4.2 - 2015-02-27","anchor":"042---2015-02-27","htmlText":"0.4.2 - 2015-02-27"},{"level":1,"text":"0.4.1 - 2015-02-27","anchor":"041---2015-02-27","htmlText":"0.4.1 - 2015-02-27"},{"level":1,"text":"0.4.0 - 2015-02-27","anchor":"040---2015-02-27","htmlText":"0.4.0 - 2015-02-27"},{"level":1,"text":"0.3.6 - 2015-02-05","anchor":"036---2015-02-05","htmlText":"0.3.6 - 2015-02-05"},{"level":1,"text":"0.3.5 - 2015-01-15","anchor":"035---2015-01-15","htmlText":"0.3.5 - 2015-01-15"},{"level":1,"text":"0.3.4 - 2015-01-13","anchor":"034---2015-01-13","htmlText":"0.3.4 - 2015-01-13"},{"level":1,"text":"0.3.3 - 2015-01-06","anchor":"033---2015-01-06","htmlText":"0.3.3 - 2015-01-06"},{"level":1,"text":"0.3.2 - 2014-10-07","anchor":"032---2014-10-07","htmlText":"0.3.2 - 2014-10-07"},{"level":1,"text":"0.3.1 - 2014-10-03","anchor":"031---2014-10-03","htmlText":"0.3.1 - 2014-10-03"},{"level":1,"text":"0.3.0 - 2014-09-18","anchor":"030---2014-09-18","htmlText":"0.3.0 - 2014-09-18"},{"level":1,"text":"0.2.11 - 2014-09-05","anchor":"0211---2014-09-05","htmlText":"0.2.11 - 2014-09-05"},{"level":1,"text":"0.2.10 - 2014-09-04","anchor":"0210---2014-09-04","htmlText":"0.2.10 - 2014-09-04"},{"level":1,"text":"0.2.9 - 2014-09-02","anchor":"029---2014-09-02","htmlText":"0.2.9 - 2014-09-02"},{"level":1,"text":"0.2.8 - 2014-08-13","anchor":"028---2014-08-13","htmlText":"0.2.8 - 2014-08-13"},{"level":1,"text":"0.2.7 - 2014-07-28","anchor":"027---2014-07-28","htmlText":"0.2.7 - 2014-07-28"},{"level":1,"text":"0.2.6 - 2014-07-28","anchor":"026---2014-07-28","htmlText":"0.2.6 - 2014-07-28"},{"level":1,"text":"0.2.5 - 2014-07-17","anchor":"025---2014-07-17","htmlText":"0.2.5 - 2014-07-17"},{"level":1,"text":"0.2.4 - 2014-07-07","anchor":"024---2014-07-07","htmlText":"0.2.4 - 2014-07-07"},{"level":1,"text":"0.2.3 - 2014-06-25","anchor":"023---2014-06-25","htmlText":"0.2.3 - 2014-06-25"},{"level":1,"text":"0.2.2 - 2014-06-22","anchor":"022---2014-06-22","htmlText":"0.2.2 - 2014-06-22"},{"level":1,"text":"0.2.1 - 2014-06-18","anchor":"021---2014-06-18","htmlText":"0.2.1 - 2014-06-18"},{"level":1,"text":"0.2.0 - 2014-06-17","anchor":"020---2014-06-17","htmlText":"0.2.0 - 2014-06-17"},{"level":1,"text":"0.1.1 - 2014-06-11","anchor":"011---2014-06-11","htmlText":"0.1.1 - 2014-06-11"},{"level":1,"text":"0.1.0 - 2014-06-07","anchor":"010---2014-06-07","htmlText":"0.1.0 - 2014-06-07"}]},"issueTemplate":null,"discussionTemplate":null,"richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2.9.2 - 2020-11-25\u003c/h1\u003e\u003ca id=\"user-content-292---2020-11-25\" class=\"anchor\" aria-label=\"Permalink: 2.9.2 - 2020-11-25\" href=\"#292---2020-11-25\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix default value for \u003ccode\u003etypes_or\u003c/code\u003e so \u003ccode\u003esymlink\u003c/code\u003e and \u003ccode\u003edirectory\u003c/code\u003e can be matched\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1716 PR by @asottile.\u003c/li\u003e\n\u003cli\u003eissue by code_bleu in \u003ca href=\"https://twitch.tv/anthonywritescode\" rel=\"nofollow\"\u003etwitch chat\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2.9.1 - 2020-11-25\u003c/h1\u003e\u003ca id=\"user-content-291---2020-11-25\" class=\"anchor\" aria-label=\"Permalink: 2.9.1 - 2020-11-25\" href=\"#291---2020-11-25\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-1\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-1\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove error message for \"hook goes missing\"\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1709 PR by @paulhfischer.\u003c/li\u003e\n\u003cli\u003e#1708 issue by @theod07.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd warning for \u003ccode\u003e/*\u003c/code\u003e in \u003ccode\u003efiles\u003c/code\u003e / \u003ccode\u003eexclude\u003c/code\u003e regexes\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1707 PR by @paulhfischer.\u003c/li\u003e\n\u003cli\u003e#1702 issue by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ehealthy()\u003c/code\u003e check for \u003ccode\u003elanguage: python\u003c/code\u003e on windows when the base\nexecutable has non-ascii characters.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1713 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1711 issue by @Najiva.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2.9.0 - 2020-11-21\u003c/h1\u003e\u003ca id=\"user-content-290---2020-11-21\" class=\"anchor\" aria-label=\"Permalink: 2.9.0 - 2020-11-21\" href=\"#290---2020-11-21\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003etypes_or\u003c/code\u003e which allows matching multiple disparate \u003ccode\u003etypes\u003c/code\u003e in a hook\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1677 by @MarcoGorelli.\u003c/li\u003e\n\u003cli\u003e#607 by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd Github Sponsors / Open Collective links\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sponsors/asottile\"\u003ehttps://github.com/sponsors/asottile\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://opencollective.com/pre-commit\" rel=\"nofollow\"\u003ehttps://opencollective.com/pre-commit\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-2\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-2\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove cleanup for \u003ccode\u003elanguage: dotnet\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1678 by @rkm.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix \"xargs\" when running windows batch files\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1686 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1604 issue by @apietrzak.\u003c/li\u003e\n\u003cli\u003e#1604 issue by @ufwtlsb.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix conflict with external \u003ccode\u003erbenv\u003c/code\u003e and \u003ccode\u003elanguage_version: default\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1700 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1699 issue by @abuxton.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImprove performance of \u003ccode\u003egit status\u003c/code\u003e / \u003ccode\u003egit diff\u003c/code\u003e commands by ignoring\nsubmodules\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1704 PR by @Vynce.\u003c/li\u003e\n\u003cli\u003e#1701 issue by @Vynce.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2.8.2 - 2020-10-30\u003c/h1\u003e\u003ca id=\"user-content-282---2020-10-30\" class=\"anchor\" aria-label=\"Permalink: 2.8.2 - 2020-10-30\" href=\"#282---2020-10-30\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-3\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-3\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix installation of ruby hooks with \u003ccode\u003elanguage_version: default\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1671 issue by @aerickson.\u003c/li\u003e\n\u003cli\u003e#1672 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2.8.1 - 2020-10-28\u003c/h1\u003e\u003ca id=\"user-content-281---2020-10-28\" class=\"anchor\" aria-label=\"Permalink: 2.8.1 - 2020-10-28\" href=\"#281---2020-10-28\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-4\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-4\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAllow default \u003ccode\u003elanguage_version\u003c/code\u003e of \u003ccode\u003esystem\u003c/code\u003e when the homedir is \u003ccode\u003e/\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1669 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2.8.0 - 2020-10-28\u003c/h1\u003e\u003ca id=\"user-content-280---2020-10-28\" class=\"anchor\" aria-label=\"Permalink: 2.8.0 - 2020-10-28\" href=\"#280---2020-10-28\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-1\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-1\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUpdate \u003ccode\u003erbenv\u003c/code\u003e / \u003ccode\u003eruby-build\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1612 issue by @tdeo.\u003c/li\u003e\n\u003cli\u003e#1614 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003esample-config\u003c/code\u003e versions\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1611 PR by @mcsitter.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd new language: \u003ccode\u003edotnet\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1598 by @rkm.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--negate\u003c/code\u003e option to \u003ccode\u003elanguage: pygrep\u003c/code\u003e hooks\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1643 PR by @MarcoGorelli.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd zipapp support\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1616 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRun pre-commit through \u003ca href=\"https://pre-commit.ci\" rel=\"nofollow\"\u003ehttps://pre-commit.ci\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1662 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd new language: \u003ccode\u003ecoursier\u003c/code\u003e (a jvm-based package manager)\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1633 PR by @JosephMoniz.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExit with distinct codes: 1 (user error), 3 (unexpected error), 130 (^C)\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1601 PR by @int3l.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-5\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-5\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove \u003ccode\u003ehealthy()\u003c/code\u003e check for \u003ccode\u003elanguage: node\u003c/code\u003e + \u003ccode\u003elanguage_version: system\u003c/code\u003e\nhooks when the system executable goes missing.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca class=\"issue-link js-issue-link\" data-error-text=\"Failed to load title\" data-id=\"695032355\" data-permission-text=\"Title is private\" data-url=\"https://github.com/pre-commit/action/issues/45\" data-hovercard-type=\"issue\" data-hovercard-url=\"/pre-commit/action/issues/45/hovercard\" href=\"https://github.com/pre-commit/action/issues/45\"\u003epre-commit/action#45\u003c/a\u003e issue by @KOliver94.\u003c/li\u003e\n\u003cli\u003e#1589 issue by @asottile.\u003c/li\u003e\n\u003cli\u003e#1590 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix excess whitespace in error log traceback\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1592 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix posixlike shebang invocations with shim executables of the git hook\nscript on windows.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1593 issue by @Celeborn2BeAlive.\u003c/li\u003e\n\u003cli\u003e#1595 PR by @Celeborn2BeAlive.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemove hard-coded \u003ccode\u003eC:\\PythonXX\\python.exe\u003c/code\u003e path on windows as it caused\nconfusion (and \u003ccode\u003evirtualenv\u003c/code\u003e can sometimes do better)\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1599 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: ruby\u003c/code\u003e hooks when \u003ccode\u003e--format-executable\u003c/code\u003e is present in a gemrc\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eissue by \u003ccode\u003eRainbow Tux\u003c/code\u003e (discord).\u003c/li\u003e\n\u003cli\u003e#1603 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eMove \u003ccode\u003ecygwin\u003c/code\u003e / \u003ccode\u003ewin32\u003c/code\u003e mismatch error earlier to catch msys2 mismatches\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1605 issue by @danyeaw.\u003c/li\u003e\n\u003cli\u003e#1606 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e-p\u003c/code\u003e workaround for old \u003ccode\u003evirtualenv\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1617 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: node\u003c/code\u003e installations to not symlink outside of the environment\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca class=\"issue-link js-issue-link\" data-error-text=\"Failed to load title\" data-id=\"729984261\" data-permission-text=\"Title is private\" data-url=\"https://github.com/pre-commit-ci/issues/issues/2\" data-hovercard-type=\"issue\" data-hovercard-url=\"/pre-commit-ci/issues/issues/2/hovercard\" href=\"https://github.com/pre-commit-ci/issues/issues/2\"\u003epre-commit-ci/issues#2\u003c/a\u003e issue by @DanielJSottile.\u003c/li\u003e\n\u003cli\u003e#1667 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDon't identify shim executables as valid \u003ccode\u003esystem\u003c/code\u003e for defaulting\n\u003ccode\u003elanguage_version\u003c/code\u003e for \u003ccode\u003elanguage: node\u003c/code\u003e / \u003ccode\u003elanguage: ruby\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1658 issue by @adithyabsk.\u003c/li\u003e\n\u003cli\u003e#1668 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2.7.1 - 2020-08-23\u003c/h1\u003e\u003ca id=\"user-content-271---2020-08-23\" class=\"anchor\" aria-label=\"Permalink: 2.7.1 - 2020-08-23\" href=\"#271---2020-08-23\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-6\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-6\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove performance of docker hooks by removing slow \u003ccode\u003eps\u003c/code\u003e call\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1572 PR by @rkm.\u003c/li\u003e\n\u003cli\u003e#1569 issue by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix un-\u003ccode\u003ehealthy()\u003c/code\u003e invalidation followed by install being reported as\nun-\u003ccode\u003ehealthy()\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1576 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1575 issue by @jab.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix rare file race condition on windows with \u003ccode\u003eos.replace()\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1577 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2.7.0 - 2020-08-22\u003c/h1\u003e\u003ca id=\"user-content-270---2020-08-22\" class=\"anchor\" aria-label=\"Permalink: 2.7.0 - 2020-08-22\" href=\"#270---2020-08-22\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-2\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-2\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eProduce error message if an environment is immediately unhealthy\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1535 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd --no-allow-missing-config option to init-templatedir\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1539 PR by @singergr.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd warning for old list-style configuration\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1544 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAllow pre-commit to succeed on a readonly store.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1570 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1536 issue by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-7\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-7\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix error messaging when the store directory is readonly\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1546 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1536 issue by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003ediff\u003c/code\u003e performance with many hooks\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1566 PR by @jhenkens.\u003c/li\u003e\n\u003cli\u003e#1564 issue by @jhenkens.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2.6.0 - 2020-07-01\u003c/h1\u003e\u003ca id=\"user-content-260---2020-07-01\" class=\"anchor\" aria-label=\"Permalink: 2.6.0 - 2020-07-01\" href=\"#260---2020-07-01\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-8\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-8\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix node hooks when \u003ccode\u003eNPM_CONFIG_USERCONFIG\u003c/code\u003e is set\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1521 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1516 issue by @rkm.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-3\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-3\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSkip \u003ccode\u003erbenv\u003c/code\u003e / \u003ccode\u003eruby-download\u003c/code\u003e if system ruby is available\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1509 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ePartial support for ruby on windows (if system ruby is installed)\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1509 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#201 issue by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2.5.1 - 2020-06-09\u003c/h1\u003e\u003ca id=\"user-content-251---2020-06-09\" class=\"anchor\" aria-label=\"Permalink: 2.5.1 - 2020-06-09\" href=\"#251---2020-06-09\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-9\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-9\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ePrevent infinite recursion of post-checkout on clone\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1497 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1496 issue by @admorgan.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2.5.0 - 2020-06-08\u003c/h1\u003e\u003ca id=\"user-content-250---2020-06-08\" class=\"anchor\" aria-label=\"Permalink: 2.5.0 - 2020-06-08\" href=\"#250---2020-06-08\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-4\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-4\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eExpose a \u003ccode\u003ePRE_COMMIT=1\u003c/code\u003e environment variable when running hooks\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1467 PR by @tech-chad.\u003c/li\u003e\n\u003cli\u003e#1426 issue by @lorenzwalthert.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-10\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-10\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003eUnicodeDecodeError\u003c/code\u003e on windows when using the \u003ccode\u003epy\u003c/code\u003e launcher to detect\nexecutables with non-ascii characters in the path\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1474 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1472 issue by DrFobos.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eDeprecationWarning\u003c/code\u003e on python3.9 for \u003ccode\u003erandom.shuffle\u003c/code\u003e method\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1480 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1479 issue by @isidentical.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNormalize slashes earlier such that global \u003ccode\u003efiles\u003c/code\u003e / \u003ccode\u003eexclude\u003c/code\u003e use forward\nslashes on windows as well.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1494 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1476 issue by @harrybiddle.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2.4.0 - 2020-05-11\u003c/h1\u003e\u003ca id=\"user-content-240---2020-05-11\" class=\"anchor\" aria-label=\"Permalink: 2.4.0 - 2020-05-11\" href=\"#240---2020-05-11\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-5\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-5\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd support for \u003ccode\u003epost-commit\u003c/code\u003e hooks\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1415 PR by @ModischFabrications.\u003c/li\u003e\n\u003cli\u003e#1411 issue by @ModischFabrications.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSilence pip version warning in python installation error\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1412 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImprove python \u003ccode\u003ehealthy()\u003c/code\u003e when upgrading operating systems.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1431 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1427 issue by @ahonnecke.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: python_venv\u003c/code\u003e is now an alias to \u003ccode\u003elanguage: python\u003c/code\u003e (and will be\nremoved in a future version).\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1431 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSpeed up python \u003ccode\u003ehealthy()\u003c/code\u003e check.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1431 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epre-commit autoupdate\u003c/code\u003e now tries to maintain quoting style of \u003ccode\u003erev\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1435 PR by @marcjay.\u003c/li\u003e\n\u003cli\u003e#1434 issue by @marcjay.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-11\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-11\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix installation of go modules in \u003ccode\u003erepo: local\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1428 PR by @scop.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix committing with unstaged files and a failing \u003ccode\u003epost-checkout\u003c/code\u003e hook.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1422 PR by @domodwyer.\u003c/li\u003e\n\u003cli\u003e#1418 issue by @domodwyer.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix installation of node hooks with system node installed on freebsd.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1443 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1440 issue by @jockej.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix ruby hooks when \u003ccode\u003eGEM_PATH\u003c/code\u003e is set globally.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1442 PR by @tdeo.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImprove error message when \u003ccode\u003epre-commit autoupdate\u003c/code\u003e /\n\u003ccode\u003epre-commit migrate-config\u003c/code\u003e are run but the pre-commit configuration is not\nvalid yaml.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1448 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1447 issue by @rpdelaney.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2.3.0 - 2020-04-22\u003c/h1\u003e\u003ca id=\"user-content-230---2020-04-22\" class=\"anchor\" aria-label=\"Permalink: 2.3.0 - 2020-04-22\" href=\"#230---2020-04-22\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-6\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-6\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCalculate character width using \u003ccode\u003eeast_asian_width\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1378 PR by @sophgn.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003elanguage_version: system\u003c/code\u003e by default for \u003ccode\u003enode\u003c/code\u003e hooks if \u003ccode\u003enode\u003c/code\u003e / \u003ccode\u003enpm\u003c/code\u003e\nare globally installed.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1388 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-12\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-12\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eNo longer use a hard-coded user id for docker hooks on windows\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1371 PR by @killuazhu.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix colors on windows during \u003ccode\u003egit commit\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1381 issue by @Cielquan.\u003c/li\u003e\n\u003cli\u003e#1382 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eProduce readable error message for incorrect argument count to \u003ccode\u003ehook-impl\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1394 issue by @pip9ball.\u003c/li\u003e\n\u003cli\u003e#1395 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix installations which involve an upgrade of \u003ccode\u003epip\u003c/code\u003e on windows\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1398 issue by @xiaohuazi123.\u003c/li\u003e\n\u003cli\u003e#1399 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ePreserve line endings in \u003ccode\u003epre-commit autoupdate\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1402 PR by @utek.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2.2.0 - 2020-03-12\u003c/h1\u003e\u003ca id=\"user-content-220---2020-03-12\" class=\"anchor\" aria-label=\"Permalink: 2.2.0 - 2020-03-12\" href=\"#220---2020-03-12\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-7\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-7\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003epost-checkout\u003c/code\u003e hook\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1120 issue by @domenkozar.\u003c/li\u003e\n\u003cli\u003e#1339 PR by @andrewhare.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd more readable \u003ccode\u003e--from-ref\u003c/code\u003e / \u003ccode\u003e--to-ref\u003c/code\u003e aliases for \u003ccode\u003e--source\u003c/code\u003e /\n\u003ccode\u003e--origin\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1343 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-13\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-13\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eMake sure that \u003ccode\u003e--commit-msg-filename\u003c/code\u003e is passed for \u003ccode\u003ecommit-msg\u003c/code\u003e /\n\u003ccode\u003eprepare-commit-msg\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1336 PR by @particledecay.\u003c/li\u003e\n\u003cli\u003e#1341 PR by @particledecay.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix crash when installation error is un-decodable bytes\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1358 issue by @Guts.\u003c/li\u003e\n\u003cli\u003e#1359 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix python \u003ccode\u003ehealthy()\u003c/code\u003e check when \u003ccode\u003epython\u003c/code\u003e executable goes missing.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1363 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix crash when script executables are missing shebangs.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1350 issue by @chriselion.\u003c/li\u003e\n\u003cli\u003e#1364 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMisc.\u003c/h3\u003e\u003ca id=\"user-content-misc\" class=\"anchor\" aria-label=\"Permalink: Misc.\" href=\"#misc\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003epre-commit now requires python\u0026gt;=3.6.1 (previously 3.6.0)\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1346 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2.1.1 - 2020-02-24\u003c/h1\u003e\u003ca id=\"user-content-211---2020-02-24\" class=\"anchor\" aria-label=\"Permalink: 2.1.1 - 2020-02-24\" href=\"#211---2020-02-24\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-14\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-14\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eTemporarily restore python 3.6.0 support (broken in 2.0.0)\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ereported by @obestwalter.\u003c/li\u003e\n\u003cli\u003e081f3028 by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2.1.0 - 2020-02-18\u003c/h1\u003e\u003ca id=\"user-content-210---2020-02-18\" class=\"anchor\" aria-label=\"Permalink: 2.1.0 - 2020-02-18\" href=\"#210---2020-02-18\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-8\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-8\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eReplace \u003ccode\u003easpy.yaml\u003c/code\u003e with \u003ccode\u003esort_keys=False\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1306 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eperl\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1303 PR by @scop.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-15\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-15\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove \u003ccode\u003e.git/hooks/*\u003c/code\u003e shebang creation when pythons are in \u003ccode\u003e/usr/local/bin\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1312 issue by @kbsezginel.\u003c/li\u003e\n\u003cli\u003e#1319 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMisc.\u003c/h3\u003e\u003ca id=\"user-content-misc-1\" class=\"anchor\" aria-label=\"Permalink: Misc.\" href=\"#misc-1\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd repository badge for pre-commit.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9b46a404a478a8f690c0f1e4450b6d22bafb14b5d0a237d9626fe889da71a710/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7072652d2d636f6d6d69742d656e61626c65642d627269676874677265656e3f6c6f676f3d7072652d636f6d6d6974266c6f676f436f6c6f723d7768697465\" alt=\"pre-commit\" data-canonical-src=\"https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026amp;logoColor=white\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e#1334 PR by @ddelange.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2.0.1 - 2020-01-29\u003c/h1\u003e\u003ca id=\"user-content-201---2020-01-29\" class=\"anchor\" aria-label=\"Permalink: 2.0.1 - 2020-01-29\" href=\"#201---2020-01-29\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-16\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-16\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003eImportError\u003c/code\u003e in python 3.6.0 / 3.6.1 for \u003ccode\u003etyping.NoReturn\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1302 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2.0.0 - 2020-01-28\u003c/h1\u003e\u003ca id=\"user-content-200---2020-01-28\" class=\"anchor\" aria-label=\"Permalink: 2.0.0 - 2020-01-28\" href=\"#200---2020-01-28\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-9\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-9\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eExpose \u003ccode\u003ePRE_COMMIT_REMOTE_NAME\u003c/code\u003e and \u003ccode\u003ePRE_COMMIT_REMOTE_URL\u003c/code\u003e as environment\nvariables during \u003ccode\u003epre-push\u003c/code\u003e hooks.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1274 issue by @dmbarreiro.\u003c/li\u003e\n\u003cli\u003e#1288 PR by @dmbarreiro.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-17\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-17\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003epython -m pre_commit --version\u003c/code\u003e to mention \u003ccode\u003epre-commit\u003c/code\u003e instead of\n\u003ccode\u003e__main__.py\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1273 issue by @ssbarnea.\u003c/li\u003e\n\u003cli\u003e#1276 PR by @orcutt989.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDon't filter \u003ccode\u003eGIT_SSL_NO_VERIFY\u003c/code\u003e from environment when cloning.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1293 PR by @schiermike.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003epre-commit init-templatedir\u003c/code\u003e to succeed even if \u003ccode\u003ecore.hooksPath\u003c/code\u003e is\nset.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1298 issue by @damienrj.\u003c/li\u003e\n\u003cli\u003e#1299 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMisc\u003c/h3\u003e\u003ca id=\"user-content-misc-2\" class=\"anchor\" aria-label=\"Permalink: Misc\" href=\"#misc-2\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix changelog date for 1.21.0.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1275 PR by @flaudisio.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eUpdating\u003c/h3\u003e\u003ca id=\"user-content-updating\" class=\"anchor\" aria-label=\"Permalink: Updating\" href=\"#updating\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemoved \u003ccode\u003epcre\u003c/code\u003e language, use \u003ccode\u003epygrep\u003c/code\u003e instead.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1268 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003e--tags-only\u003c/code\u003e argument to \u003ccode\u003epre-commit autoupdate\u003c/code\u003e (it has done\nnothing since 0.14.0).\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1269 by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemove python2 / python3.5 support.  Note that pre-commit still supports\nrunning hooks written in python2, but pre-commit itself requires python 3.6+.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1260 issue by @asottile.\u003c/li\u003e\n\u003cli\u003e#1277 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1281 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1282 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1287 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1289 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1292 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.21.0 - 2020-01-02\u003c/h1\u003e\u003ca id=\"user-content-1210---2020-01-02\" class=\"anchor\" aria-label=\"Permalink: 1.21.0 - 2020-01-02\" href=\"#1210---2020-01-02\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-10\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-10\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003econda\u003c/code\u003e as a new \u003ccode\u003elanguage\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1204 issue by @xhochy.\u003c/li\u003e\n\u003cli\u003e#1232 PR by @xhochy.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd top-level configuration \u003ccode\u003efiles\u003c/code\u003e for file selection.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1220 issue by @TheButlah.\u003c/li\u003e\n\u003cli\u003e#1248 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRework \u003ccode\u003e--verbose\u003c/code\u003e / \u003ccode\u003everbose\u003c/code\u003e to be more consistent with normal runs.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1249 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003epre-merge-commit\u003c/code\u003e git hook.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1210 PR by @asottile.\u003c/li\u003e\n\u003cli\u003ethis requires git 2.24+.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit autoupdate --freeze\u003c/code\u003e which produces \"frozen\" revisions.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1068 issue by @SkypLabs.\u003c/li\u003e\n\u003cli\u003e#1256 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDisplay hook runtime duration when run with \u003ccode\u003e--verbose\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1144 issue by @potiuk.\u003c/li\u003e\n\u003cli\u003e#1257 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-18\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-18\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eProduce better error message when erroneously running inside of \u003ccode\u003e.git\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1219 issue by @Nusserdt.\u003c/li\u003e\n\u003cli\u003e#1224 PR by @asottile.\u003c/li\u003e\n\u003cli\u003eNote: \u003ccode\u003egit\u003c/code\u003e has since fixed this bug: git/git@36fd304d\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eProduce better error message when hook installation fails.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1250 issue by @asottile.\u003c/li\u003e\n\u003cli\u003e#1251 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix cloning when \u003ccode\u003eGIT_SSL_CAINFO\u003c/code\u003e is necessary.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1253 issue by @igankevich.\u003c/li\u003e\n\u003cli\u003e#1254 PR by @igankevich.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003epre-commit try-repo\u003c/code\u003e for bare, on-disk repositories.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1258 issue by @webknjaz.\u003c/li\u003e\n\u003cli\u003e#1259 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd some whitespace to \u003ccode\u003epre-commit autoupdate\u003c/code\u003e to improve terminal autolink.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1261 issue by @yhoiseth.\u003c/li\u003e\n\u003cli\u003e#1262 PR by @yhoiseth.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMisc.\u003c/h3\u003e\u003ca id=\"user-content-misc-3\" class=\"anchor\" aria-label=\"Permalink: Misc.\" href=\"#misc-3\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eMinor code documentation updates.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1200 PR by @ryanrhee.\u003c/li\u003e\n\u003cli\u003e#1201 PR by @ryanrhee.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.20.0 - 2019-10-28\u003c/h1\u003e\u003ca id=\"user-content-1200---2019-10-28\" class=\"anchor\" aria-label=\"Permalink: 1.20.0 - 2019-10-28\" href=\"#1200---2019-10-28\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-11\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-11\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAllow building newer versions of \u003ccode\u003eruby\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1193 issue by @choffee.\u003c/li\u003e\n\u003cli\u003e#1195 PR by @choffee.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump versions reported in \u003ccode\u003epre-commit sample-config\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1197 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-19\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-19\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix rare race condition with multiple concurrent first-time runs.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1192 issue by @raholler.\u003c/li\u003e\n\u003cli\u003e#1196 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.19.0 - 2019-10-26\u003c/h1\u003e\u003ca id=\"user-content-1190---2019-10-26\" class=\"anchor\" aria-label=\"Permalink: 1.19.0 - 2019-10-26\" href=\"#1190---2019-10-26\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-12\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-12\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAllow \u003ccode\u003e--hook-type\u003c/code\u003e to be specified multiple times.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eexample: \u003ccode\u003epre-commit install --hook-type pre-commit --hook-type pre-push\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e#1139 issue by @MaxymVlasov.\u003c/li\u003e\n\u003cli\u003e#1145 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eInclude more version information in crash logs.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1142 by @marqueewinq.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHook colors are now passed through on platforms which support \u003ccode\u003epty\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1169 by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003epre-commit now  uses \u003ccode\u003eimportlib.metadata\u003c/code\u003e directly when running in python 3.8\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1176 by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNormalize paths to forward slash separators on windows.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003emakes it easier to match paths with \u003ccode\u003efiles:\u003c/code\u003e regex\u003c/li\u003e\n\u003cli\u003eavoids some quoting bugs in shell-based hooks\u003c/li\u003e\n\u003cli\u003e#1173 issue by @steigenTI.\u003c/li\u003e\n\u003cli\u003e#1179 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-20\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-20\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemove some extra newlines from error messages.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1148 by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eWhen a hook is not executable it now reports \u003ccode\u003enot executable\u003c/code\u003e instead of\n\u003ccode\u003enot found\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1159 issue by @nixjdm.\u003c/li\u003e\n\u003cli\u003e#1161 PR by @WillKoehrsen.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix interleaving of stdout / stderr in hooks.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1168 by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix python environment \u003ccode\u003ehealthy()\u003c/code\u003e check when current working directory\ncontains modules which shadow standard library names.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eissue by @vwhsu92.\u003c/li\u003e\n\u003cli\u003e#1185 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eUpdating\u003c/h3\u003e\u003ca id=\"user-content-updating-1\" class=\"anchor\" aria-label=\"Permalink: Updating\" href=\"#updating-1\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRegexes handling both backslashes and forward slashes for directory\nseparators now only need to handle forward slashes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.18.3 - 2019-08-27\u003c/h1\u003e\u003ca id=\"user-content-1183---2019-08-27\" class=\"anchor\" aria-label=\"Permalink: 1.18.3 - 2019-08-27\" href=\"#1183---2019-08-27\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-21\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-21\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003enode_modules\u003c/code\u003e plugin installation on windows\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1123 issue by @henryykt.\u003c/li\u003e\n\u003cli\u003e#1122 PR by @henryykt.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.18.2 - 2019-08-15\u003c/h1\u003e\u003ca id=\"user-content-1182---2019-08-15\" class=\"anchor\" aria-label=\"Permalink: 1.18.2 - 2019-08-15\" href=\"#1182---2019-08-15\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-22\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-22\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eMake default python lookup more deterministic to avoid redundant installs\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1117 PR by @scop.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.18.1 - 2019-08-11\u003c/h1\u003e\u003ca id=\"user-content-1181---2019-08-11\" class=\"anchor\" aria-label=\"Permalink: 1.18.1 - 2019-08-11\" href=\"#1181---2019-08-11\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-23\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-23\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix installation of \u003ccode\u003erust\u003c/code\u003e hooks with new \u003ccode\u003ecargo\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1112 issue by @zimbatm.\u003c/li\u003e\n\u003cli\u003e#1113 PR by @zimbatm.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.18.0 - 2019-08-03\u003c/h1\u003e\u003ca id=\"user-content-1180---2019-08-03\" class=\"anchor\" aria-label=\"Permalink: 1.18.0 - 2019-08-03\" href=\"#1180---2019-08-03\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-13\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-13\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUse the current running executable if it matches the requested\n\u003ccode\u003elanguage_version\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1062 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ePrint the stage when a hook is not found\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1078 issue by @madkinsz.\u003c/li\u003e\n\u003cli\u003e#1079 PR by @madkinsz.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epre-commit autoupdate\u003c/code\u003e now supports non-\u003ccode\u003emaster\u003c/code\u003e default branches\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1089 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit init-templatedir\u003c/code\u003e which makes it easier to automatically\nenable \u003ccode\u003epre-commit\u003c/code\u003e in cloned repositories.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1084 issue by @ssbarnea.\u003c/li\u003e\n\u003cli\u003e#1090 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#1107 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003epre-commit's color can be controlled using\n\u003ccode\u003ePRE_COMMIT_COLOR={auto,always,never}\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1073 issue by @saper.\u003c/li\u003e\n\u003cli\u003e#1092 PR by @geieredgar.\u003c/li\u003e\n\u003cli\u003e#1098 PR by @geieredgar.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003epre-commit's color can now be disabled using \u003ccode\u003eTERM=dumb\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1073 issue by @saper.\u003c/li\u003e\n\u003cli\u003e#1103 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003epre-commit now supports \u003ccode\u003edocker\u003c/code\u003e based hooks on windows\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1072 by @cz-fish.\u003c/li\u003e\n\u003cli\u003e#1093 PR by @geieredgar.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-24\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-24\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix shallow clone\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1077 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix autoupdate version flip flop when using shallow cloning\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1076 issue by @mxr.\u003c/li\u003e\n\u003cli\u003e#1088 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix autoupdate when the current revision is invalid\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1088 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMisc.\u003c/h3\u003e\u003ca id=\"user-content-misc-4\" class=\"anchor\" aria-label=\"Permalink: Misc.\" href=\"#misc-4\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eReplace development instructions with \u003ccode\u003etox --devenv ...\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1032 issue by @yoavcaspi.\u003c/li\u003e\n\u003cli\u003e#1067 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.17.0 - 2019-06-06\u003c/h1\u003e\u003ca id=\"user-content-1170---2019-06-06\" class=\"anchor\" aria-label=\"Permalink: 1.17.0 - 2019-06-06\" href=\"#1170---2019-06-06\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-14\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-14\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eProduce better output on \u003ccode\u003e^C\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1030 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eWarn on unknown keys at the top level and repo level\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1028 PR by @yoavcaspi.\u003c/li\u003e\n\u003cli\u003e#1048 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-25\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-25\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix handling of \u003ccode\u003e^C\u003c/code\u003e in wrapper script in python 3.x\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1027 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ermtree\u003c/code\u003e for non-writable directories\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1042 issue by @detailyang.\u003c/li\u003e\n\u003cli\u003e#1043 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ePass \u003ccode\u003e--color\u003c/code\u003e option to \u003ccode\u003egit diff\u003c/code\u003e in \u003ccode\u003e--show-diff-on-failure\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1007 issue by @chadrik.\u003c/li\u003e\n\u003cli\u003e#1051 PR by @mandarvaze.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMisc.\u003c/h3\u003e\u003ca id=\"user-content-misc-5\" class=\"anchor\" aria-label=\"Permalink: Misc.\" href=\"#misc-5\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix test when \u003ccode\u003epre-commit\u003c/code\u003e is installed globally\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1032 issue by @yoavcaspi.\u003c/li\u003e\n\u003cli\u003e#1045 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.16.1 - 2019-05-08\u003c/h1\u003e\u003ca id=\"user-content-1161---2019-05-08\" class=\"anchor\" aria-label=\"Permalink: 1.16.1 - 2019-05-08\" href=\"#1161---2019-05-08\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-26\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-26\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDon't \u003ccode\u003eUnicodeDecodeError\u003c/code\u003e on unexpected non-UTF8 output in python health\ncheck on windows.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1021 issue by @nicoddemus.\u003c/li\u003e\n\u003cli\u003e#1022 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.16.0 - 2019-05-04\u003c/h1\u003e\u003ca id=\"user-content-1160---2019-05-04\" class=\"anchor\" aria-label=\"Permalink: 1.16.0 - 2019-05-04\" href=\"#1160---2019-05-04\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-15\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-15\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eprepare-commit-msg\u003c/code\u003e hook\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1004 PR by @marcjay.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-27\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-27\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix repeated legacy \u003ccode\u003epre-commit install\u003c/code\u003e on windows\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1010 issue by @AbhimanyuHK.\u003c/li\u003e\n\u003cli\u003e#1011 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eWhitespace fixup\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1014 PR by @mxr.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix CI check for working pcre support\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1015 PR by @Myrheimb.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMisc.\u003c/h3\u003e\u003ca id=\"user-content-misc-6\" class=\"anchor\" aria-label=\"Permalink: Misc.\" href=\"#misc-6\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSwitch CI from travis / appveyor to azure pipelines\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#1012 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.15.2 - 2019-04-16\u003c/h1\u003e\u003ca id=\"user-content-1152---2019-04-16\" class=\"anchor\" aria-label=\"Permalink: 1.15.2 - 2019-04-16\" href=\"#1152---2019-04-16\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-28\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-28\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix cloning non-branch tag while in the fallback slow-clone strategy.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#997 issue by @jpinner.\u003c/li\u003e\n\u003cli\u003e#998 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.15.1 - 2019-04-01\u003c/h1\u003e\u003ca id=\"user-content-1151---2019-04-01\" class=\"anchor\" aria-label=\"Permalink: 1.15.1 - 2019-04-01\" href=\"#1151---2019-04-01\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-29\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-29\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix command length calculation on posix when \u003ccode\u003eSC_ARG_MAX\u003c/code\u003e is not defined.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#691 issue by @ushuz.\u003c/li\u003e\n\u003cli\u003e#987 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.15.0 - 2019-03-30\u003c/h1\u003e\u003ca id=\"user-content-1150---2019-03-30\" class=\"anchor\" aria-label=\"Permalink: 1.15.0 - 2019-03-30\" href=\"#1150---2019-03-30\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-16\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-16\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eNo longer require being in a \u003ccode\u003egit\u003c/code\u003e repo to run \u003ccode\u003epre-commit\u003c/code\u003e \u003ccode\u003eclean\u003c/code\u003e / \u003ccode\u003egc\u003c/code\u003e /\n\u003ccode\u003esample-config\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#959 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImprove command line length limit detection.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#691 issue by @antonbabenko.\u003c/li\u003e\n\u003cli\u003e#966 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUse shallow cloning when possible.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#958 PR by @DanielChabrowski.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eminimum_pre_commit_version\u003c/code\u003e top level key to require a new-enough\nversion of \u003ccode\u003epre-commit\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#977 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd helpful CI-friendly message when running\n\u003ccode\u003epre-commit run --all-files --show-diff-on-failure\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#982 PR by @bnorquist.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-30\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-30\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003etry-repo\u003c/code\u003e for staged untracked changes.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#973 PR by @DanielChabrowski.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix rpm build by explicitly using \u003ccode\u003e#!/usr/bin/env python3\u003c/code\u003e in hook template.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#985 issue by @tim77.\u003c/li\u003e\n\u003cli\u003e#986 PR by @tim77.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eGuard against infinite recursion when executing legacy hook script.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#981 PR by @tristan0x.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMisc\u003c/h3\u003e\u003ca id=\"user-content-misc-7\" class=\"anchor\" aria-label=\"Permalink: Misc\" href=\"#misc-7\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd test for \u003ccode\u003egit.no_git_env()\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#972 PR by @javabrett.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.14.4 - 2019-02-18\u003c/h1\u003e\u003ca id=\"user-content-1144---2019-02-18\" class=\"anchor\" aria-label=\"Permalink: 1.14.4 - 2019-02-18\" href=\"#1144---2019-02-18\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-31\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-31\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDon't filter \u003ccode\u003eGIT_SSH_COMMAND\u003c/code\u003e env variable from \u003ccode\u003egit\u003c/code\u003e commands\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#947 issue by @firba1.\u003c/li\u003e\n\u003cli\u003e#948 PR by @firba1.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eInstall npm packages as if they were installed from \u003ccode\u003egit\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#943 issue by @ssbarnea.\u003c/li\u003e\n\u003cli\u003e#949 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDon't filter \u003ccode\u003eGIT_EXEC_PREFIX\u003c/code\u003e env variable from \u003ccode\u003egit\u003c/code\u003e commands\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#664 issue by @revolter.\u003c/li\u003e\n\u003cli\u003e#944 PR by @minrk.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.14.3 - 2019-02-04\u003c/h1\u003e\u003ca id=\"user-content-1143---2019-02-04\" class=\"anchor\" aria-label=\"Permalink: 1.14.3 - 2019-02-04\" href=\"#1143---2019-02-04\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-32\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-32\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove performance of filename classification by 45% - 55%.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#921 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix installing \u003ccode\u003ego\u003c/code\u003e hooks while \u003ccode\u003eGOBIN\u003c/code\u003e environment variable is set.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#924 PR by @ashanbrown.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix crash while running \u003ccode\u003epre-commit migrate-config\u003c/code\u003e / \u003ccode\u003epre-commit autoupdate\u003c/code\u003e\nwith an empty configuration file.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#929 issue by @ardakuyumcu.\u003c/li\u003e\n\u003cli\u003e#933 PR by @jessebona.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRequire a newer virtualenv to fix metadata-based setup.cfg installs.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#936 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.14.2 - 2019-01-10\u003c/h1\u003e\u003ca id=\"user-content-1142---2019-01-10\" class=\"anchor\" aria-label=\"Permalink: 1.14.2 - 2019-01-10\" href=\"#1142---2019-01-10\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-33\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-33\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eMake the hook shebang detection more timid (1.14.0 regression)\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca class=\"issue-link js-issue-link\" data-error-text=\"Failed to load title\" data-id=\"397219861\" data-permission-text=\"Title is private\" data-url=\"https://github.com/Homebrew/homebrew-core/issues/35825\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/Homebrew/homebrew-core/pull/35825/hovercard\" href=\"https://github.com/Homebrew/homebrew-core/pull/35825\"\u003eHomebrew/homebrew-core#35825\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e#915 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.14.1 - 2019-01-10\u003c/h1\u003e\u003ca id=\"user-content-1141---2019-01-10\" class=\"anchor\" aria-label=\"Permalink: 1.14.1 - 2019-01-10\" href=\"#1141---2019-01-10\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-34\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-34\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix python executable lookup on windows when using conda\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#913 issue by @dawelter2.\u003c/li\u003e\n\u003cli\u003e#914 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.14.0 - 2019-01-08\u003c/h1\u003e\u003ca id=\"user-content-1140---2019-01-08\" class=\"anchor\" aria-label=\"Permalink: 1.14.0 - 2019-01-08\" href=\"#1140---2019-01-08\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-17\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-17\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd an \u003ccode\u003ealias\u003c/code\u003e configuration value to allow repeated hooks to be\ndifferentiated\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#882 issue by @s0undt3ch.\u003c/li\u003e\n\u003cli\u003e#886 PR by @s0undt3ch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eidentity\u003c/code\u003e meta hook which just prints filenames\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#865 issue by @asottile.\u003c/li\u003e\n\u003cli\u003e#898 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFactor out \u003ccode\u003ecached-property\u003c/code\u003e and improve startup performance by ~10%\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#899 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd a warning on unexpected keys in configuration\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#899 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTeach \u003ccode\u003epre-commit try-repo\u003c/code\u003e to clone uncommitted changes on disk.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#589 issue by @sverhagen.\u003c/li\u003e\n\u003cli\u003e#703 issue by @asottile.\u003c/li\u003e\n\u003cli\u003e#904 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003epre-commit gc\u003c/code\u003e which will clean up no-longer-referenced cache\nrepos.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#283 issue by @jtwang.\u003c/li\u003e\n\u003cli\u003e#906 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd top level config \u003ccode\u003edefault_language_version\u003c/code\u003e to streamline overriding the\n\u003ccode\u003elanguage_version\u003c/code\u003e configuration in many places\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#647 issue by @asottile.\u003c/li\u003e\n\u003cli\u003e#908 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd top level config \u003ccode\u003edefault_stages\u003c/code\u003e to streamline overriding the \u003ccode\u003estages\u003c/code\u003e\nconfiguration in many places\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#768 issue by @mattlqx.\u003c/li\u003e\n\u003cli\u003e#909 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-35\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-35\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eMore intelligently pick hook shebang (\u003ccode\u003e#!/usr/bin/env python3\u003c/code\u003e)\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#878 issue by @fristedt.\u003c/li\u003e\n\u003cli\u003e#893 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSeveral fixes related to \u003ccode\u003e--files\u003c/code\u003e / \u003ccode\u003e--config\u003c/code\u003e:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003epre-commit run --files x\u003c/code\u003e outside of a git dir no longer stacktraces\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epre-commit run --config ./relative\u003c/code\u003e while in a sub directory of the git\nrepo is now able to find the configuration\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epre-commit run --files ...\u003c/code\u003e no longer runs a subprocess per file\n(performance)\u003c/li\u003e\n\u003cli\u003e#895 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epre-commit try-repo ./relative\u003c/code\u003e while in a sub directory of the git repo is\nnow able to clone properly\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#903 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003emeta\u003c/code\u003e repos cannot have a language other than \u003ccode\u003esystem\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#905 issue by @asottile.\u003c/li\u003e\n\u003cli\u003e#907 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix committing with unstaged files that were \u003ccode\u003egit add --intent-to-add\u003c/code\u003e added\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#881 issue by @henniss.\u003c/li\u003e\n\u003cli\u003e#912 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMisc.\u003c/h3\u003e\u003ca id=\"user-content-misc-8\" class=\"anchor\" aria-label=\"Permalink: Misc.\" href=\"#misc-8\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUse \u003ccode\u003e--no-gpg-sign\u003c/code\u003e when running tests\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#894 PR by @s0undt3ch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.13.0 - 2018-12-20\u003c/h1\u003e\u003ca id=\"user-content-1130---2018-12-20\" class=\"anchor\" aria-label=\"Permalink: 1.13.0 - 2018-12-20\" href=\"#1130---2018-12-20\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-18\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-18\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRun hooks in parallel\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eindividual hooks may opt out of parallel execution with \u003ccode\u003erequire_serial: true\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e#510 issue by @chriskuehl.\u003c/li\u003e\n\u003cli\u003e#851 PR by @chriskuehl.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-36\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-36\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove platform-specific \u003ccode\u003exargs\u003c/code\u003e command length detection\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#691 issue by @antonbabenko.\u003c/li\u003e\n\u003cli\u003e#839 PR by @georgeyk.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003epre-commit autoupdate\u003c/code\u003e when updating to a latest tag missing a\n\u003ccode\u003e.pre-commit-hooks.yaml\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#856 issue by @asottile.\u003c/li\u003e\n\u003cli\u003e#857 PR by @runz0rd.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpgrade the \u003ccode\u003epre-commit-hooks\u003c/code\u003e version in \u003ccode\u003epre-commit sample-config\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#870 by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImprove balancing of multiprocessing by deterministic shuffling of args\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#861 issue by @Dunedan.\u003c/li\u003e\n\u003cli\u003e#874 PR by @chriskuehl.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eruby\u003c/code\u003e hooks work with latest \u003ccode\u003egem\u003c/code\u003e by removing \u003ccode\u003e--no-ri\u003c/code\u003e / \u003ccode\u003e--no-rdoc\u003c/code\u003e and\ninstead using \u003ccode\u003e--no-document\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#889 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMisc.\u003c/h3\u003e\u003ca id=\"user-content-misc-9\" class=\"anchor\" aria-label=\"Permalink: Misc.\" href=\"#misc-9\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUse \u003ccode\u003e--no-gpg-sign\u003c/code\u003e when running tests\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#885 PR by @s0undt3ch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eUpdating\u003c/h3\u003e\u003ca id=\"user-content-updating-2\" class=\"anchor\" aria-label=\"Permalink: Updating\" href=\"#updating-2\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIf a hook requires serial execution, set \u003ccode\u003erequire_serial: true\u003c/code\u003e to avoid the new\nparallel execution.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eruby\u003c/code\u003e hooks now require \u003ccode\u003egem\u0026gt;=2.0.0\u003c/code\u003e.  If your platform doesn't support this\nby default, select a newer version using\n\u003ca href=\"https://pre-commit.com/#overriding-language-version\" rel=\"nofollow\"\u003e\u003ccode\u003elanguage_version\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.12.0 - 2018-10-23\u003c/h1\u003e\u003ca id=\"user-content-1120---2018-10-23\" class=\"anchor\" aria-label=\"Permalink: 1.12.0 - 2018-10-23\" href=\"#1120---2018-10-23\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-37\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-37\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eInstall multi-hook repositories only once (performance)\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eissue by @chriskuehl.\u003c/li\u003e\n\u003cli\u003e#852 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImprove performance by factoring out pkg_resources (performance)\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#840 issue by @RonnyPfannschmidt.\u003c/li\u003e\n\u003cli\u003e#846 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.11.2 - 2018-10-10\u003c/h1\u003e\u003ca id=\"user-content-1112---2018-10-10\" class=\"anchor\" aria-label=\"Permalink: 1.11.2 - 2018-10-10\" href=\"#1112---2018-10-10\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-38\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-38\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003echeck-useless-exclude\u003c/code\u003e now considers \u003ccode\u003etypes\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#704 issue by @asottile.\u003c/li\u003e\n\u003cli\u003e#837 PR by @georgeyk.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epre-push\u003c/code\u003e hook was not identifying all commits on push to new branch\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#843 issue by @prem-nuro.\u003c/li\u003e\n\u003cli\u003e#844 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.11.1 - 2018-09-22\u003c/h1\u003e\u003ca id=\"user-content-1111---2018-09-22\" class=\"anchor\" aria-label=\"Permalink: 1.11.1 - 2018-09-22\" href=\"#1111---2018-09-22\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-39\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-39\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003e.git\u003c/code\u003e dir detection in \u003ccode\u003egit\u0026lt;2.5\u003c/code\u003e (regression introduced in\n\u003ca href=\"#1105\"\u003e1.10.5\u003c/a\u003e)\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#831 issue by @mmacpherson.\u003c/li\u003e\n\u003cli\u003e#832 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.11.0 - 2018-09-02\u003c/h1\u003e\u003ca id=\"user-content-1110---2018-09-02\" class=\"anchor\" aria-label=\"Permalink: 1.11.0 - 2018-09-02\" href=\"#1110---2018-09-02\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-19\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-19\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd new \u003ccode\u003efail\u003c/code\u003e language which always fails\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003elight-weight way to forbid files by name.\u003c/li\u003e\n\u003cli\u003e#812 #821 PRs by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-40\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-40\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003eResourceWarning\u003c/code\u003es for unclosed files\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#811 PR by @BoboTiG.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDon't write ANSI colors on windows when color enabling fails\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#819 PR by @jeffreyrack.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.10.5 - 2018-08-06\u003c/h1\u003e\u003ca id=\"user-content-1105---2018-08-06\" class=\"anchor\" aria-label=\"Permalink: 1.10.5 - 2018-08-06\" href=\"#1105---2018-08-06\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-41\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-41\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eWork around \u003ccode\u003ePATH\u003c/code\u003e issue with \u003ccode\u003ebrew\u003c/code\u003e \u003ccode\u003epython\u003c/code\u003e on \u003ccode\u003emacos\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca class=\"issue-link js-issue-link\" data-error-text=\"Failed to load title\" data-id=\"344230703\" data-permission-text=\"Title is private\" data-url=\"https://github.com/Homebrew/homebrew-core/issues/30445\" data-hovercard-type=\"issue\" data-hovercard-url=\"/Homebrew/homebrew-core/issues/30445/hovercard\" href=\"https://github.com/Homebrew/homebrew-core/issues/30445\"\u003eHomebrew/homebrew-core#30445\u003c/a\u003e issue by @asottile.\u003c/li\u003e\n\u003cli\u003e#805 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003epre-commit install\u003c/code\u003e inside a worktree\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#808 issue by @s0undt3ch.\u003c/li\u003e\n\u003cli\u003e#809 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.10.4 - 2018-07-22\u003c/h1\u003e\u003ca id=\"user-content-1104---2018-07-22\" class=\"anchor\" aria-label=\"Permalink: 1.10.4 - 2018-07-22\" href=\"#1104---2018-07-22\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-42\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-42\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eReplace \u003ccode\u003eyaml.load\u003c/code\u003e with safe alternative\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eyaml.load\u003c/code\u003e can lead to arbitrary code execution, though not where it\nwas used\u003c/li\u003e\n\u003cli\u003eissue by @tonybaloney.\u003c/li\u003e\n\u003cli\u003e#779 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImprove not found error with script paths (\u003ccode\u003e./exe\u003c/code\u003e)\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#782 issue by @ssbarnea.\u003c/li\u003e\n\u003cli\u003e#785 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix minor buffering issue during \u003ccode\u003e--show-diff-on-failure\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#796 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDefault \u003ccode\u003elanguage_version: python3\u003c/code\u003e for \u003ccode\u003epython_venv\u003c/code\u003e when running in python2\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#794 issue by @ssbarnea.\u003c/li\u003e\n\u003cli\u003e#797 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epre-commit run X\u003c/code\u003e only run \u003ccode\u003eX\u003c/code\u003e and not hooks with \u003ccode\u003estages: [...]\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#772 issue by @asottile.\u003c/li\u003e\n\u003cli\u003e#803 PR by @mblayman.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMisc.\u003c/h3\u003e\u003ca id=\"user-content-misc-10\" class=\"anchor\" aria-label=\"Permalink: Misc.\" href=\"#misc-10\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove travis-ci build times by caching rust / swift artifacts\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#781 PR by @expobrain.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTest against python3.7\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#789 PR by @expobrain.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.10.3 - 2018-07-02\u003c/h1\u003e\u003ca id=\"user-content-1103---2018-07-02\" class=\"anchor\" aria-label=\"Permalink: 1.10.3 - 2018-07-02\" href=\"#1103---2018-07-02\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-43\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-43\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003epre-push\u003c/code\u003e during a force push without a fetch\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#777 issue by @domenkozar.\u003c/li\u003e\n\u003cli\u003e#778 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.10.2 - 2018-06-11\u003c/h1\u003e\u003ca id=\"user-content-1102---2018-06-11\" class=\"anchor\" aria-label=\"Permalink: 1.10.2 - 2018-06-11\" href=\"#1102---2018-06-11\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-44\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-44\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003epre-commit now invokes hooks with a consistent ordering of filenames\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eissue by @mxr.\u003c/li\u003e\n\u003cli\u003e#767 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.10.1 - 2018-05-28\u003c/h1\u003e\u003ca id=\"user-content-1101---2018-05-28\" class=\"anchor\" aria-label=\"Permalink: 1.10.1 - 2018-05-28\" href=\"#1101---2018-05-28\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-45\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-45\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003epython_venv\u003c/code\u003e language would leak dependencies when pre-commit was installed\nin a \u003ccode\u003e-mvirtualenv\u003c/code\u003e virtualenv\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#755 #756 issue and PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.10.0 - 2018-05-26\u003c/h1\u003e\u003ca id=\"user-content-1100---2018-05-26\" class=\"anchor\" aria-label=\"Permalink: 1.10.0 - 2018-05-26\" href=\"#1100---2018-05-26\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-20\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-20\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd support for hooks written in \u003ccode\u003erust\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#751 PR by @chriskuehl.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.9.0 - 2018-05-21\u003c/h1\u003e\u003ca id=\"user-content-190---2018-05-21\" class=\"anchor\" aria-label=\"Permalink: 1.9.0 - 2018-05-21\" href=\"#190---2018-05-21\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-21\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-21\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd new \u003ccode\u003epython_venv\u003c/code\u003e language which uses the \u003ccode\u003evenv\u003c/code\u003e module instead of\n\u003ccode\u003evirtualenv\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#631 issue by @dongyuzheng.\u003c/li\u003e\n\u003cli\u003e#739 PR by @ojii.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eInclude \u003ccode\u003eLICENSE\u003c/code\u003e in distribution\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#745 issue by @nicoddemus.\u003c/li\u003e\n\u003cli\u003e#746 PR by @nicoddemus.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-46\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-46\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eNormalize relative paths for \u003ccode\u003epre-commit try-repo\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#750 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.8.2 - 2018-03-17\u003c/h1\u003e\u003ca id=\"user-content-182---2018-03-17\" class=\"anchor\" aria-label=\"Permalink: 1.8.2 - 2018-03-17\" href=\"#182---2018-03-17\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-47\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-47\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix cloning relative paths (regression in 1.7.0)\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#728 issue by @jdswensen.\u003c/li\u003e\n\u003cli\u003e#729 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.8.1 - 2018-03-12\u003c/h1\u003e\u003ca id=\"user-content-181---2018-03-12\" class=\"anchor\" aria-label=\"Permalink: 1.8.1 - 2018-03-12\" href=\"#181---2018-03-12\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-48\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-48\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix integration with go 1.10 and \u003ccode\u003epkg\u003c/code\u003e directory\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#725 PR by @asottile\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRestore support for \u003ccode\u003egit\u0026lt;1.8.5\u003c/code\u003e (inadvertently removed in 1.7.0)\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#723 issue by @JohnLyman.\u003c/li\u003e\n\u003cli\u003e#724 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.8.0 - 2018-03-11\u003c/h1\u003e\u003ca id=\"user-content-180---2018-03-11\" class=\"anchor\" aria-label=\"Permalink: 1.8.0 - 2018-03-11\" href=\"#180---2018-03-11\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-22\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-22\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd a \u003ccode\u003emanual\u003c/code\u003e stage for cli-only interaction\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#719 issue by @hectorv.\u003c/li\u003e\n\u003cli\u003e#720 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003e--multiline\u003c/code\u003e option to \u003ccode\u003epygrep\u003c/code\u003e hooks\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#716 PR by @tdeo.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.7.0 - 2018-03-03\u003c/h1\u003e\u003ca id=\"user-content-170---2018-03-03\" class=\"anchor\" aria-label=\"Permalink: 1.7.0 - 2018-03-03\" href=\"#170---2018-03-03\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-23\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-23\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003epre-commit config validation was split to a separate \u003ccode\u003ecfgv\u003c/code\u003e library\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#700 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003e--repo\u003c/code\u003e to be specified multiple times to autoupdate\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#658 issue by @KevinHock.\u003c/li\u003e\n\u003cli\u003e#713 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eEnable \u003ccode\u003erev\u003c/code\u003e as a preferred alternative to \u003ccode\u003esha\u003c/code\u003e in \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#106 issue by @asottile.\u003c/li\u003e\n\u003cli\u003e#715 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003e--clean-src\u003c/code\u003e option when invoking \u003ccode\u003enodeenv\u003c/code\u003e to save ~70MB per node env\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#717 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRefuse to install with \u003ccode\u003ecore.hooksPath\u003c/code\u003e set\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca class=\"issue-link js-issue-link\" data-error-text=\"Failed to load title\" data-id=\"276864219\" data-permission-text=\"Title is private\" data-url=\"https://github.com/pre-commit/pre-commit-hooks/issues/250\" data-hovercard-type=\"issue\" data-hovercard-url=\"/pre-commit/pre-commit-hooks/issues/250/hovercard\" href=\"https://github.com/pre-commit/pre-commit-hooks/issues/250\"\u003epre-commit/pre-commit-hooks#250\u003c/a\u003e issue by @revolter.\u003c/li\u003e\n\u003cli\u003e#663 issue by @asottile.\u003c/li\u003e\n\u003cli\u003e#718 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-49\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-49\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ehooks with \u003ccode\u003eadditional_dependencies\u003c/code\u003e now get isolated environments\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#590 issue by @coldnight.\u003c/li\u003e\n\u003cli\u003e#711 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMisc.\u003c/h3\u003e\u003ca id=\"user-content-misc-11\" class=\"anchor\" aria-label=\"Permalink: Misc.\" href=\"#misc-11\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003etest against swift 4.x\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#709 by @theresama.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eUpdating\u003c/h3\u003e\u003ca id=\"user-content-updating-3\" class=\"anchor\" aria-label=\"Permalink: Updating\" href=\"#updating-3\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRun \u003ccode\u003epre-commit migrate-config\u003c/code\u003e to convert \u003ccode\u003esha\u003c/code\u003e to \u003ccode\u003erev\u003c/code\u003e in the\n\u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.6.0 - 2018-02-04\u003c/h1\u003e\u003ca id=\"user-content-160---2018-02-04\" class=\"anchor\" aria-label=\"Permalink: 1.6.0 - 2018-02-04\" href=\"#160---2018-02-04\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-24\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-24\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eHooks now may have a \u003ccode\u003everbose\u003c/code\u003e option to produce output even without failure\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#689 issue by @bagerard.\u003c/li\u003e\n\u003cli\u003e#695 PR by @bagerard.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eInstalled hook no longer requires \u003ccode\u003ebash\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#699 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-50\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-50\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003elegacy pre-push / commit-msg hooks are now invoked as if \u003ccode\u003egit\u003c/code\u003e called them\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#693 issue by @samskiter.\u003c/li\u003e\n\u003cli\u003e#694 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#699 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.5.1 - 2018-01-24\u003c/h1\u003e\u003ca id=\"user-content-151---2018-01-24\" class=\"anchor\" aria-label=\"Permalink: 1.5.1 - 2018-01-24\" href=\"#151---2018-01-24\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-51\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-51\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eproper detection for root commit during pre-push\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#503 PR by @philipgian.\u003c/li\u003e\n\u003cli\u003e#692 PR by @samskiter.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.5.0 - 2018-01-13\u003c/h1\u003e\u003ca id=\"user-content-150---2018-01-13\" class=\"anchor\" aria-label=\"Permalink: 1.5.0 - 2018-01-13\" href=\"#150---2018-01-13\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-25\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-25\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003epre-commit now supports node hooks on windows.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003efor now, requires python3 due to \u003ca href=\"https://bugs.python.org/issue32539\" rel=\"nofollow\"\u003ehttps://bugs.python.org/issue32539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ehuge thanks to @wenzowski for the tip!\u003c/li\u003e\n\u003cli\u003e#200 issue by @asottile.\u003c/li\u003e\n\u003cli\u003e#685 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMisc.\u003c/h3\u003e\u003ca id=\"user-content-misc-12\" class=\"anchor\" aria-label=\"Permalink: Misc.\" href=\"#misc-12\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003einternal reorganization of \u003ccode\u003ePrefixedCommandRunner\u003c/code\u003e -\u0026gt; \u003ccode\u003ePrefix\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#684 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ehttps-ify links.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003epre-commit.com is now served over https.\u003c/li\u003e\n\u003cli\u003e#688 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.4.5 - 2018-01-09\u003c/h1\u003e\u003ca id=\"user-content-145---2018-01-09\" class=\"anchor\" aria-label=\"Permalink: 1.4.5 - 2018-01-09\" href=\"#145---2018-01-09\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-52\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-52\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003elocal\u003c/code\u003e golang repositories with \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#679 #680 issue and PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMisc.\u003c/h3\u003e\u003ca id=\"user-content-misc-13\" class=\"anchor\" aria-label=\"Permalink: Misc.\" href=\"#misc-13\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eReplace some string literals with constants\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#678 PR by @revolter.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.4.4 - 2018-01-07\u003c/h1\u003e\u003ca id=\"user-content-144---2018-01-07\" class=\"anchor\" aria-label=\"Permalink: 1.4.4 - 2018-01-07\" href=\"#144---2018-01-07\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-53\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-53\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eInvoke \u003ccode\u003egit diff\u003c/code\u003e without a pager during \u003ccode\u003e--show-diff-on-failure\u003c/code\u003e.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#676 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.4.3 - 2018-01-02\u003c/h1\u003e\u003ca id=\"user-content-143---2018-01-02\" class=\"anchor\" aria-label=\"Permalink: 1.4.3 - 2018-01-02\" href=\"#143---2018-01-02\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-54\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-54\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003epre-commit\u003c/code\u003e on windows can find pythons at non-hardcoded paths.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#674 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.4.2 - 2018-01-02\u003c/h1\u003e\u003ca id=\"user-content-142---2018-01-02\" class=\"anchor\" aria-label=\"Permalink: 1.4.2 - 2018-01-02\" href=\"#142---2018-01-02\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-55\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-55\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003epre-commit\u003c/code\u003e no longer clears \u003ccode\u003eGIT_SSH\u003c/code\u003e environment variable when cloning.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#671 PR by @rp-tanium.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.4.1 - 2017-11-09\u003c/h1\u003e\u003ca id=\"user-content-141---2017-11-09\" class=\"anchor\" aria-label=\"Permalink: 1.4.1 - 2017-11-09\" href=\"#141---2017-11-09\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-56\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-56\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003epre-commit autoupdate --repo ...\u003c/code\u003e no longer deletes other repos.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#660 issue by @KevinHock.\u003c/li\u003e\n\u003cli\u003e#661 PR by @KevinHock.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.4.0 - 2017-11-08\u003c/h1\u003e\u003ca id=\"user-content-140---2017-11-08\" class=\"anchor\" aria-label=\"Permalink: 1.4.0 - 2017-11-08\" href=\"#140---2017-11-08\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-26\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-26\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eLazily install repositories.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eWhen running \u003ccode\u003epre-commit run \u0026lt;hookid\u0026gt;\u003c/code\u003e, pre-commit will only install\nthe necessary repositories.\u003c/li\u003e\n\u003cli\u003e#637 issue by @webknjaz.\u003c/li\u003e\n\u003cli\u003e#639 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVersion defaulting now applies to local hooks as well.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis extends #556 to apply to local hooks.\u003c/li\u003e\n\u003cli\u003e#646 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd new \u003ccode\u003erepo: meta\u003c/code\u003e hooks.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003emeta\u003c/code\u003e hooks expose some linters of the pre-commit configuration itself.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eid: check-useless-excludes\u003c/code\u003e: ensures that \u003ccode\u003eexclude\u003c/code\u003e directives actually\napply to \u003cem\u003eany\u003c/em\u003e file in the repository.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eid: check-hooks-apply\u003c/code\u003e: ensures that the configured hooks apply to\nat least one file in the repository.\u003c/li\u003e\n\u003cli\u003e\u003ca class=\"issue-link js-issue-link\" data-error-text=\"Failed to load title\" data-id=\"84713369\" data-permission-text=\"Title is private\" data-url=\"https://github.com/pre-commit/pre-commit-hooks/issues/63\" data-hovercard-type=\"issue\" data-hovercard-url=\"/pre-commit/pre-commit-hooks/issues/63/hovercard\" href=\"https://github.com/pre-commit/pre-commit-hooks/issues/63\"\u003epre-commit/pre-commit-hooks#63\u003c/a\u003e issue by @asottile.\u003c/li\u003e\n\u003cli\u003e#405 issue by @asottile.\u003c/li\u003e\n\u003cli\u003e#643 PR by @hackedd.\u003c/li\u003e\n\u003cli\u003e#653 PR by @asottile.\u003c/li\u003e\n\u003cli\u003e#654 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAllow a specific repository to be autoupdated instead of all repositories.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003epre-commit autoupdate --repo ...\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e#656 issue by @KevinHock.\u003c/li\u003e\n\u003cli\u003e#657 PR by @KevinHock.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-57\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-57\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eApply selinux labelling option to docker volumes\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#642 PR by @jimmidyson.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.3.0 - 2017-10-08\u003c/h1\u003e\u003ca id=\"user-content-130---2017-10-08\" class=\"anchor\" aria-label=\"Permalink: 1.3.0 - 2017-10-08\" href=\"#130---2017-10-08\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-27\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-27\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit try-repo\u003c/code\u003e commands\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe new \u003ccode\u003etry-repo\u003c/code\u003e takes a repo and will run the hooks configured in\nthat hook repository.\u003c/li\u003e\n\u003cli\u003eAn example invocation:\n\u003ccode\u003epre-commit try-repo https://github.com/pre-commit/pre-commit-hooks\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epre-commit try-repo\u003c/code\u003e can also take all the same arguments as\n\u003ccode\u003epre-commit run\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIt can be used to try out a repository without needing to configure it.\u003c/li\u003e\n\u003cli\u003eIt can also be used to test a hook repository while developing it.\u003c/li\u003e\n\u003cli\u003e#589 issue by @sverhagen.\u003c/li\u003e\n\u003cli\u003e#633 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.2.0 - 2017-10-03\u003c/h1\u003e\u003ca id=\"user-content-120---2017-10-03\" class=\"anchor\" aria-label=\"Permalink: 1.2.0 - 2017-10-03\" href=\"#120---2017-10-03\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-28\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-28\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003epygrep\u003c/code\u003e language\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003epygrep\u003c/code\u003e aims to be a more cross-platform alternative to \u003ccode\u003epcre\u003c/code\u003e hooks.\u003c/li\u003e\n\u003cli\u003e#630 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-58\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-58\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUse \u003ccode\u003epipes.quote\u003c/code\u003e for executable path in hook template\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixes bash syntax error when git dir contains spaces\u003c/li\u003e\n\u003cli\u003e#626 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eClean up hook template\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSimplify code\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e--config\u003c/code\u003e not being respected in some situations\u003c/li\u003e\n\u003cli\u003e#627 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efile://\u003c/code\u003e protocol for cloning under test\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003efile://\u003c/code\u003e clone paths being treated as urls for golang\u003c/li\u003e\n\u003cli\u003e#629 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ectypes\u003c/code\u003e as an import for virtualenv healthchecks\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixes python3.6.2 \u0026lt;=\u0026gt; python3.6.3 virtualenv invalidation\u003c/li\u003e\n\u003cli\u003ee70825ab by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.1.2 - 2017-09-20\u003c/h1\u003e\u003ca id=\"user-content-112---2017-09-20\" class=\"anchor\" aria-label=\"Permalink: 1.1.2 - 2017-09-20\" href=\"#112---2017-09-20\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-59\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-59\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003epre-commit can successfully install commit-msg hooks\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDue to an oversight, the commit-msg-tmpl was missing from the packaging\u003c/li\u003e\n\u003cli\u003e#623 issue by @sobolevn.\u003c/li\u003e\n\u003cli\u003e#624 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.1.1 - 2017-09-17\u003c/h1\u003e\u003ca id=\"user-content-111---2017-09-17\" class=\"anchor\" aria-label=\"Permalink: 1.1.1 - 2017-09-17\" href=\"#111---2017-09-17\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-29\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-29\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003epre-commit also checks the \u003ccode\u003essl\u003c/code\u003e module for virtualenv health\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSuggestion by @merwok.\u003c/li\u003e\n\u003cli\u003e#619 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-60\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-60\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003epre-commit no longer crashes with unstaged files when run for the first time\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#620 #621 issue by @Lucas-C.\u003c/li\u003e\n\u003cli\u003e#622 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.1.0 - 2017-09-11\u003c/h1\u003e\u003ca id=\"user-content-110---2017-09-11\" class=\"anchor\" aria-label=\"Permalink: 1.1.0 - 2017-09-11\" href=\"#110---2017-09-11\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-30\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-30\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003epre-commit configuration gains a \u003ccode\u003efail_fast\u003c/code\u003e option.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eYou must be using the v2 configuration format introduced in 1.0.0.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efail_fast\u003c/code\u003e defaults to \u003ccode\u003efalse\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e#240 issue by @Lucas-C.\u003c/li\u003e\n\u003cli\u003e#616 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003epre-commit configuration gains a global \u003ccode\u003eexclude\u003c/code\u003e option.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis option takes a python regular expression and can be used to exclude\nfiles from \u003cem\u003eall\u003c/em\u003e hooks.\u003c/li\u003e\n\u003cli\u003eYou must be using the v2 configuration format introduced in 1.0.0.\u003c/li\u003e\n\u003cli\u003e#281 issue by @asieira.\u003c/li\u003e\n\u003cli\u003e#617 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.0.1 - 2017-09-07\u003c/h1\u003e\u003ca id=\"user-content-101---2017-09-07\" class=\"anchor\" aria-label=\"Permalink: 1.0.1 - 2017-09-07\" href=\"#101---2017-09-07\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFixes\u003c/h3\u003e\u003ca id=\"user-content-fixes-61\" class=\"anchor\" aria-label=\"Permalink: Fixes\" href=\"#fixes-61\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix a regression in the return code of \u003ccode\u003epre-commit autoupdate\u003c/code\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003epre-commit migrate-config\u003c/code\u003e and \u003ccode\u003epre-commit autoupdate\u003c/code\u003e return 0 when\nsuccessful.\u003c/li\u003e\n\u003cli\u003e#614 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1.0.0 - 2017-09-07\u003c/h1\u003e\u003ca id=\"user-content-100---2017-09-07\" class=\"anchor\" aria-label=\"Permalink: 1.0.0 - 2017-09-07\" href=\"#100---2017-09-07\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003epre-commit will now be following \u003ca href=\"https://semver.org/\" rel=\"nofollow\"\u003esemver\u003c/a\u003e.  Thanks to all\nof the \u003ca href=\"https://github.com/pre-commit/pre-commit/graphs/contributors\"\u003econtributors\u003c/a\u003e\nthat have helped us get this far!\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h3\u003e\u003ca id=\"user-content-features-31\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features-31\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003epre-commit's cache directory has moved from \u003ccode\u003e~/.pre-commit\u003c/code\u003e to\n\u003ccode\u003e$XDG_CACHE_HOME/pre-commit\u003c/code\u003e (usually \u003ccode\u003e~/.cache/pre-commit\u003c/code\u003e).\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003epre-commit clean\u003c/code\u003e now cleans up both the old and new directory.\u003c/li\u003e\n\u003cli\u003eIf you were caching this directory in CI, you'll want to adjust the\nlocation.\u003c/li\u003e\n\u003cli\u003e#562 issue by @nagromc.\u003c/li\u003e\n\u003cli\u003e#602 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eA new configuration format for \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e is introduced which\nwill enable future development.\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe new format has a top-level map instead of a top-level list.  The\nnew format puts the hook repositories in a \u003ccode\u003erepos\u003c/code\u003e key.\u003c/li\u003e\n\u003cli\u003eOld list-based configurations will continue to be supported.\u003c/li\u003e\n\u003cli\u003eA command \u003ccode\u003epre-commit migrate-config\u003c/code\u003e has been introduced to \"upgrade\"\nthe configuration format to the new map-based configuration.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epre-commit autoupdate\u003c/code\u003e now automatically calls \u003ccode\u003emigrate-config\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIn a later release, list-based configurations will issue a deprecation\nwarning.\u003c/li\u003e\n\u003cli\u003eAn example diff for upgrading a configuration:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"highlight highlight-source-diff notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"+repos:\n -   repo: https://github.com/pre-commit/pre-commit-hooks\n     sha: v0.9.2\n     hooks:\"\u003e\u003cpre\u003e\u003cspan class=\"pl-mi1\"\u003e\u003cspan class=\"pl-mi1\"\u003e+\u003c/span\u003erepos:\u003c/span\u003e\n -   repo: https://github.com/pre-commit/pre-commit-hooks\n     sha: v0.9.2\n     hooks:\u003c/pre\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e#414 issue by @asottile.\u003c/li\u003e\n\u003cli\u003e#610 PR by @asottile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eUpdating\u003c/h3\u003e\u003ca id=\"user-content-updating-4\" class=\"anchor\" aria-label=\"Permalink: Updating\" href=\"#updating-4\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRun \u003ccode\u003epre-commit migrate-config\u003c/code\u003e to convert \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e to the\nnew map format.\u003c/li\u003e\n\u003cli\u003eUpdate any references from \u003ccode\u003e~/.pre-commit\u003c/code\u003e to \u003ccode\u003e~/.cache/pre-commit\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.18.3 - 2017-09-06\u003c/h1\u003e\u003ca id=\"user-content-0183---2017-09-06\" class=\"anchor\" aria-label=\"Permalink: 0.18.3 - 2017-09-06\" href=\"#0183---2017-09-06\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAllow --config to affect \u003ccode\u003epre-commit install\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTweak not found error message during \u003ccode\u003epre-push\u003c/code\u003e / \u003ccode\u003ecommit-msg\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImprove node support when running under cygwin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.18.2 - 2017-09-05\u003c/h1\u003e\u003ca id=\"user-content-0182---2017-09-05\" class=\"anchor\" aria-label=\"Permalink: 0.18.2 - 2017-09-05\" href=\"#0182---2017-09-05\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003e--all-files\u003c/code\u003e, detection of staged files, detection of manually edited\nfiles during merge conflict, and detection of files to push for non-ascii\nfilenames.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.18.1 - 2017-09-04\u003c/h1\u003e\u003ca id=\"user-content-0181---2017-09-04\" class=\"anchor\" aria-label=\"Permalink: 0.18.1 - 2017-09-04\" href=\"#0181---2017-09-04\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eOnly mention locking when waiting for a lock.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eIOError\u003c/code\u003e during locking in timeout situation on windows under python 2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.18.0 - 2017-09-02\u003c/h1\u003e\u003ca id=\"user-content-0180---2017-09-02\" class=\"anchor\" aria-label=\"Permalink: 0.18.0 - 2017-09-02\" href=\"#0180---2017-09-02\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd a new \u003ccode\u003edocker_image\u003c/code\u003e language type.  \u003ccode\u003edocker_image\u003c/code\u003e is intended to be a\nlightweight hook type similar to \u003ccode\u003esystem\u003c/code\u003e / \u003ccode\u003escript\u003c/code\u003e which allows one to use\nan existing docker image that provides a hook.  \u003ccode\u003edocker_image\u003c/code\u003e hooks can\nalso be used as repository \u003ccode\u003elocal\u003c/code\u003e hooks.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.17.0 - 2017-08-24\u003c/h1\u003e\u003ca id=\"user-content-0170---2017-08-24\" class=\"anchor\" aria-label=\"Permalink: 0.17.0 - 2017-08-24\" href=\"#0170---2017-08-24\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix typos in help\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003ecommit-msg\u003c/code\u003e hook to be uninstalled\u003c/li\u003e\n\u003cli\u003eUpgrade the \u003ccode\u003esample-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRemove undocumented \u003ccode\u003e--no-stash\u003c/code\u003e and \u003ccode\u003e--allow-unstaged-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003evalidate_config\u003c/code\u003e hook pre-commit hook.\u003c/li\u003e\n\u003cli\u003eFix installation race condition when multiple \u003ccode\u003epre-commit\u003c/code\u003e processes would\nattempt to install the same repository.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.16.3 - 2017-08-10\u003c/h1\u003e\u003ca id=\"user-content-0163---2017-08-10\" class=\"anchor\" aria-label=\"Permalink: 0.16.3 - 2017-08-10\" href=\"#0163---2017-08-10\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eautoupdate attempts to maintain config formatting.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.16.2 - 2017-08-06\u003c/h1\u003e\u003ca id=\"user-content-0162---2017-08-06\" class=\"anchor\" aria-label=\"Permalink: 0.16.2 - 2017-08-06\" href=\"#0162---2017-08-06\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eInitialize submodules in hook repositories.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.16.1 - 2017-08-04\u003c/h1\u003e\u003ca id=\"user-content-0161---2017-08-04\" class=\"anchor\" aria-label=\"Permalink: 0.16.1 - 2017-08-04\" href=\"#0161---2017-08-04\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove node support when running under cygwin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.16.0 - 2017-08-01\u003c/h1\u003e\u003ca id=\"user-content-0160---2017-08-01\" class=\"anchor\" aria-label=\"Permalink: 0.16.0 - 2017-08-01\" href=\"#0160---2017-08-01\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemove backward compatibility with repositories providing metadata via\n\u003ccode\u003ehooks.yaml\u003c/code\u003e.  New repositories should provide \u003ccode\u003e.pre-commit-hooks.yaml\u003c/code\u003e.\nRun \u003ccode\u003epre-commit autoupdate\u003c/code\u003e to upgrade to the latest repositories.\u003c/li\u003e\n\u003cli\u003eImprove golang support when running under cygwin.\u003c/li\u003e\n\u003cli\u003eFix crash with unstaged trailing whitespace additions while git was\nconfigured with \u003ccode\u003eapply.whitespace = error\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix crash with unstaged end-of-file crlf additions and the file's lines\nended with crlf while git was configured with \u003ccode\u003ecore-autocrlf = true\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.15.4 - 2017-07-23\u003c/h1\u003e\u003ca id=\"user-content-0154---2017-07-23\" class=\"anchor\" aria-label=\"Permalink: 0.15.4 - 2017-07-23\" href=\"#0154---2017-07-23\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ecommit-msg\u003c/code\u003e git hook\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.15.3 - 2017-07-20\u003c/h1\u003e\u003ca id=\"user-content-0153---2017-07-20\" class=\"anchor\" aria-label=\"Permalink: 0.15.3 - 2017-07-20\" href=\"#0153---2017-07-20\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRecover from invalid python virtualenvs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.15.2 - 2017-07-09\u003c/h1\u003e\u003ca id=\"user-content-0152---2017-07-09\" class=\"anchor\" aria-label=\"Permalink: 0.15.2 - 2017-07-09\" href=\"#0152---2017-07-09\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eWork around a windows-specific virtualenv bug \u003ca class=\"issue-link js-issue-link\" data-error-text=\"Failed to load title\" data-id=\"241556839\" data-permission-text=\"Title is private\" data-url=\"https://github.com/pypa/virtualenv/issues/1062\" data-hovercard-type=\"issue\" data-hovercard-url=\"/pypa/virtualenv/issues/1062/hovercard\" href=\"https://github.com/pypa/virtualenv/issues/1062\"\u003epypa/virtualenv#1062\u003c/a\u003e\nThis failure mode was introduced in 0.15.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.15.1 - 2017-07-09\u003c/h1\u003e\u003ca id=\"user-content-0151---2017-07-09\" class=\"anchor\" aria-label=\"Permalink: 0.15.1 - 2017-07-09\" href=\"#0151---2017-07-09\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUse a more intelligent default language version for python\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.15.0 - 2017-07-02\u003c/h1\u003e\u003ca id=\"user-content-0150---2017-07-02\" class=\"anchor\" aria-label=\"Permalink: 0.15.0 - 2017-07-02\" href=\"#0150---2017-07-02\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003etypes\u003c/code\u003e and \u003ccode\u003eexclude_types\u003c/code\u003e for filtering files.  These options take\nan array of \"tags\" identified for each file.  The tags are sourced from\n\u003ca href=\"https://github.com/chriskuehl/identify\"\u003eidentify\u003c/a\u003e.  One can list the tags\nfor a file by running \u003ccode\u003eidentify-cli filename\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efiles\u003c/code\u003e is now optional (defaulting to \u003ccode\u003e''\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ealways_run\u003c/code\u003e + missing \u003ccode\u003efiles\u003c/code\u003e also defaults to \u003ccode\u003efiles: ''\u003c/code\u003e (previously it\ndefaulted to \u003ccode\u003e'^$'\u003c/code\u003e (this reverses e150921c).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.14.3 - 2017-06-28\u003c/h1\u003e\u003ca id=\"user-content-0143---2017-06-28\" class=\"anchor\" aria-label=\"Permalink: 0.14.3 - 2017-06-28\" href=\"#0143---2017-06-28\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eExpose \u003ccode\u003e--origin\u003c/code\u003e and \u003ccode\u003e--source\u003c/code\u003e as \u003ccode\u003ePRE_COMMIT_ORIGIN\u003c/code\u003e and\n\u003ccode\u003ePRE_COMMIT_SOURCE\u003c/code\u003e environment variables when running as \u003ccode\u003epre-push\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.14.2 - 2017-06-09\u003c/h1\u003e\u003ca id=\"user-content-0142---2017-06-09\" class=\"anchor\" aria-label=\"Permalink: 0.14.2 - 2017-06-09\" href=\"#0142---2017-06-09\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUse \u003ccode\u003e--no-ext-diff\u003c/code\u003e when running \u003ccode\u003egit diff\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.14.1 - 2017-06-02\u003c/h1\u003e\u003ca id=\"user-content-0141---2017-06-02\" class=\"anchor\" aria-label=\"Permalink: 0.14.1 - 2017-06-02\" href=\"#0141---2017-06-02\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDon't crash when \u003ccode\u003ealways_run\u003c/code\u003e is \u003ccode\u003eTrue\u003c/code\u003e and \u003ccode\u003efiles\u003c/code\u003e is not provided.\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eVIRTUALENV_NO_DOWNLOAD\u003c/code\u003e when making python virtualenvs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.14.0 - 2017-05-16\u003c/h1\u003e\u003ca id=\"user-content-0140---2017-05-16\" class=\"anchor\" aria-label=\"Permalink: 0.14.0 - 2017-05-16\" href=\"#0140---2017-05-16\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd a \u003ccode\u003epre-commit sample-config\u003c/code\u003e command\u003c/li\u003e\n\u003cli\u003eEnable ansi color escapes on modern windows\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eautoupdate\u003c/code\u003e now defaults to \u003ccode\u003e--tags-only\u003c/code\u003e, use \u003ccode\u003e--bleeding-edge\u003c/code\u003e for the\nold behavior\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003elog_file\u003c/code\u003e in hook configuration to tee hook output to a\nfile for CI consumption, etc.\u003c/li\u003e\n\u003cli\u003eFix crash with unicode commit messages during merges in python 2.\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003epass_filenames\u003c/code\u003e option to allow disabling automatic filename\npositional arguments to hooks.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.13.6 - 2017-03-27\u003c/h1\u003e\u003ca id=\"user-content-0136---2017-03-27\" class=\"anchor\" aria-label=\"Permalink: 0.13.6 - 2017-03-27\" href=\"#0136---2017-03-27\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix regression in 0.13.5: allow \u003ccode\u003ealways_run\u003c/code\u003e and \u003ccode\u003efiles\u003c/code\u003e together despite\ndoing nothing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.13.5 - 2017-03-26\u003c/h1\u003e\u003ca id=\"user-content-0135---2017-03-26\" class=\"anchor\" aria-label=\"Permalink: 0.13.5 - 2017-03-26\" href=\"#0135---2017-03-26\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e0.13.4 contained incorrect files\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.13.4 - 2017-03-26\u003c/h1\u003e\u003ca id=\"user-content-0134---2017-03-26\" class=\"anchor\" aria-label=\"Permalink: 0.13.4 - 2017-03-26\" href=\"#0134---2017-03-26\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003e--show-diff-on-failure\u003c/code\u003e option to \u003ccode\u003epre-commit run\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejsonschema\u003c/code\u003e with better error messages\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.13.3 - 2017-02-23\u003c/h1\u003e\u003ca id=\"user-content-0133---2017-02-23\" class=\"anchor\" aria-label=\"Permalink: 0.13.3 - 2017-02-23\" href=\"#0133---2017-02-23\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003e--allow-missing-config\u003c/code\u003e to install: allows \u003ccode\u003egit commit\u003c/code\u003e without a\nconfiguration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.13.2 - 2017-02-17\u003c/h1\u003e\u003ca id=\"user-content-0132---2017-02-17\" class=\"anchor\" aria-label=\"Permalink: 0.13.2 - 2017-02-17\" href=\"#0132---2017-02-17\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eVersion the local hooks repo\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eminimum_pre_commit_version\u003c/code\u003e for local hooks\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.13.1 - 2017-02-16\u003c/h1\u003e\u003ca id=\"user-content-0131---2017-02-16\" class=\"anchor\" aria-label=\"Permalink: 0.13.1 - 2017-02-16\" href=\"#0131---2017-02-16\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix dummy gem for ruby local hooks\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.13.0 - 2017-02-16\u003c/h1\u003e\u003ca id=\"user-content-0130---2017-02-16\" class=\"anchor\" aria-label=\"Permalink: 0.13.0 - 2017-02-16\" href=\"#0130---2017-02-16\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAutoupdate now works even when the current state is broken.\u003c/li\u003e\n\u003cli\u003eImprove pre-push fileset on new branches\u003c/li\u003e\n\u003cli\u003eAllow \"language local\" hooks, hooks which install dependencies using\n\u003ccode\u003eadditional_dependencies\u003c/code\u003e and \u003ccode\u003elanguage\u003c/code\u003e are now allowed in \u003ccode\u003erepo: local\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.12.2 - 2017-01-27\u003c/h1\u003e\u003ca id=\"user-content-0122---2017-01-27\" class=\"anchor\" aria-label=\"Permalink: 0.12.2 - 2017-01-27\" href=\"#0122---2017-01-27\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix docker hooks on older (\u0026lt;1.12) docker\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.12.1 - 2017-01-25\u003c/h1\u003e\u003ca id=\"user-content-0121---2017-01-25\" class=\"anchor\" aria-label=\"Permalink: 0.12.1 - 2017-01-25\" href=\"#0121---2017-01-25\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003egolang hooks now support additional_dependencies\u003c/li\u003e\n\u003cli\u003eAdded a --tags-only option to pre-commit autoupdate\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.12.0 - 2017-01-24\u003c/h1\u003e\u003ca id=\"user-content-0120---2017-01-24\" class=\"anchor\" aria-label=\"Permalink: 0.12.0 - 2017-01-24\" href=\"#0120---2017-01-24\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe new default file for implementing hooks in remote repositories is now\n.pre-commit-hooks.yaml to encourage repositories to add the metadata.  As\nsuch, the previous hooks.yaml is now deprecated and generates a warning.\u003c/li\u003e\n\u003cli\u003eFix bug with local configuration interfering with ruby hooks\u003c/li\u003e\n\u003cli\u003eAdded support for hooks written in golang.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.11.0 - 2017-01-20\u003c/h1\u003e\u003ca id=\"user-content-0110---2017-01-20\" class=\"anchor\" aria-label=\"Permalink: 0.11.0 - 2017-01-20\" href=\"#0110---2017-01-20\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSwiftPM support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.10.1 - 2017-01-05\u003c/h1\u003e\u003ca id=\"user-content-0101---2017-01-05\" class=\"anchor\" aria-label=\"Permalink: 0.10.1 - 2017-01-05\" href=\"#0101---2017-01-05\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eshlex entry of docker based hooks.\u003c/li\u003e\n\u003cli\u003eMake shlex behaviour of entry more consistent.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.10.0 - 2017-01-04\u003c/h1\u003e\u003ca id=\"user-content-0100---2017-01-04\" class=\"anchor\" aria-label=\"Permalink: 0.10.0 - 2017-01-04\" href=\"#0100---2017-01-04\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd an \u003ccode\u003einstall-hooks\u003c/code\u003e command similar to \u003ccode\u003einstall --install-hooks\u003c/code\u003e but\nwithout the \u003ccode\u003einstall\u003c/code\u003e side-effects.\u003c/li\u003e\n\u003cli\u003eAdds support for docker based hooks.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.9.4 - 2016-12-05\u003c/h1\u003e\u003ca id=\"user-content-094---2016-12-05\" class=\"anchor\" aria-label=\"Permalink: 0.9.4 - 2016-12-05\" href=\"#094---2016-12-05\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eWarn when cygwin / python mismatch\u003c/li\u003e\n\u003cli\u003eAdd --config for customizing configuration during run\u003c/li\u003e\n\u003cli\u003eUpdate rbenv + plugins to latest versions\u003c/li\u003e\n\u003cli\u003epcre hooks now fail when grep / ggrep are not present\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.9.3 - 2016-11-07\u003c/h1\u003e\u003ca id=\"user-content-093---2016-11-07\" class=\"anchor\" aria-label=\"Permalink: 0.9.3 - 2016-11-07\" href=\"#093---2016-11-07\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix python hook installation when a strange setup.cfg exists\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.9.2 - 2016-10-25\u003c/h1\u003e\u003ca id=\"user-content-092---2016-10-25\" class=\"anchor\" aria-label=\"Permalink: 0.9.2 - 2016-10-25\" href=\"#092---2016-10-25\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemove some python2.6 compatibility\u003c/li\u003e\n\u003cli\u003eUI is no longer sized to terminal width, instead 80 characters or longest\nnecessary width.\u003c/li\u003e\n\u003cli\u003eFix inability to create python hook environments when using venv / pyvenv on\nosx\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.9.1 - 2016-09-10\u003c/h1\u003e\u003ca id=\"user-content-091---2016-09-10\" class=\"anchor\" aria-label=\"Permalink: 0.9.1 - 2016-09-10\" href=\"#091---2016-09-10\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemove some python2.6 compatibility\u003c/li\u003e\n\u003cli\u003eFix staged-files-only with external diff tools\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.9.0 - 2016-08-31\u003c/h1\u003e\u003ca id=\"user-content-090---2016-08-31\" class=\"anchor\" aria-label=\"Permalink: 0.9.0 - 2016-08-31\" href=\"#090---2016-08-31\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eOnly consider forward diff in changed files\u003c/li\u003e\n\u003cli\u003eDon't run on staged deleted files that still exist\u003c/li\u003e\n\u003cli\u003eAutoupdate to tags when available\u003c/li\u003e\n\u003cli\u003eStop supporting python2.6\u003c/li\u003e\n\u003cli\u003eFix crash with staged files containing unstaged lines which have non-utf8\nbytes and trailing whitespace\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.8.2 - 2016-05-20\u003c/h1\u003e\u003ca id=\"user-content-082---2016-05-20\" class=\"anchor\" aria-label=\"Permalink: 0.8.2 - 2016-05-20\" href=\"#082---2016-05-20\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix a crash introduced in 0.8.0 when an executable was not found\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.8.1 - 2016-05-17\u003c/h1\u003e\u003ca id=\"user-content-081---2016-05-17\" class=\"anchor\" aria-label=\"Permalink: 0.8.1 - 2016-05-17\" href=\"#081---2016-05-17\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix regression introduced in 0.8.0 when already using rbenv with no\nconfigured ruby hook version\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.8.0 - 2016-04-11\u003c/h1\u003e\u003ca id=\"user-content-080---2016-04-11\" class=\"anchor\" aria-label=\"Permalink: 0.8.0 - 2016-04-11\" href=\"#080---2016-04-11\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix --files when running in a subdir\u003c/li\u003e\n\u003cli\u003eImprove --help a bit\u003c/li\u003e\n\u003cli\u003eSwitch to pyterminalsize for determining terminal size\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.7.6 - 2016-01-19\u003c/h1\u003e\u003ca id=\"user-content-076---2016-01-19\" class=\"anchor\" aria-label=\"Permalink: 0.7.6 - 2016-01-19\" href=\"#076---2016-01-19\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eWork under latest virtualenv\u003c/li\u003e\n\u003cli\u003eNo longer create empty directories on windows with latest virtualenv\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.7.5 - 2016-01-15\u003c/h1\u003e\u003ca id=\"user-content-075---2016-01-15\" class=\"anchor\" aria-label=\"Permalink: 0.7.5 - 2016-01-15\" href=\"#075---2016-01-15\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eConsider dead symlinks as files when committing\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.7.4 - 2016-01-12\u003c/h1\u003e\u003ca id=\"user-content-074---2016-01-12\" class=\"anchor\" aria-label=\"Permalink: 0.7.4 - 2016-01-12\" href=\"#074---2016-01-12\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eProduce error message instead of crashing on non-utf8 installation failure\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.7.3 - 2015-12-22\u003c/h1\u003e\u003ca id=\"user-content-073---2015-12-22\" class=\"anchor\" aria-label=\"Permalink: 0.7.3 - 2015-12-22\" href=\"#073---2015-12-22\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix regression introduced in 0.7.1 breaking \u003ccode\u003egit commit -a\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.7.2 - 2015-12-22\u003c/h1\u003e\u003ca id=\"user-content-072---2015-12-22\" class=\"anchor\" aria-label=\"Permalink: 0.7.2 - 2015-12-22\" href=\"#072---2015-12-22\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003ealways_run\u003c/code\u003e setting for hooks to run even without file changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.7.1 - 2015-12-19\u003c/h1\u003e\u003ca id=\"user-content-071---2015-12-19\" class=\"anchor\" aria-label=\"Permalink: 0.7.1 - 2015-12-19\" href=\"#071---2015-12-19\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSupport running pre-commit inside submodules\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.7.0 - 2015-12-13\u003c/h1\u003e\u003ca id=\"user-content-070---2015-12-13\" class=\"anchor\" aria-label=\"Permalink: 0.7.0 - 2015-12-13\" href=\"#070---2015-12-13\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eStore state about additional_dependencies for rollforward/rollback compatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.6.8 - 2015-12-07\u003c/h1\u003e\u003ca id=\"user-content-068---2015-12-07\" class=\"anchor\" aria-label=\"Permalink: 0.6.8 - 2015-12-07\" href=\"#068---2015-12-07\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eBuild as a universal wheel\u003c/li\u003e\n\u003cli\u003eAllow '.format('-like strings in arguments\u003c/li\u003e\n\u003cli\u003eAdd an option to require a minimum pre-commit version\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.6.7 - 2015-12-02\u003c/h1\u003e\u003ca id=\"user-content-067---2015-12-02\" class=\"anchor\" aria-label=\"Permalink: 0.6.7 - 2015-12-02\" href=\"#067---2015-12-02\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ePrint a useful message when a hook id is not present\u003c/li\u003e\n\u003cli\u003eFix printing of non-ascii with unexpected errors\u003c/li\u003e\n\u003cli\u003ePrint a message when a hook modifies files but produces no output\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.6.6 - 2015-11-25\u003c/h1\u003e\u003ca id=\"user-content-066---2015-11-25\" class=\"anchor\" aria-label=\"Permalink: 0.6.6 - 2015-11-25\" href=\"#066---2015-11-25\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003eadditional_dependencies\u003c/code\u003e to hook configuration.\u003c/li\u003e\n\u003cli\u003eFix pre-commit cloning under git 2.6\u003c/li\u003e\n\u003cli\u003eSmall improvements for windows\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.6.5 - 2015-11-19\u003c/h1\u003e\u003ca id=\"user-content-065---2015-11-19\" class=\"anchor\" aria-label=\"Permalink: 0.6.5 - 2015-11-19\" href=\"#065---2015-11-19\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAllow args for pcre hooks\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.6.4 - 2015-11-13\u003c/h1\u003e\u003ca id=\"user-content-064---2015-11-13\" class=\"anchor\" aria-label=\"Permalink: 0.6.4 - 2015-11-13\" href=\"#064---2015-11-13\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix regression introduced in 0.6.3 regarding hooks which make non-utf8 diffs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.6.3 - 2015-11-12\u003c/h1\u003e\u003ca id=\"user-content-063---2015-11-12\" class=\"anchor\" aria-label=\"Permalink: 0.6.3 - 2015-11-12\" href=\"#063---2015-11-12\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemove \u003ccode\u003eexpected_return_code\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFail a hook if it makes modifications to the working directory\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.6.2 - 2015-10-14\u003c/h1\u003e\u003ca id=\"user-content-062---2015-10-14\" class=\"anchor\" aria-label=\"Permalink: 0.6.2 - 2015-10-14\" href=\"#062---2015-10-14\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUse --no-ri --no-rdoc instead of --no-document for gem to fix old gem\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.6.1 - 2015-10-08\u003c/h1\u003e\u003ca id=\"user-content-061---2015-10-08\" class=\"anchor\" aria-label=\"Permalink: 0.6.1 - 2015-10-08\" href=\"#061---2015-10-08\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix pre-push when pushing something that's already up to date\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.6.0 - 2015-10-05\u003c/h1\u003e\u003ca id=\"user-content-060---2015-10-05\" class=\"anchor\" aria-label=\"Permalink: 0.6.0 - 2015-10-05\" href=\"#060---2015-10-05\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFilter hooks by stage (commit, push).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.5.5 - 2015-09-04\u003c/h1\u003e\u003ca id=\"user-content-055---2015-09-04\" class=\"anchor\" aria-label=\"Permalink: 0.5.5 - 2015-09-04\" href=\"#055---2015-09-04\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eChange permissions a few files\u003c/li\u003e\n\u003cli\u003eRename the validate entrypoints\u003c/li\u003e\n\u003cli\u003eAdd --version to some entrypoints\u003c/li\u003e\n\u003cli\u003eAdd --no-document to gem installations\u003c/li\u003e\n\u003cli\u003eUse expanduser when finding the python binary\u003c/li\u003e\n\u003cli\u003eSuppress complaint about $TERM when no tty is attached\u003c/li\u003e\n\u003cli\u003eSupport pcre hooks on osx through ggrep\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.5.4 - 2015-07-24\u003c/h1\u003e\u003ca id=\"user-content-054---2015-07-24\" class=\"anchor\" aria-label=\"Permalink: 0.5.4 - 2015-07-24\" href=\"#054---2015-07-24\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAllow hooks to produce outputs with arbitrary bytes\u003c/li\u003e\n\u003cli\u003eFix pre-commit install when .git/hooks/pre-commit is a dead symlink\u003c/li\u003e\n\u003cli\u003eAllow an unstaged config when using --files or --all-files\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.5.3 - 2015-06-15\u003c/h1\u003e\u003ca id=\"user-content-053---2015-06-15\" class=\"anchor\" aria-label=\"Permalink: 0.5.3 - 2015-06-15\" href=\"#053---2015-06-15\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix autoupdate with \"local\" hooks - don't purge local hooks.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.5.2 - 2015-06-02\u003c/h1\u003e\u003ca id=\"user-content-052---2015-06-02\" class=\"anchor\" aria-label=\"Permalink: 0.5.2 - 2015-06-02\" href=\"#052---2015-06-02\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix autoupdate with \"local\" hooks\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.5.1 - 2015-05-23\u003c/h1\u003e\u003ca id=\"user-content-051---2015-05-23\" class=\"anchor\" aria-label=\"Permalink: 0.5.1 - 2015-05-23\" href=\"#051---2015-05-23\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix bug with unknown non-ascii hook-id\u003c/li\u003e\n\u003cli\u003eAvoid crash when .git/hooks is not present in some git clients\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.5.0 - 2015-05-19\u003c/h1\u003e\u003ca id=\"user-content-050---2015-05-19\" class=\"anchor\" aria-label=\"Permalink: 0.5.0 - 2015-05-19\" href=\"#050---2015-05-19\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd a new \"local\" hook type for running hooks without remote configuration.\u003c/li\u003e\n\u003cli\u003eComplain loudly when .pre-commit-config.yaml is unstaged.\u003c/li\u003e\n\u003cli\u003eBetter support for multiple language versions when running hooks.\u003c/li\u003e\n\u003cli\u003eAllow exclude to be defaulted in repository configuration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.4.4 - 2015-03-29\u003c/h1\u003e\u003ca id=\"user-content-044---2015-03-29\" class=\"anchor\" aria-label=\"Permalink: 0.4.4 - 2015-03-29\" href=\"#044---2015-03-29\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUse sys.executable when executing virtualenv\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.4.3 - 2015-03-25\u003c/h1\u003e\u003ca id=\"user-content-043---2015-03-25\" class=\"anchor\" aria-label=\"Permalink: 0.4.3 - 2015-03-25\" href=\"#043---2015-03-25\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUse reset instead of checkout when checkout out hook repo\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.4.2 - 2015-02-27\u003c/h1\u003e\u003ca id=\"user-content-042---2015-02-27\" class=\"anchor\" aria-label=\"Permalink: 0.4.2 - 2015-02-27\" href=\"#042---2015-02-27\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eLimit length of xargs arguments to workaround windows xargs bug\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.4.1 - 2015-02-27\u003c/h1\u003e\u003ca id=\"user-content-041---2015-02-27\" class=\"anchor\" aria-label=\"Permalink: 0.4.1 - 2015-02-27\" href=\"#041---2015-02-27\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDon't rename across devices when creating sqlite database\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.4.0 - 2015-02-27\u003c/h1\u003e\u003ca id=\"user-content-040---2015-02-27\" class=\"anchor\" aria-label=\"Permalink: 0.4.0 - 2015-02-27\" href=\"#040---2015-02-27\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eMake ^C^C During installation not cause all subsequent runs to fail\u003c/li\u003e\n\u003cli\u003ePrint while installing (instead of while cloning)\u003c/li\u003e\n\u003cli\u003eUse sqlite to manage repositories (instead of symlinks)\u003c/li\u003e\n\u003cli\u003eMVP Windows support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.3.6 - 2015-02-05\u003c/h1\u003e\u003ca id=\"user-content-036---2015-02-05\" class=\"anchor\" aria-label=\"Permalink: 0.3.6 - 2015-02-05\" href=\"#036---2015-02-05\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eargs\u003c/code\u003e in venv'd languages are now property quoted.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.3.5 - 2015-01-15\u003c/h1\u003e\u003ca id=\"user-content-035---2015-01-15\" class=\"anchor\" aria-label=\"Permalink: 0.3.5 - 2015-01-15\" href=\"#035---2015-01-15\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSupport running during \u003ccode\u003epre-push\u003c/code\u003e.  See \u003ca href=\"https://pre-commit.com/#advanced\" rel=\"nofollow\"\u003ehttps://pre-commit.com/#advanced\u003c/a\u003e 'pre-commit during push'.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.3.4 - 2015-01-13\u003c/h1\u003e\u003ca id=\"user-content-034---2015-01-13\" class=\"anchor\" aria-label=\"Permalink: 0.3.4 - 2015-01-13\" href=\"#034---2015-01-13\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAllow hook providers to default \u003ccode\u003eargs\u003c/code\u003e in \u003ccode\u003ehooks.yaml\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.3.3 - 2015-01-06\u003c/h1\u003e\u003ca id=\"user-content-033---2015-01-06\" class=\"anchor\" aria-label=\"Permalink: 0.3.3 - 2015-01-06\" href=\"#033---2015-01-06\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove message for \u003ccode\u003eCalledProcessError\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.3.2 - 2014-10-07\u003c/h1\u003e\u003ca id=\"user-content-032---2014-10-07\" class=\"anchor\" aria-label=\"Permalink: 0.3.2 - 2014-10-07\" href=\"#032---2014-10-07\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix for \u003ccode\u003estaged_files_only\u003c/code\u003e with color.diff = always #176.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.3.1 - 2014-10-03\u003c/h1\u003e\u003ca id=\"user-content-031---2014-10-03\" class=\"anchor\" aria-label=\"Permalink: 0.3.1 - 2014-10-03\" href=\"#031---2014-10-03\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix error clobbering #174.\u003c/li\u003e\n\u003cli\u003eRemove dependency on \u003ccode\u003eplumbum\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow pre-commit to be run from anywhere in a repository #175.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.3.0 - 2014-09-18\u003c/h1\u003e\u003ca id=\"user-content-030---2014-09-18\" class=\"anchor\" aria-label=\"Permalink: 0.3.0 - 2014-09-18\" href=\"#030---2014-09-18\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003e--files\u003c/code\u003e option to \u003ccode\u003epre-commit run\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.2.11 - 2014-09-05\u003c/h1\u003e\u003ca id=\"user-content-0211---2014-09-05\" class=\"anchor\" aria-label=\"Permalink: 0.2.11 - 2014-09-05\" href=\"#0211---2014-09-05\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix terminal width detection (broken in 0.2.10)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.2.10 - 2014-09-04\u003c/h1\u003e\u003ca id=\"user-content-0210---2014-09-04\" class=\"anchor\" aria-label=\"Permalink: 0.2.10 - 2014-09-04\" href=\"#0210---2014-09-04\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eBump version of nodeenv to fix bug with ~/.npmrc\u003c/li\u003e\n\u003cli\u003eChoose \u003ccode\u003epython\u003c/code\u003e more intelligently when running.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.2.9 - 2014-09-02\u003c/h1\u003e\u003ca id=\"user-content-029---2014-09-02\" class=\"anchor\" aria-label=\"Permalink: 0.2.9 - 2014-09-02\" href=\"#029---2014-09-02\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix bug where sys.stdout.write must take \u003ccode\u003ebytes\u003c/code\u003e in python 2.6\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.2.8 - 2014-08-13\u003c/h1\u003e\u003ca id=\"user-content-028---2014-08-13\" class=\"anchor\" aria-label=\"Permalink: 0.2.8 - 2014-08-13\" href=\"#028---2014-08-13\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAllow a client to have duplicates of hooks.\u003c/li\u003e\n\u003cli\u003eUse --prebuilt instead of system for node.\u003c/li\u003e\n\u003cli\u003eImprove some fatal error messages\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.2.7 - 2014-07-28\u003c/h1\u003e\u003ca id=\"user-content-027---2014-07-28\" class=\"anchor\" aria-label=\"Permalink: 0.2.7 - 2014-07-28\" href=\"#027---2014-07-28\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eProduce output when running pre-commit install --install-hooks\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.2.6 - 2014-07-28\u003c/h1\u003e\u003ca id=\"user-content-026---2014-07-28\" class=\"anchor\" aria-label=\"Permalink: 0.2.6 - 2014-07-28\" href=\"#026---2014-07-28\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ePrint hookid on failure\u003c/li\u003e\n\u003cli\u003eUse sys.executable for running nodeenv\u003c/li\u003e\n\u003cli\u003eAllow running as \u003ccode\u003epython -m pre_commit\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.2.5 - 2014-07-17\u003c/h1\u003e\u003ca id=\"user-content-025---2014-07-17\" class=\"anchor\" aria-label=\"Permalink: 0.2.5 - 2014-07-17\" href=\"#025---2014-07-17\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDefault columns to 80 (for non-terminal execution).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.2.4 - 2014-07-07\u003c/h1\u003e\u003ca id=\"user-content-024---2014-07-07\" class=\"anchor\" aria-label=\"Permalink: 0.2.4 - 2014-07-07\" href=\"#024---2014-07-07\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSupport --install-hooks as an argument to \u003ccode\u003epre-commit install\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eInstall hooks before attempting to run anything\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003epython -m nodeenv\u003c/code\u003e instead of \u003ccode\u003enodeenv\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.2.3 - 2014-06-25\u003c/h1\u003e\u003ca id=\"user-content-023---2014-06-25\" class=\"anchor\" aria-label=\"Permalink: 0.2.3 - 2014-06-25\" href=\"#023---2014-06-25\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFreeze ruby building infrastructure\u003c/li\u003e\n\u003cli\u003eFix bug that assumed diffs were utf-8\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.2.2 - 2014-06-22\u003c/h1\u003e\u003ca id=\"user-content-022---2014-06-22\" class=\"anchor\" aria-label=\"Permalink: 0.2.2 - 2014-06-22\" href=\"#022---2014-06-22\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix filenames with spaces\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.2.1 - 2014-06-18\u003c/h1\u003e\u003ca id=\"user-content-021---2014-06-18\" class=\"anchor\" aria-label=\"Permalink: 0.2.1 - 2014-06-18\" href=\"#021---2014-06-18\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUse either \u003ccode\u003epre-commit\u003c/code\u003e or \u003ccode\u003epython -m pre_commit.main\u003c/code\u003e depending on which is\navailable\u003c/li\u003e\n\u003cli\u003eDon't use readlink -f\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.2.0 - 2014-06-17\u003c/h1\u003e\u003ca id=\"user-content-020---2014-06-17\" class=\"anchor\" aria-label=\"Permalink: 0.2.0 - 2014-06-17\" href=\"#020---2014-06-17\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix for merge-conflict during cherry-picking.\u003c/li\u003e\n\u003cli\u003eAdd -V / --version\u003c/li\u003e\n\u003cli\u003eAdd migration install mode / install -f / --overwrite\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epcre\u003c/code\u003e \"language\" for perl compatible regexes\u003c/li\u003e\n\u003cli\u003eReorganize packages.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.1.1 - 2014-06-11\u003c/h1\u003e\u003ca id=\"user-content-011---2014-06-11\" class=\"anchor\" aria-label=\"Permalink: 0.1.1 - 2014-06-11\" href=\"#011---2014-06-11\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed bug with autoupdate setting defaults on un-updated repos.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.1.0 - 2014-06-07\u003c/h1\u003e\u003ca id=\"user-content-010---2014-06-07\" class=\"anchor\" aria-label=\"Permalink: 0.1.0 - 2014-06-07\" href=\"#010---2014-06-07\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eInitial Release\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/article\u003e","richTextTruncated":false,"renderedFileInfo":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"2.9.2 - 2020-11-25","fully_qualified_name":"2.9.2 - 2020-11-25","kind":"section_1","ident_start":0,"ident_end":18,"extent_start":0,"extent_end":38,"ident_utf16":{"start":{"line_number":0,"utf16_col":0},"end":{"line_number":0,"utf16_col":18}},"extent_utf16":{"start":{"line_number":0,"utf16_col":0},"end":{"line_number":2,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":43,"ident_end":48,"extent_start":39,"extent_end":276,"ident_utf16":{"start":{"line_number":3,"utf16_col":4},"end":{"line_number":3,"utf16_col":9}},"extent_utf16":{"start":{"line_number":3,"utf16_col":0},"end":{"line_number":11,"utf16_col":0}}},{"name":"2.9.1 - 2020-11-25","fully_qualified_name":"2.9.1 - 2020-11-25","kind":"section_1","ident_start":237,"ident_end":255,"extent_start":237,"extent_end":275,"ident_utf16":{"start":{"line_number":8,"utf16_col":0},"end":{"line_number":8,"utf16_col":18}},"extent_utf16":{"start":{"line_number":8,"utf16_col":0},"end":{"line_number":10,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":280,"ident_end":285,"extent_start":276,"extent_end":727,"ident_utf16":{"start":{"line_number":11,"utf16_col":4},"end":{"line_number":11,"utf16_col":9}},"extent_utf16":{"start":{"line_number":11,"utf16_col":0},"end":{"line_number":26,"utf16_col":0}}},{"name":"2.9.0 - 2020-11-21","fully_qualified_name":"2.9.0 - 2020-11-21","kind":"section_1","ident_start":688,"ident_end":706,"extent_start":688,"extent_end":726,"ident_utf16":{"start":{"line_number":23,"utf16_col":0},"end":{"line_number":23,"utf16_col":18}},"extent_utf16":{"start":{"line_number":23,"utf16_col":0},"end":{"line_number":25,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":731,"ident_end":739,"extent_start":727,"extent_end":1005,"ident_utf16":{"start":{"line_number":26,"utf16_col":4},"end":{"line_number":26,"utf16_col":12}},"extent_utf16":{"start":{"line_number":26,"utf16_col":0},"end":{"line_number":34,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":1009,"ident_end":1014,"extent_start":1005,"extent_end":1526,"ident_utf16":{"start":{"line_number":34,"utf16_col":4},"end":{"line_number":34,"utf16_col":9}},"extent_utf16":{"start":{"line_number":34,"utf16_col":0},"end":{"line_number":52,"utf16_col":0}}},{"name":"2.8.2 - 2020-10-30","fully_qualified_name":"2.8.2 - 2020-10-30","kind":"section_1","ident_start":1487,"ident_end":1505,"extent_start":1487,"extent_end":1525,"ident_utf16":{"start":{"line_number":49,"utf16_col":0},"end":{"line_number":49,"utf16_col":18}},"extent_utf16":{"start":{"line_number":49,"utf16_col":0},"end":{"line_number":51,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":1530,"ident_end":1535,"extent_start":1526,"extent_end":1704,"ident_utf16":{"start":{"line_number":52,"utf16_col":4},"end":{"line_number":52,"utf16_col":9}},"extent_utf16":{"start":{"line_number":52,"utf16_col":0},"end":{"line_number":60,"utf16_col":0}}},{"name":"2.8.1 - 2020-10-28","fully_qualified_name":"2.8.1 - 2020-10-28","kind":"section_1","ident_start":1665,"ident_end":1683,"extent_start":1665,"extent_end":1703,"ident_utf16":{"start":{"line_number":57,"utf16_col":0},"end":{"line_number":57,"utf16_col":18}},"extent_utf16":{"start":{"line_number":57,"utf16_col":0},"end":{"line_number":59,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":1708,"ident_end":1713,"extent_start":1704,"extent_end":1854,"ident_utf16":{"start":{"line_number":60,"utf16_col":4},"end":{"line_number":60,"utf16_col":9}},"extent_utf16":{"start":{"line_number":60,"utf16_col":0},"end":{"line_number":67,"utf16_col":0}}},{"name":"2.8.0 - 2020-10-28","fully_qualified_name":"2.8.0 - 2020-10-28","kind":"section_1","ident_start":1815,"ident_end":1833,"extent_start":1815,"extent_end":1853,"ident_utf16":{"start":{"line_number":64,"utf16_col":0},"end":{"line_number":64,"utf16_col":18}},"extent_utf16":{"start":{"line_number":64,"utf16_col":0},"end":{"line_number":66,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":1858,"ident_end":1866,"extent_start":1854,"extent_end":2475,"ident_utf16":{"start":{"line_number":67,"utf16_col":4},"end":{"line_number":67,"utf16_col":12}},"extent_utf16":{"start":{"line_number":67,"utf16_col":0},"end":{"line_number":86,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":2479,"ident_end":2484,"extent_start":2475,"extent_end":3879,"ident_utf16":{"start":{"line_number":86,"utf16_col":4},"end":{"line_number":86,"utf16_col":9}},"extent_utf16":{"start":{"line_number":86,"utf16_col":0},"end":{"line_number":121,"utf16_col":0}}},{"name":"2.7.1 - 2020-08-23","fully_qualified_name":"2.7.1 - 2020-08-23","kind":"section_1","ident_start":3840,"ident_end":3858,"extent_start":3840,"extent_end":3878,"ident_utf16":{"start":{"line_number":118,"utf16_col":0},"end":{"line_number":118,"utf16_col":18}},"extent_utf16":{"start":{"line_number":118,"utf16_col":0},"end":{"line_number":120,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":3883,"ident_end":3888,"extent_start":3879,"extent_end":4287,"ident_utf16":{"start":{"line_number":121,"utf16_col":4},"end":{"line_number":121,"utf16_col":9}},"extent_utf16":{"start":{"line_number":121,"utf16_col":0},"end":{"line_number":135,"utf16_col":0}}},{"name":"2.7.0 - 2020-08-22","fully_qualified_name":"2.7.0 - 2020-08-22","kind":"section_1","ident_start":4248,"ident_end":4266,"extent_start":4248,"extent_end":4286,"ident_utf16":{"start":{"line_number":132,"utf16_col":0},"end":{"line_number":132,"utf16_col":18}},"extent_utf16":{"start":{"line_number":132,"utf16_col":0},"end":{"line_number":134,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":4291,"ident_end":4299,"extent_start":4287,"extent_end":4673,"ident_utf16":{"start":{"line_number":135,"utf16_col":4},"end":{"line_number":135,"utf16_col":12}},"extent_utf16":{"start":{"line_number":135,"utf16_col":0},"end":{"line_number":146,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":4677,"ident_end":4682,"extent_start":4673,"extent_end":4950,"ident_utf16":{"start":{"line_number":146,"utf16_col":4},"end":{"line_number":146,"utf16_col":9}},"extent_utf16":{"start":{"line_number":146,"utf16_col":0},"end":{"line_number":158,"utf16_col":0}}},{"name":"2.6.0 - 2020-07-01","fully_qualified_name":"2.6.0 - 2020-07-01","kind":"section_1","ident_start":4911,"ident_end":4929,"extent_start":4911,"extent_end":4949,"ident_utf16":{"start":{"line_number":155,"utf16_col":0},"end":{"line_number":155,"utf16_col":18}},"extent_utf16":{"start":{"line_number":155,"utf16_col":0},"end":{"line_number":157,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":4954,"ident_end":4959,"extent_start":4950,"extent_end":5070,"ident_utf16":{"start":{"line_number":158,"utf16_col":4},"end":{"line_number":158,"utf16_col":9}},"extent_utf16":{"start":{"line_number":158,"utf16_col":0},"end":{"line_number":163,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":5074,"ident_end":5082,"extent_start":5070,"extent_end":5341,"ident_utf16":{"start":{"line_number":163,"utf16_col":4},"end":{"line_number":163,"utf16_col":12}},"extent_utf16":{"start":{"line_number":163,"utf16_col":0},"end":{"line_number":173,"utf16_col":0}}},{"name":"2.5.1 - 2020-06-09","fully_qualified_name":"2.5.1 - 2020-06-09","kind":"section_1","ident_start":5302,"ident_end":5320,"extent_start":5302,"extent_end":5340,"ident_utf16":{"start":{"line_number":170,"utf16_col":0},"end":{"line_number":170,"utf16_col":18}},"extent_utf16":{"start":{"line_number":170,"utf16_col":0},"end":{"line_number":172,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":5345,"ident_end":5350,"extent_start":5341,"extent_end":5507,"ident_utf16":{"start":{"line_number":173,"utf16_col":4},"end":{"line_number":173,"utf16_col":9}},"extent_utf16":{"start":{"line_number":173,"utf16_col":0},"end":{"line_number":181,"utf16_col":0}}},{"name":"2.5.0 - 2020-06-08","fully_qualified_name":"2.5.0 - 2020-06-08","kind":"section_1","ident_start":5468,"ident_end":5486,"extent_start":5468,"extent_end":5506,"ident_utf16":{"start":{"line_number":178,"utf16_col":0},"end":{"line_number":178,"utf16_col":18}},"extent_utf16":{"start":{"line_number":178,"utf16_col":0},"end":{"line_number":180,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":5511,"ident_end":5519,"extent_start":5507,"extent_end":5655,"ident_utf16":{"start":{"line_number":181,"utf16_col":4},"end":{"line_number":181,"utf16_col":12}},"extent_utf16":{"start":{"line_number":181,"utf16_col":0},"end":{"line_number":186,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":5659,"ident_end":5664,"extent_start":5655,"extent_end":6196,"ident_utf16":{"start":{"line_number":186,"utf16_col":4},"end":{"line_number":186,"utf16_col":9}},"extent_utf16":{"start":{"line_number":186,"utf16_col":0},"end":{"line_number":202,"utf16_col":0}}},{"name":"2.4.0 - 2020-05-11","fully_qualified_name":"2.4.0 - 2020-05-11","kind":"section_1","ident_start":6157,"ident_end":6175,"extent_start":6157,"extent_end":6195,"ident_utf16":{"start":{"line_number":199,"utf16_col":0},"end":{"line_number":199,"utf16_col":18}},"extent_utf16":{"start":{"line_number":199,"utf16_col":0},"end":{"line_number":201,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":6200,"ident_end":6208,"extent_start":6196,"extent_end":6879,"ident_utf16":{"start":{"line_number":202,"utf16_col":4},"end":{"line_number":202,"utf16_col":12}},"extent_utf16":{"start":{"line_number":202,"utf16_col":0},"end":{"line_number":220,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":6883,"ident_end":6888,"extent_start":6879,"extent_end":7556,"ident_utf16":{"start":{"line_number":220,"utf16_col":4},"end":{"line_number":220,"utf16_col":9}},"extent_utf16":{"start":{"line_number":220,"utf16_col":0},"end":{"line_number":240,"utf16_col":0}}},{"name":"2.3.0 - 2020-04-22","fully_qualified_name":"2.3.0 - 2020-04-22","kind":"section_1","ident_start":7517,"ident_end":7535,"extent_start":7517,"extent_end":7555,"ident_utf16":{"start":{"line_number":237,"utf16_col":0},"end":{"line_number":237,"utf16_col":18}},"extent_utf16":{"start":{"line_number":237,"utf16_col":0},"end":{"line_number":239,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":7560,"ident_end":7568,"extent_start":7556,"extent_end":7784,"ident_utf16":{"start":{"line_number":240,"utf16_col":4},"end":{"line_number":240,"utf16_col":12}},"extent_utf16":{"start":{"line_number":240,"utf16_col":0},"end":{"line_number":247,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":7788,"ident_end":7793,"extent_start":7784,"extent_end":8378,"ident_utf16":{"start":{"line_number":247,"utf16_col":4},"end":{"line_number":247,"utf16_col":9}},"extent_utf16":{"start":{"line_number":247,"utf16_col":0},"end":{"line_number":265,"utf16_col":0}}},{"name":"2.2.0 - 2020-03-12","fully_qualified_name":"2.2.0 - 2020-03-12","kind":"section_1","ident_start":8339,"ident_end":8357,"extent_start":8339,"extent_end":8377,"ident_utf16":{"start":{"line_number":262,"utf16_col":0},"end":{"line_number":262,"utf16_col":18}},"extent_utf16":{"start":{"line_number":262,"utf16_col":0},"end":{"line_number":264,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":8382,"ident_end":8390,"extent_start":8378,"extent_end":8613,"ident_utf16":{"start":{"line_number":265,"utf16_col":4},"end":{"line_number":265,"utf16_col":12}},"extent_utf16":{"start":{"line_number":265,"utf16_col":0},"end":{"line_number":273,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":8617,"ident_end":8622,"extent_start":8613,"extent_end":9121,"ident_utf16":{"start":{"line_number":273,"utf16_col":4},"end":{"line_number":273,"utf16_col":9}},"extent_utf16":{"start":{"line_number":273,"utf16_col":0},"end":{"line_number":287,"utf16_col":0}}},{"name":"Misc.","fully_qualified_name":"Misc.","kind":"section_3","ident_start":9125,"ident_end":9130,"extent_start":9121,"extent_end":9259,"ident_utf16":{"start":{"line_number":287,"utf16_col":4},"end":{"line_number":287,"utf16_col":9}},"extent_utf16":{"start":{"line_number":287,"utf16_col":0},"end":{"line_number":294,"utf16_col":0}}},{"name":"2.1.1 - 2020-02-24","fully_qualified_name":"2.1.1 - 2020-02-24","kind":"section_1","ident_start":9220,"ident_end":9238,"extent_start":9220,"extent_end":9258,"ident_utf16":{"start":{"line_number":291,"utf16_col":0},"end":{"line_number":291,"utf16_col":18}},"extent_utf16":{"start":{"line_number":291,"utf16_col":0},"end":{"line_number":293,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":9263,"ident_end":9268,"extent_start":9259,"extent_end":9431,"ident_utf16":{"start":{"line_number":294,"utf16_col":4},"end":{"line_number":294,"utf16_col":9}},"extent_utf16":{"start":{"line_number":294,"utf16_col":0},"end":{"line_number":302,"utf16_col":0}}},{"name":"2.1.0 - 2020-02-18","fully_qualified_name":"2.1.0 - 2020-02-18","kind":"section_1","ident_start":9392,"ident_end":9410,"extent_start":9392,"extent_end":9430,"ident_utf16":{"start":{"line_number":299,"utf16_col":0},"end":{"line_number":299,"utf16_col":18}},"extent_utf16":{"start":{"line_number":299,"utf16_col":0},"end":{"line_number":301,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":9435,"ident_end":9443,"extent_start":9431,"extent_end":9571,"ident_utf16":{"start":{"line_number":302,"utf16_col":4},"end":{"line_number":302,"utf16_col":12}},"extent_utf16":{"start":{"line_number":302,"utf16_col":0},"end":{"line_number":308,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":9575,"ident_end":9580,"extent_start":9571,"extent_end":9725,"ident_utf16":{"start":{"line_number":308,"utf16_col":4},"end":{"line_number":308,"utf16_col":9}},"extent_utf16":{"start":{"line_number":308,"utf16_col":0},"end":{"line_number":313,"utf16_col":0}}},{"name":"Misc.","fully_qualified_name":"Misc.","kind":"section_3","ident_start":9729,"ident_end":9734,"extent_start":9725,"extent_end":10001,"ident_utf16":{"start":{"line_number":313,"utf16_col":4},"end":{"line_number":313,"utf16_col":9}},"extent_utf16":{"start":{"line_number":313,"utf16_col":0},"end":{"line_number":321,"utf16_col":0}}},{"name":"2.0.1 - 2020-01-29","fully_qualified_name":"2.0.1 - 2020-01-29","kind":"section_1","ident_start":9962,"ident_end":9980,"extent_start":9962,"extent_end":10000,"ident_utf16":{"start":{"line_number":318,"utf16_col":0},"end":{"line_number":318,"utf16_col":18}},"extent_utf16":{"start":{"line_number":318,"utf16_col":0},"end":{"line_number":320,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":10005,"ident_end":10010,"extent_start":10001,"extent_end":10147,"ident_utf16":{"start":{"line_number":321,"utf16_col":4},"end":{"line_number":321,"utf16_col":9}},"extent_utf16":{"start":{"line_number":321,"utf16_col":0},"end":{"line_number":328,"utf16_col":0}}},{"name":"2.0.0 - 2020-01-28","fully_qualified_name":"2.0.0 - 2020-01-28","kind":"section_1","ident_start":10108,"ident_end":10126,"extent_start":10108,"extent_end":10146,"ident_utf16":{"start":{"line_number":325,"utf16_col":0},"end":{"line_number":325,"utf16_col":18}},"extent_utf16":{"start":{"line_number":325,"utf16_col":0},"end":{"line_number":327,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":10151,"ident_end":10159,"extent_start":10147,"extent_end":10340,"ident_utf16":{"start":{"line_number":328,"utf16_col":4},"end":{"line_number":328,"utf16_col":12}},"extent_utf16":{"start":{"line_number":328,"utf16_col":0},"end":{"line_number":334,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":10344,"ident_end":10349,"extent_start":10340,"extent_end":10746,"ident_utf16":{"start":{"line_number":334,"utf16_col":4},"end":{"line_number":334,"utf16_col":9}},"extent_utf16":{"start":{"line_number":334,"utf16_col":0},"end":{"line_number":346,"utf16_col":0}}},{"name":"Misc","fully_qualified_name":"Misc","kind":"section_3","ident_start":10750,"ident_end":10754,"extent_start":10746,"extent_end":10819,"ident_utf16":{"start":{"line_number":346,"utf16_col":4},"end":{"line_number":346,"utf16_col":8}},"extent_utf16":{"start":{"line_number":346,"utf16_col":0},"end":{"line_number":350,"utf16_col":0}}},{"name":"Updating","fully_qualified_name":"Updating","kind":"section_3","ident_start":10823,"ident_end":10831,"extent_start":10819,"extent_end":11437,"ident_utf16":{"start":{"line_number":350,"utf16_col":4},"end":{"line_number":350,"utf16_col":12}},"extent_utf16":{"start":{"line_number":350,"utf16_col":0},"end":{"line_number":369,"utf16_col":0}}},{"name":"1.21.0 - 2020-01-02","fully_qualified_name":"1.21.0 - 2020-01-02","kind":"section_1","ident_start":11396,"ident_end":11415,"extent_start":11396,"extent_end":11436,"ident_utf16":{"start":{"line_number":366,"utf16_col":0},"end":{"line_number":366,"utf16_col":19}},"extent_utf16":{"start":{"line_number":366,"utf16_col":0},"end":{"line_number":368,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":11441,"ident_end":11449,"extent_start":11437,"extent_end":12129,"ident_utf16":{"start":{"line_number":369,"utf16_col":4},"end":{"line_number":369,"utf16_col":12}},"extent_utf16":{"start":{"line_number":369,"utf16_col":0},"end":{"line_number":388,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":12133,"ident_end":12138,"extent_start":12129,"extent_end":12834,"ident_utf16":{"start":{"line_number":388,"utf16_col":4},"end":{"line_number":388,"utf16_col":9}},"extent_utf16":{"start":{"line_number":388,"utf16_col":0},"end":{"line_number":406,"utf16_col":0}}},{"name":"Misc.","fully_qualified_name":"Misc.","kind":"section_3","ident_start":12838,"ident_end":12843,"extent_start":12834,"extent_end":12980,"ident_utf16":{"start":{"line_number":406,"utf16_col":4},"end":{"line_number":406,"utf16_col":9}},"extent_utf16":{"start":{"line_number":406,"utf16_col":0},"end":{"line_number":414,"utf16_col":0}}},{"name":"1.20.0 - 2019-10-28","fully_qualified_name":"1.20.0 - 2019-10-28","kind":"section_1","ident_start":12939,"ident_end":12958,"extent_start":12939,"extent_end":12979,"ident_utf16":{"start":{"line_number":411,"utf16_col":0},"end":{"line_number":411,"utf16_col":19}},"extent_utf16":{"start":{"line_number":411,"utf16_col":0},"end":{"line_number":413,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":12984,"ident_end":12992,"extent_start":12980,"extent_end":13181,"ident_utf16":{"start":{"line_number":414,"utf16_col":4},"end":{"line_number":414,"utf16_col":12}},"extent_utf16":{"start":{"line_number":414,"utf16_col":0},"end":{"line_number":421,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":13185,"ident_end":13190,"extent_start":13181,"extent_end":13362,"ident_utf16":{"start":{"line_number":421,"utf16_col":4},"end":{"line_number":421,"utf16_col":9}},"extent_utf16":{"start":{"line_number":421,"utf16_col":0},"end":{"line_number":429,"utf16_col":0}}},{"name":"1.19.0 - 2019-10-26","fully_qualified_name":"1.19.0 - 2019-10-26","kind":"section_1","ident_start":13321,"ident_end":13340,"extent_start":13321,"extent_end":13361,"ident_utf16":{"start":{"line_number":426,"utf16_col":0},"end":{"line_number":426,"utf16_col":19}},"extent_utf16":{"start":{"line_number":426,"utf16_col":0},"end":{"line_number":428,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":13366,"ident_end":13374,"extent_start":13362,"extent_end":14085,"ident_utf16":{"start":{"line_number":429,"utf16_col":4},"end":{"line_number":429,"utf16_col":12}},"extent_utf16":{"start":{"line_number":429,"utf16_col":0},"end":{"line_number":446,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":14089,"ident_end":14094,"extent_start":14085,"extent_end":14583,"ident_utf16":{"start":{"line_number":446,"utf16_col":4},"end":{"line_number":446,"utf16_col":9}},"extent_utf16":{"start":{"line_number":446,"utf16_col":0},"end":{"line_number":460,"utf16_col":0}}},{"name":"Updating","fully_qualified_name":"Updating","kind":"section_3","ident_start":14587,"ident_end":14595,"extent_start":14583,"extent_end":14762,"ident_utf16":{"start":{"line_number":460,"utf16_col":4},"end":{"line_number":460,"utf16_col":12}},"extent_utf16":{"start":{"line_number":460,"utf16_col":0},"end":{"line_number":467,"utf16_col":0}}},{"name":"1.18.3 - 2019-08-27","fully_qualified_name":"1.18.3 - 2019-08-27","kind":"section_1","ident_start":14721,"ident_end":14740,"extent_start":14721,"extent_end":14761,"ident_utf16":{"start":{"line_number":464,"utf16_col":0},"end":{"line_number":464,"utf16_col":19}},"extent_utf16":{"start":{"line_number":464,"utf16_col":0},"end":{"line_number":466,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":14766,"ident_end":14771,"extent_start":14762,"extent_end":14927,"ident_utf16":{"start":{"line_number":467,"utf16_col":4},"end":{"line_number":467,"utf16_col":9}},"extent_utf16":{"start":{"line_number":467,"utf16_col":0},"end":{"line_number":475,"utf16_col":0}}},{"name":"1.18.2 - 2019-08-15","fully_qualified_name":"1.18.2 - 2019-08-15","kind":"section_1","ident_start":14886,"ident_end":14905,"extent_start":14886,"extent_end":14926,"ident_utf16":{"start":{"line_number":472,"utf16_col":0},"end":{"line_number":472,"utf16_col":19}},"extent_utf16":{"start":{"line_number":472,"utf16_col":0},"end":{"line_number":474,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":14931,"ident_end":14936,"extent_start":14927,"extent_end":15080,"ident_utf16":{"start":{"line_number":475,"utf16_col":4},"end":{"line_number":475,"utf16_col":9}},"extent_utf16":{"start":{"line_number":475,"utf16_col":0},"end":{"line_number":482,"utf16_col":0}}},{"name":"1.18.1 - 2019-08-11","fully_qualified_name":"1.18.1 - 2019-08-11","kind":"section_1","ident_start":15039,"ident_end":15058,"extent_start":15039,"extent_end":15079,"ident_utf16":{"start":{"line_number":479,"utf16_col":0},"end":{"line_number":479,"utf16_col":19}},"extent_utf16":{"start":{"line_number":479,"utf16_col":0},"end":{"line_number":481,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":15084,"ident_end":15089,"extent_start":15080,"extent_end":15243,"ident_utf16":{"start":{"line_number":482,"utf16_col":4},"end":{"line_number":482,"utf16_col":9}},"extent_utf16":{"start":{"line_number":482,"utf16_col":0},"end":{"line_number":490,"utf16_col":0}}},{"name":"1.18.0 - 2019-08-03","fully_qualified_name":"1.18.0 - 2019-08-03","kind":"section_1","ident_start":15202,"ident_end":15221,"extent_start":15202,"extent_end":15242,"ident_utf16":{"start":{"line_number":487,"utf16_col":0},"end":{"line_number":487,"utf16_col":19}},"extent_utf16":{"start":{"line_number":487,"utf16_col":0},"end":{"line_number":489,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":15247,"ident_end":15255,"extent_start":15243,"extent_end":16193,"ident_utf16":{"start":{"line_number":490,"utf16_col":4},"end":{"line_number":490,"utf16_col":12}},"extent_utf16":{"start":{"line_number":490,"utf16_col":0},"end":{"line_number":516,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":16197,"ident_end":16202,"extent_start":16193,"extent_end":16454,"ident_utf16":{"start":{"line_number":516,"utf16_col":4},"end":{"line_number":516,"utf16_col":9}},"extent_utf16":{"start":{"line_number":516,"utf16_col":0},"end":{"line_number":525,"utf16_col":0}}},{"name":"Misc.","fully_qualified_name":"Misc.","kind":"section_3","ident_start":16458,"ident_end":16463,"extent_start":16454,"extent_end":16628,"ident_utf16":{"start":{"line_number":525,"utf16_col":4},"end":{"line_number":525,"utf16_col":9}},"extent_utf16":{"start":{"line_number":525,"utf16_col":0},"end":{"line_number":534,"utf16_col":0}}},{"name":"1.17.0 - 2019-06-06","fully_qualified_name":"1.17.0 - 2019-06-06","kind":"section_1","ident_start":16587,"ident_end":16606,"extent_start":16587,"extent_end":16627,"ident_utf16":{"start":{"line_number":531,"utf16_col":0},"end":{"line_number":531,"utf16_col":19}},"extent_utf16":{"start":{"line_number":531,"utf16_col":0},"end":{"line_number":533,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":16632,"ident_end":16640,"extent_start":16628,"extent_end":16817,"ident_utf16":{"start":{"line_number":534,"utf16_col":4},"end":{"line_number":534,"utf16_col":12}},"extent_utf16":{"start":{"line_number":534,"utf16_col":0},"end":{"line_number":541,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":16821,"ident_end":16826,"extent_start":16817,"extent_end":17147,"ident_utf16":{"start":{"line_number":541,"utf16_col":4},"end":{"line_number":541,"utf16_col":9}},"extent_utf16":{"start":{"line_number":541,"utf16_col":0},"end":{"line_number":551,"utf16_col":0}}},{"name":"Misc.","fully_qualified_name":"Misc.","kind":"section_3","ident_start":17151,"ident_end":17156,"extent_start":17147,"extent_end":17313,"ident_utf16":{"start":{"line_number":551,"utf16_col":4},"end":{"line_number":551,"utf16_col":9}},"extent_utf16":{"start":{"line_number":551,"utf16_col":0},"end":{"line_number":560,"utf16_col":0}}},{"name":"1.16.1 - 2019-05-08","fully_qualified_name":"1.16.1 - 2019-05-08","kind":"section_1","ident_start":17272,"ident_end":17291,"extent_start":17272,"extent_end":17312,"ident_utf16":{"start":{"line_number":557,"utf16_col":0},"end":{"line_number":557,"utf16_col":19}},"extent_utf16":{"start":{"line_number":557,"utf16_col":0},"end":{"line_number":559,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":17317,"ident_end":17322,"extent_start":17313,"extent_end":17524,"ident_utf16":{"start":{"line_number":560,"utf16_col":4},"end":{"line_number":560,"utf16_col":9}},"extent_utf16":{"start":{"line_number":560,"utf16_col":0},"end":{"line_number":569,"utf16_col":0}}},{"name":"1.16.0 - 2019-05-04","fully_qualified_name":"1.16.0 - 2019-05-04","kind":"section_1","ident_start":17483,"ident_end":17502,"extent_start":17483,"extent_end":17523,"ident_utf16":{"start":{"line_number":566,"utf16_col":0},"end":{"line_number":566,"utf16_col":19}},"extent_utf16":{"start":{"line_number":566,"utf16_col":0},"end":{"line_number":568,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":17528,"ident_end":17536,"extent_start":17524,"extent_end":17610,"ident_utf16":{"start":{"line_number":569,"utf16_col":4},"end":{"line_number":569,"utf16_col":12}},"extent_utf16":{"start":{"line_number":569,"utf16_col":0},"end":{"line_number":573,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":17614,"ident_end":17619,"extent_start":17610,"extent_end":17851,"ident_utf16":{"start":{"line_number":573,"utf16_col":4},"end":{"line_number":573,"utf16_col":9}},"extent_utf16":{"start":{"line_number":573,"utf16_col":0},"end":{"line_number":582,"utf16_col":0}}},{"name":"Misc.","fully_qualified_name":"Misc.","kind":"section_3","ident_start":17855,"ident_end":17860,"extent_start":17851,"extent_end":17986,"ident_utf16":{"start":{"line_number":582,"utf16_col":4},"end":{"line_number":582,"utf16_col":9}},"extent_utf16":{"start":{"line_number":582,"utf16_col":0},"end":{"line_number":589,"utf16_col":0}}},{"name":"1.15.2 - 2019-04-16","fully_qualified_name":"1.15.2 - 2019-04-16","kind":"section_1","ident_start":17945,"ident_end":17964,"extent_start":17945,"extent_end":17985,"ident_utf16":{"start":{"line_number":586,"utf16_col":0},"end":{"line_number":586,"utf16_col":19}},"extent_utf16":{"start":{"line_number":586,"utf16_col":0},"end":{"line_number":588,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":17990,"ident_end":17995,"extent_start":17986,"extent_end":18168,"ident_utf16":{"start":{"line_number":589,"utf16_col":4},"end":{"line_number":589,"utf16_col":9}},"extent_utf16":{"start":{"line_number":589,"utf16_col":0},"end":{"line_number":597,"utf16_col":0}}},{"name":"1.15.1 - 2019-04-01","fully_qualified_name":"1.15.1 - 2019-04-01","kind":"section_1","ident_start":18127,"ident_end":18146,"extent_start":18127,"extent_end":18167,"ident_utf16":{"start":{"line_number":594,"utf16_col":0},"end":{"line_number":594,"utf16_col":19}},"extent_utf16":{"start":{"line_number":594,"utf16_col":0},"end":{"line_number":596,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":18172,"ident_end":18177,"extent_start":18168,"extent_end":18352,"ident_utf16":{"start":{"line_number":597,"utf16_col":4},"end":{"line_number":597,"utf16_col":9}},"extent_utf16":{"start":{"line_number":597,"utf16_col":0},"end":{"line_number":605,"utf16_col":0}}},{"name":"1.15.0 - 2019-03-30","fully_qualified_name":"1.15.0 - 2019-03-30","kind":"section_1","ident_start":18311,"ident_end":18330,"extent_start":18311,"extent_end":18351,"ident_utf16":{"start":{"line_number":602,"utf16_col":0},"end":{"line_number":602,"utf16_col":19}},"extent_utf16":{"start":{"line_number":602,"utf16_col":0},"end":{"line_number":604,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":18356,"ident_end":18364,"extent_start":18352,"extent_end":18932,"ident_utf16":{"start":{"line_number":605,"utf16_col":4},"end":{"line_number":605,"utf16_col":12}},"extent_utf16":{"start":{"line_number":605,"utf16_col":0},"end":{"line_number":621,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":18936,"ident_end":18941,"extent_start":18932,"extent_end":19257,"ident_utf16":{"start":{"line_number":621,"utf16_col":4},"end":{"line_number":621,"utf16_col":9}},"extent_utf16":{"start":{"line_number":621,"utf16_col":0},"end":{"line_number":630,"utf16_col":0}}},{"name":"Misc","fully_qualified_name":"Misc","kind":"section_3","ident_start":19261,"ident_end":19265,"extent_start":19257,"extent_end":19371,"ident_utf16":{"start":{"line_number":630,"utf16_col":4},"end":{"line_number":630,"utf16_col":8}},"extent_utf16":{"start":{"line_number":630,"utf16_col":0},"end":{"line_number":637,"utf16_col":0}}},{"name":"1.14.4 - 2019-02-18","fully_qualified_name":"1.14.4 - 2019-02-18","kind":"section_1","ident_start":19330,"ident_end":19349,"extent_start":19330,"extent_end":19370,"ident_utf16":{"start":{"line_number":634,"utf16_col":0},"end":{"line_number":634,"utf16_col":19}},"extent_utf16":{"start":{"line_number":634,"utf16_col":0},"end":{"line_number":636,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":19375,"ident_end":19380,"extent_start":19371,"extent_end":19785,"ident_utf16":{"start":{"line_number":637,"utf16_col":4},"end":{"line_number":637,"utf16_col":9}},"extent_utf16":{"start":{"line_number":637,"utf16_col":0},"end":{"line_number":651,"utf16_col":0}}},{"name":"1.14.3 - 2019-02-04","fully_qualified_name":"1.14.3 - 2019-02-04","kind":"section_1","ident_start":19744,"ident_end":19763,"extent_start":19744,"extent_end":19784,"ident_utf16":{"start":{"line_number":648,"utf16_col":0},"end":{"line_number":648,"utf16_col":19}},"extent_utf16":{"start":{"line_number":648,"utf16_col":0},"end":{"line_number":650,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":19789,"ident_end":19794,"extent_start":19785,"extent_end":20307,"ident_utf16":{"start":{"line_number":651,"utf16_col":4},"end":{"line_number":651,"utf16_col":9}},"extent_utf16":{"start":{"line_number":651,"utf16_col":0},"end":{"line_number":666,"utf16_col":0}}},{"name":"1.14.2 - 2019-01-10","fully_qualified_name":"1.14.2 - 2019-01-10","kind":"section_1","ident_start":20266,"ident_end":20285,"extent_start":20266,"extent_end":20306,"ident_utf16":{"start":{"line_number":663,"utf16_col":0},"end":{"line_number":663,"utf16_col":19}},"extent_utf16":{"start":{"line_number":663,"utf16_col":0},"end":{"line_number":665,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":20311,"ident_end":20316,"extent_start":20307,"extent_end":20488,"ident_utf16":{"start":{"line_number":666,"utf16_col":4},"end":{"line_number":666,"utf16_col":9}},"extent_utf16":{"start":{"line_number":666,"utf16_col":0},"end":{"line_number":674,"utf16_col":0}}},{"name":"1.14.1 - 2019-01-10","fully_qualified_name":"1.14.1 - 2019-01-10","kind":"section_1","ident_start":20447,"ident_end":20466,"extent_start":20447,"extent_end":20487,"ident_utf16":{"start":{"line_number":671,"utf16_col":0},"end":{"line_number":671,"utf16_col":19}},"extent_utf16":{"start":{"line_number":671,"utf16_col":0},"end":{"line_number":673,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":20492,"ident_end":20497,"extent_start":20488,"extent_end":20659,"ident_utf16":{"start":{"line_number":674,"utf16_col":4},"end":{"line_number":674,"utf16_col":9}},"extent_utf16":{"start":{"line_number":674,"utf16_col":0},"end":{"line_number":682,"utf16_col":0}}},{"name":"1.14.0 - 2019-01-08","fully_qualified_name":"1.14.0 - 2019-01-08","kind":"section_1","ident_start":20618,"ident_end":20637,"extent_start":20618,"extent_end":20658,"ident_utf16":{"start":{"line_number":679,"utf16_col":0},"end":{"line_number":679,"utf16_col":19}},"extent_utf16":{"start":{"line_number":679,"utf16_col":0},"end":{"line_number":681,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":20663,"ident_end":20671,"extent_start":20659,"extent_end":21766,"ident_utf16":{"start":{"line_number":682,"utf16_col":4},"end":{"line_number":682,"utf16_col":12}},"extent_utf16":{"start":{"line_number":682,"utf16_col":0},"end":{"line_number":711,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":21770,"ident_end":21775,"extent_start":21766,"extent_end":22674,"ident_utf16":{"start":{"line_number":711,"utf16_col":4},"end":{"line_number":711,"utf16_col":9}},"extent_utf16":{"start":{"line_number":711,"utf16_col":0},"end":{"line_number":732,"utf16_col":0}}},{"name":"Misc.","fully_qualified_name":"Misc.","kind":"section_3","ident_start":22678,"ident_end":22683,"extent_start":22674,"extent_end":22797,"ident_utf16":{"start":{"line_number":732,"utf16_col":4},"end":{"line_number":732,"utf16_col":9}},"extent_utf16":{"start":{"line_number":732,"utf16_col":0},"end":{"line_number":740,"utf16_col":0}}},{"name":"1.13.0 - 2018-12-20","fully_qualified_name":"1.13.0 - 2018-12-20","kind":"section_1","ident_start":22756,"ident_end":22775,"extent_start":22756,"extent_end":22796,"ident_utf16":{"start":{"line_number":737,"utf16_col":0},"end":{"line_number":737,"utf16_col":19}},"extent_utf16":{"start":{"line_number":737,"utf16_col":0},"end":{"line_number":739,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":22801,"ident_end":22809,"extent_start":22797,"extent_end":22983,"ident_utf16":{"start":{"line_number":740,"utf16_col":4},"end":{"line_number":740,"utf16_col":12}},"extent_utf16":{"start":{"line_number":740,"utf16_col":0},"end":{"line_number":746,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":22987,"ident_end":22992,"extent_start":22983,"extent_end":23642,"ident_utf16":{"start":{"line_number":746,"utf16_col":4},"end":{"line_number":746,"utf16_col":9}},"extent_utf16":{"start":{"line_number":746,"utf16_col":0},"end":{"line_number":763,"utf16_col":0}}},{"name":"Misc.","fully_qualified_name":"Misc.","kind":"section_3","ident_start":23646,"ident_end":23651,"extent_start":23642,"extent_end":23723,"ident_utf16":{"start":{"line_number":763,"utf16_col":4},"end":{"line_number":763,"utf16_col":9}},"extent_utf16":{"start":{"line_number":763,"utf16_col":0},"end":{"line_number":767,"utf16_col":0}}},{"name":"Updating","fully_qualified_name":"Updating","kind":"section_3","ident_start":23727,"ident_end":23735,"extent_start":23723,"extent_end":24084,"ident_utf16":{"start":{"line_number":767,"utf16_col":4},"end":{"line_number":767,"utf16_col":12}},"extent_utf16":{"start":{"line_number":767,"utf16_col":0},"end":{"line_number":778,"utf16_col":0}}},{"name":"1.12.0 - 2018-10-23","fully_qualified_name":"1.12.0 - 2018-10-23","kind":"section_1","ident_start":24043,"ident_end":24062,"extent_start":24043,"extent_end":24083,"ident_utf16":{"start":{"line_number":775,"utf16_col":0},"end":{"line_number":775,"utf16_col":19}},"extent_utf16":{"start":{"line_number":775,"utf16_col":0},"end":{"line_number":777,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":24088,"ident_end":24093,"extent_start":24084,"extent_end":24385,"ident_utf16":{"start":{"line_number":778,"utf16_col":4},"end":{"line_number":778,"utf16_col":9}},"extent_utf16":{"start":{"line_number":778,"utf16_col":0},"end":{"line_number":789,"utf16_col":0}}},{"name":"1.11.2 - 2018-10-10","fully_qualified_name":"1.11.2 - 2018-10-10","kind":"section_1","ident_start":24344,"ident_end":24363,"extent_start":24344,"extent_end":24384,"ident_utf16":{"start":{"line_number":786,"utf16_col":0},"end":{"line_number":786,"utf16_col":19}},"extent_utf16":{"start":{"line_number":786,"utf16_col":0},"end":{"line_number":788,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":24389,"ident_end":24394,"extent_start":24385,"extent_end":24676,"ident_utf16":{"start":{"line_number":789,"utf16_col":4},"end":{"line_number":789,"utf16_col":9}},"extent_utf16":{"start":{"line_number":789,"utf16_col":0},"end":{"line_number":800,"utf16_col":0}}},{"name":"1.11.1 - 2018-09-22","fully_qualified_name":"1.11.1 - 2018-09-22","kind":"section_1","ident_start":24635,"ident_end":24654,"extent_start":24635,"extent_end":24675,"ident_utf16":{"start":{"line_number":797,"utf16_col":0},"end":{"line_number":797,"utf16_col":19}},"extent_utf16":{"start":{"line_number":797,"utf16_col":0},"end":{"line_number":799,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":24680,"ident_end":24685,"extent_start":24676,"extent_end":24875,"ident_utf16":{"start":{"line_number":800,"utf16_col":4},"end":{"line_number":800,"utf16_col":9}},"extent_utf16":{"start":{"line_number":800,"utf16_col":0},"end":{"line_number":809,"utf16_col":0}}},{"name":"1.11.0 - 2018-09-02","fully_qualified_name":"1.11.0 - 2018-09-02","kind":"section_1","ident_start":24834,"ident_end":24853,"extent_start":24834,"extent_end":24874,"ident_utf16":{"start":{"line_number":806,"utf16_col":0},"end":{"line_number":806,"utf16_col":19}},"extent_utf16":{"start":{"line_number":806,"utf16_col":0},"end":{"line_number":808,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":24879,"ident_end":24887,"extent_start":24875,"extent_end":25016,"ident_utf16":{"start":{"line_number":809,"utf16_col":4},"end":{"line_number":809,"utf16_col":12}},"extent_utf16":{"start":{"line_number":809,"utf16_col":0},"end":{"line_number":814,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":25020,"ident_end":25025,"extent_start":25016,"extent_end":25233,"ident_utf16":{"start":{"line_number":814,"utf16_col":4},"end":{"line_number":814,"utf16_col":9}},"extent_utf16":{"start":{"line_number":814,"utf16_col":0},"end":{"line_number":823,"utf16_col":0}}},{"name":"1.10.5 - 2018-08-06","fully_qualified_name":"1.10.5 - 2018-08-06","kind":"section_1","ident_start":25192,"ident_end":25211,"extent_start":25192,"extent_end":25232,"ident_utf16":{"start":{"line_number":820,"utf16_col":0},"end":{"line_number":820,"utf16_col":19}},"extent_utf16":{"start":{"line_number":820,"utf16_col":0},"end":{"line_number":822,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":25237,"ident_end":25242,"extent_start":25233,"extent_end":25536,"ident_utf16":{"start":{"line_number":823,"utf16_col":4},"end":{"line_number":823,"utf16_col":9}},"extent_utf16":{"start":{"line_number":823,"utf16_col":0},"end":{"line_number":834,"utf16_col":0}}},{"name":"1.10.4 - 2018-07-22","fully_qualified_name":"1.10.4 - 2018-07-22","kind":"section_1","ident_start":25495,"ident_end":25514,"extent_start":25495,"extent_end":25535,"ident_utf16":{"start":{"line_number":831,"utf16_col":0},"end":{"line_number":831,"utf16_col":19}},"extent_utf16":{"start":{"line_number":831,"utf16_col":0},"end":{"line_number":833,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":25540,"ident_end":25545,"extent_start":25536,"extent_end":26207,"ident_utf16":{"start":{"line_number":834,"utf16_col":4},"end":{"line_number":834,"utf16_col":9}},"extent_utf16":{"start":{"line_number":834,"utf16_col":0},"end":{"line_number":852,"utf16_col":0}}},{"name":"Misc.","fully_qualified_name":"Misc.","kind":"section_3","ident_start":26211,"ident_end":26216,"extent_start":26207,"extent_end":26408,"ident_utf16":{"start":{"line_number":852,"utf16_col":4},"end":{"line_number":852,"utf16_col":9}},"extent_utf16":{"start":{"line_number":852,"utf16_col":0},"end":{"line_number":861,"utf16_col":0}}},{"name":"1.10.3 - 2018-07-02","fully_qualified_name":"1.10.3 - 2018-07-02","kind":"section_1","ident_start":26367,"ident_end":26386,"extent_start":26367,"extent_end":26407,"ident_utf16":{"start":{"line_number":858,"utf16_col":0},"end":{"line_number":858,"utf16_col":19}},"extent_utf16":{"start":{"line_number":858,"utf16_col":0},"end":{"line_number":860,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":26412,"ident_end":26417,"extent_start":26408,"extent_end":26574,"ident_utf16":{"start":{"line_number":861,"utf16_col":4},"end":{"line_number":861,"utf16_col":9}},"extent_utf16":{"start":{"line_number":861,"utf16_col":0},"end":{"line_number":869,"utf16_col":0}}},{"name":"1.10.2 - 2018-06-11","fully_qualified_name":"1.10.2 - 2018-06-11","kind":"section_1","ident_start":26533,"ident_end":26552,"extent_start":26533,"extent_end":26573,"ident_utf16":{"start":{"line_number":866,"utf16_col":0},"end":{"line_number":866,"utf16_col":19}},"extent_utf16":{"start":{"line_number":866,"utf16_col":0},"end":{"line_number":868,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":26578,"ident_end":26583,"extent_start":26574,"extent_end":26746,"ident_utf16":{"start":{"line_number":869,"utf16_col":4},"end":{"line_number":869,"utf16_col":9}},"extent_utf16":{"start":{"line_number":869,"utf16_col":0},"end":{"line_number":877,"utf16_col":0}}},{"name":"1.10.1 - 2018-05-28","fully_qualified_name":"1.10.1 - 2018-05-28","kind":"section_1","ident_start":26705,"ident_end":26724,"extent_start":26705,"extent_end":26745,"ident_utf16":{"start":{"line_number":874,"utf16_col":0},"end":{"line_number":874,"utf16_col":19}},"extent_utf16":{"start":{"line_number":874,"utf16_col":0},"end":{"line_number":876,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":26750,"ident_end":26755,"extent_start":26746,"extent_end":26953,"ident_utf16":{"start":{"line_number":877,"utf16_col":4},"end":{"line_number":877,"utf16_col":9}},"extent_utf16":{"start":{"line_number":877,"utf16_col":0},"end":{"line_number":885,"utf16_col":0}}},{"name":"1.10.0 - 2018-05-26","fully_qualified_name":"1.10.0 - 2018-05-26","kind":"section_1","ident_start":26912,"ident_end":26931,"extent_start":26912,"extent_end":26952,"ident_utf16":{"start":{"line_number":882,"utf16_col":0},"end":{"line_number":882,"utf16_col":19}},"extent_utf16":{"start":{"line_number":882,"utf16_col":0},"end":{"line_number":884,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":26957,"ident_end":26965,"extent_start":26953,"extent_end":27078,"ident_utf16":{"start":{"line_number":885,"utf16_col":4},"end":{"line_number":885,"utf16_col":12}},"extent_utf16":{"start":{"line_number":885,"utf16_col":0},"end":{"line_number":892,"utf16_col":0}}},{"name":"1.9.0 - 2018-05-21","fully_qualified_name":"1.9.0 - 2018-05-21","kind":"section_1","ident_start":27039,"ident_end":27057,"extent_start":27039,"extent_end":27077,"ident_utf16":{"start":{"line_number":889,"utf16_col":0},"end":{"line_number":889,"utf16_col":18}},"extent_utf16":{"start":{"line_number":889,"utf16_col":0},"end":{"line_number":891,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":27082,"ident_end":27090,"extent_start":27078,"extent_end":27337,"ident_utf16":{"start":{"line_number":892,"utf16_col":4},"end":{"line_number":892,"utf16_col":12}},"extent_utf16":{"start":{"line_number":892,"utf16_col":0},"end":{"line_number":901,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":27341,"ident_end":27346,"extent_start":27337,"extent_end":27469,"ident_utf16":{"start":{"line_number":901,"utf16_col":4},"end":{"line_number":901,"utf16_col":9}},"extent_utf16":{"start":{"line_number":901,"utf16_col":0},"end":{"line_number":909,"utf16_col":0}}},{"name":"1.8.2 - 2018-03-17","fully_qualified_name":"1.8.2 - 2018-03-17","kind":"section_1","ident_start":27430,"ident_end":27448,"extent_start":27430,"extent_end":27468,"ident_utf16":{"start":{"line_number":906,"utf16_col":0},"end":{"line_number":906,"utf16_col":18}},"extent_utf16":{"start":{"line_number":906,"utf16_col":0},"end":{"line_number":908,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":27473,"ident_end":27478,"extent_start":27469,"extent_end":27631,"ident_utf16":{"start":{"line_number":909,"utf16_col":4},"end":{"line_number":909,"utf16_col":9}},"extent_utf16":{"start":{"line_number":909,"utf16_col":0},"end":{"line_number":918,"utf16_col":0}}},{"name":"1.8.1 - 2018-03-12","fully_qualified_name":"1.8.1 - 2018-03-12","kind":"section_1","ident_start":27592,"ident_end":27610,"extent_start":27592,"extent_end":27630,"ident_utf16":{"start":{"line_number":915,"utf16_col":0},"end":{"line_number":915,"utf16_col":18}},"extent_utf16":{"start":{"line_number":915,"utf16_col":0},"end":{"line_number":917,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":27635,"ident_end":27640,"extent_start":27631,"extent_end":27887,"ident_utf16":{"start":{"line_number":918,"utf16_col":4},"end":{"line_number":918,"utf16_col":9}},"extent_utf16":{"start":{"line_number":918,"utf16_col":0},"end":{"line_number":929,"utf16_col":0}}},{"name":"1.8.0 - 2018-03-11","fully_qualified_name":"1.8.0 - 2018-03-11","kind":"section_1","ident_start":27848,"ident_end":27866,"extent_start":27848,"extent_end":27886,"ident_utf16":{"start":{"line_number":926,"utf16_col":0},"end":{"line_number":926,"utf16_col":18}},"extent_utf16":{"start":{"line_number":926,"utf16_col":0},"end":{"line_number":928,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":27891,"ident_end":27899,"extent_start":27887,"extent_end":28118,"ident_utf16":{"start":{"line_number":929,"utf16_col":4},"end":{"line_number":929,"utf16_col":12}},"extent_utf16":{"start":{"line_number":929,"utf16_col":0},"end":{"line_number":940,"utf16_col":0}}},{"name":"1.7.0 - 2018-03-03","fully_qualified_name":"1.7.0 - 2018-03-03","kind":"section_1","ident_start":28079,"ident_end":28097,"extent_start":28079,"extent_end":28117,"ident_utf16":{"start":{"line_number":937,"utf16_col":0},"end":{"line_number":937,"utf16_col":18}},"extent_utf16":{"start":{"line_number":937,"utf16_col":0},"end":{"line_number":939,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":28122,"ident_end":28130,"extent_start":28118,"extent_end":28760,"ident_utf16":{"start":{"line_number":940,"utf16_col":4},"end":{"line_number":940,"utf16_col":12}},"extent_utf16":{"start":{"line_number":940,"utf16_col":0},"end":{"line_number":956,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":28764,"ident_end":28769,"extent_start":28760,"extent_end":28900,"ident_utf16":{"start":{"line_number":956,"utf16_col":4},"end":{"line_number":956,"utf16_col":9}},"extent_utf16":{"start":{"line_number":956,"utf16_col":0},"end":{"line_number":961,"utf16_col":0}}},{"name":"Misc.","fully_qualified_name":"Misc.","kind":"section_3","ident_start":28904,"ident_end":28909,"extent_start":28900,"extent_end":28962,"ident_utf16":{"start":{"line_number":961,"utf16_col":4},"end":{"line_number":961,"utf16_col":9}},"extent_utf16":{"start":{"line_number":961,"utf16_col":0},"end":{"line_number":965,"utf16_col":0}}},{"name":"Updating","fully_qualified_name":"Updating","kind":"section_3","ident_start":28966,"ident_end":28974,"extent_start":28962,"extent_end":29118,"ident_utf16":{"start":{"line_number":965,"utf16_col":4},"end":{"line_number":965,"utf16_col":12}},"extent_utf16":{"start":{"line_number":965,"utf16_col":0},"end":{"line_number":974,"utf16_col":0}}},{"name":"1.6.0 - 2018-02-04","fully_qualified_name":"1.6.0 - 2018-02-04","kind":"section_1","ident_start":29079,"ident_end":29097,"extent_start":29079,"extent_end":29117,"ident_utf16":{"start":{"line_number":971,"utf16_col":0},"end":{"line_number":971,"utf16_col":18}},"extent_utf16":{"start":{"line_number":971,"utf16_col":0},"end":{"line_number":973,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":29122,"ident_end":29130,"extent_start":29118,"extent_end":29341,"ident_utf16":{"start":{"line_number":974,"utf16_col":4},"end":{"line_number":974,"utf16_col":12}},"extent_utf16":{"start":{"line_number":974,"utf16_col":0},"end":{"line_number":981,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":29345,"ident_end":29350,"extent_start":29341,"extent_end":29556,"ident_utf16":{"start":{"line_number":981,"utf16_col":4},"end":{"line_number":981,"utf16_col":9}},"extent_utf16":{"start":{"line_number":981,"utf16_col":0},"end":{"line_number":990,"utf16_col":0}}},{"name":"1.5.1 - 2018-01-24","fully_qualified_name":"1.5.1 - 2018-01-24","kind":"section_1","ident_start":29517,"ident_end":29535,"extent_start":29517,"extent_end":29555,"ident_utf16":{"start":{"line_number":987,"utf16_col":0},"end":{"line_number":987,"utf16_col":18}},"extent_utf16":{"start":{"line_number":987,"utf16_col":0},"end":{"line_number":989,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":29560,"ident_end":29565,"extent_start":29556,"extent_end":29716,"ident_utf16":{"start":{"line_number":990,"utf16_col":4},"end":{"line_number":990,"utf16_col":9}},"extent_utf16":{"start":{"line_number":990,"utf16_col":0},"end":{"line_number":998,"utf16_col":0}}},{"name":"1.5.0 - 2018-01-13","fully_qualified_name":"1.5.0 - 2018-01-13","kind":"section_1","ident_start":29677,"ident_end":29695,"extent_start":29677,"extent_end":29715,"ident_utf16":{"start":{"line_number":995,"utf16_col":0},"end":{"line_number":995,"utf16_col":18}},"extent_utf16":{"start":{"line_number":995,"utf16_col":0},"end":{"line_number":997,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":29720,"ident_end":29728,"extent_start":29716,"extent_end":29957,"ident_utf16":{"start":{"line_number":998,"utf16_col":4},"end":{"line_number":998,"utf16_col":12}},"extent_utf16":{"start":{"line_number":998,"utf16_col":0},"end":{"line_number":1005,"utf16_col":0}}},{"name":"Misc.","fully_qualified_name":"Misc.","kind":"section_3","ident_start":29961,"ident_end":29966,"extent_start":29957,"extent_end":30195,"ident_utf16":{"start":{"line_number":1005,"utf16_col":4},"end":{"line_number":1005,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1005,"utf16_col":0},"end":{"line_number":1016,"utf16_col":0}}},{"name":"1.4.5 - 2018-01-09","fully_qualified_name":"1.4.5 - 2018-01-09","kind":"section_1","ident_start":30156,"ident_end":30174,"extent_start":30156,"extent_end":30194,"ident_utf16":{"start":{"line_number":1013,"utf16_col":0},"end":{"line_number":1013,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1013,"utf16_col":0},"end":{"line_number":1015,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":30199,"ident_end":30204,"extent_start":30195,"extent_end":30315,"ident_utf16":{"start":{"line_number":1016,"utf16_col":4},"end":{"line_number":1016,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1016,"utf16_col":0},"end":{"line_number":1020,"utf16_col":0}}},{"name":"Misc.","fully_qualified_name":"Misc.","kind":"section_3","ident_start":30319,"ident_end":30324,"extent_start":30315,"extent_end":30439,"ident_utf16":{"start":{"line_number":1020,"utf16_col":4},"end":{"line_number":1020,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1020,"utf16_col":0},"end":{"line_number":1027,"utf16_col":0}}},{"name":"1.4.4 - 2018-01-07","fully_qualified_name":"1.4.4 - 2018-01-07","kind":"section_1","ident_start":30400,"ident_end":30418,"extent_start":30400,"extent_end":30438,"ident_utf16":{"start":{"line_number":1024,"utf16_col":0},"end":{"line_number":1024,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1024,"utf16_col":0},"end":{"line_number":1026,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":30443,"ident_end":30448,"extent_start":30439,"extent_end":30586,"ident_utf16":{"start":{"line_number":1027,"utf16_col":4},"end":{"line_number":1027,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1027,"utf16_col":0},"end":{"line_number":1034,"utf16_col":0}}},{"name":"1.4.3 - 2018-01-02","fully_qualified_name":"1.4.3 - 2018-01-02","kind":"section_1","ident_start":30547,"ident_end":30565,"extent_start":30547,"extent_end":30585,"ident_utf16":{"start":{"line_number":1031,"utf16_col":0},"end":{"line_number":1031,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1031,"utf16_col":0},"end":{"line_number":1033,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":30590,"ident_end":30595,"extent_start":30586,"extent_end":30731,"ident_utf16":{"start":{"line_number":1034,"utf16_col":4},"end":{"line_number":1034,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1034,"utf16_col":0},"end":{"line_number":1041,"utf16_col":0}}},{"name":"1.4.2 - 2018-01-02","fully_qualified_name":"1.4.2 - 2018-01-02","kind":"section_1","ident_start":30692,"ident_end":30710,"extent_start":30692,"extent_end":30730,"ident_utf16":{"start":{"line_number":1038,"utf16_col":0},"end":{"line_number":1038,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1038,"utf16_col":0},"end":{"line_number":1040,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":30735,"ident_end":30740,"extent_start":30731,"extent_end":30887,"ident_utf16":{"start":{"line_number":1041,"utf16_col":4},"end":{"line_number":1041,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1041,"utf16_col":0},"end":{"line_number":1048,"utf16_col":0}}},{"name":"1.4.1 - 2017-11-09","fully_qualified_name":"1.4.1 - 2017-11-09","kind":"section_1","ident_start":30848,"ident_end":30866,"extent_start":30848,"extent_end":30886,"ident_utf16":{"start":{"line_number":1045,"utf16_col":0},"end":{"line_number":1045,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1045,"utf16_col":0},"end":{"line_number":1047,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":30891,"ident_end":30896,"extent_start":30887,"extent_end":31066,"ident_utf16":{"start":{"line_number":1048,"utf16_col":4},"end":{"line_number":1048,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1048,"utf16_col":0},"end":{"line_number":1056,"utf16_col":0}}},{"name":"1.4.0 - 2017-11-08","fully_qualified_name":"1.4.0 - 2017-11-08","kind":"section_1","ident_start":31027,"ident_end":31045,"extent_start":31027,"extent_end":31065,"ident_utf16":{"start":{"line_number":1053,"utf16_col":0},"end":{"line_number":1053,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1053,"utf16_col":0},"end":{"line_number":1055,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":31070,"ident_end":31078,"extent_start":31066,"extent_end":32113,"ident_utf16":{"start":{"line_number":1056,"utf16_col":4},"end":{"line_number":1056,"utf16_col":12}},"extent_utf16":{"start":{"line_number":1056,"utf16_col":0},"end":{"line_number":1081,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":32117,"ident_end":32122,"extent_start":32113,"extent_end":32245,"ident_utf16":{"start":{"line_number":1081,"utf16_col":4},"end":{"line_number":1081,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1081,"utf16_col":0},"end":{"line_number":1089,"utf16_col":0}}},{"name":"1.3.0 - 2017-10-08","fully_qualified_name":"1.3.0 - 2017-10-08","kind":"section_1","ident_start":32206,"ident_end":32224,"extent_start":32206,"extent_end":32244,"ident_utf16":{"start":{"line_number":1086,"utf16_col":0},"end":{"line_number":1086,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1086,"utf16_col":0},"end":{"line_number":1088,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":32249,"ident_end":32257,"extent_start":32245,"extent_end":32845,"ident_utf16":{"start":{"line_number":1089,"utf16_col":4},"end":{"line_number":1089,"utf16_col":12}},"extent_utf16":{"start":{"line_number":1089,"utf16_col":0},"end":{"line_number":1105,"utf16_col":0}}},{"name":"1.2.0 - 2017-10-03","fully_qualified_name":"1.2.0 - 2017-10-03","kind":"section_1","ident_start":32806,"ident_end":32824,"extent_start":32806,"extent_end":32844,"ident_utf16":{"start":{"line_number":1102,"utf16_col":0},"end":{"line_number":1102,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1102,"utf16_col":0},"end":{"line_number":1104,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":32849,"ident_end":32857,"extent_start":32845,"extent_end":32988,"ident_utf16":{"start":{"line_number":1105,"utf16_col":4},"end":{"line_number":1105,"utf16_col":12}},"extent_utf16":{"start":{"line_number":1105,"utf16_col":0},"end":{"line_number":1110,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":32992,"ident_end":32997,"extent_start":32988,"extent_end":33605,"ident_utf16":{"start":{"line_number":1110,"utf16_col":4},"end":{"line_number":1110,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1110,"utf16_col":0},"end":{"line_number":1128,"utf16_col":0}}},{"name":"1.1.2 - 2017-09-20","fully_qualified_name":"1.1.2 - 2017-09-20","kind":"section_1","ident_start":33566,"ident_end":33584,"extent_start":33566,"extent_end":33604,"ident_utf16":{"start":{"line_number":1125,"utf16_col":0},"end":{"line_number":1125,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1125,"utf16_col":0},"end":{"line_number":1127,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":33609,"ident_end":33614,"extent_start":33605,"extent_end":33847,"ident_utf16":{"start":{"line_number":1128,"utf16_col":4},"end":{"line_number":1128,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1128,"utf16_col":0},"end":{"line_number":1137,"utf16_col":0}}},{"name":"1.1.1 - 2017-09-17","fully_qualified_name":"1.1.1 - 2017-09-17","kind":"section_1","ident_start":33808,"ident_end":33826,"extent_start":33808,"extent_end":33846,"ident_utf16":{"start":{"line_number":1134,"utf16_col":0},"end":{"line_number":1134,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1134,"utf16_col":0},"end":{"line_number":1136,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":33851,"ident_end":33859,"extent_start":33847,"extent_end":33981,"ident_utf16":{"start":{"line_number":1137,"utf16_col":4},"end":{"line_number":1137,"utf16_col":12}},"extent_utf16":{"start":{"line_number":1137,"utf16_col":0},"end":{"line_number":1141,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":33985,"ident_end":33990,"extent_start":33981,"extent_end":34173,"ident_utf16":{"start":{"line_number":1141,"utf16_col":4},"end":{"line_number":1141,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1141,"utf16_col":0},"end":{"line_number":1149,"utf16_col":0}}},{"name":"1.1.0 - 2017-09-11","fully_qualified_name":"1.1.0 - 2017-09-11","kind":"section_1","ident_start":34134,"ident_end":34152,"extent_start":34134,"extent_end":34172,"ident_utf16":{"start":{"line_number":1146,"utf16_col":0},"end":{"line_number":1146,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1146,"utf16_col":0},"end":{"line_number":1148,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":34177,"ident_end":34185,"extent_start":34173,"extent_end":34751,"ident_utf16":{"start":{"line_number":1149,"utf16_col":4},"end":{"line_number":1149,"utf16_col":12}},"extent_utf16":{"start":{"line_number":1149,"utf16_col":0},"end":{"line_number":1165,"utf16_col":0}}},{"name":"1.0.1 - 2017-09-07","fully_qualified_name":"1.0.1 - 2017-09-07","kind":"section_1","ident_start":34712,"ident_end":34730,"extent_start":34712,"extent_end":34750,"ident_utf16":{"start":{"line_number":1162,"utf16_col":0},"end":{"line_number":1162,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1162,"utf16_col":0},"end":{"line_number":1164,"utf16_col":0}}},{"name":"Fixes","fully_qualified_name":"Fixes","kind":"section_3","ident_start":34755,"ident_end":34760,"extent_start":34751,"extent_end":35185,"ident_utf16":{"start":{"line_number":1165,"utf16_col":4},"end":{"line_number":1165,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1165,"utf16_col":0},"end":{"line_number":1177,"utf16_col":0}}},{"name":"1.0.0 - 2017-09-07","fully_qualified_name":"1.0.0 - 2017-09-07","kind":"section_1","ident_start":34949,"ident_end":34967,"extent_start":34949,"extent_end":34987,"ident_utf16":{"start":{"line_number":1171,"utf16_col":0},"end":{"line_number":1171,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1171,"utf16_col":0},"end":{"line_number":1173,"utf16_col":0}}},{"name":"Features","fully_qualified_name":"Features","kind":"section_3","ident_start":35189,"ident_end":35197,"extent_start":35185,"extent_end":36417,"ident_utf16":{"start":{"line_number":1177,"utf16_col":4},"end":{"line_number":1177,"utf16_col":12}},"extent_utf16":{"start":{"line_number":1177,"utf16_col":0},"end":{"line_number":1207,"utf16_col":0}}},{"name":"Updating","fully_qualified_name":"Updating","kind":"section_3","ident_start":36421,"ident_end":36429,"extent_start":36417,"extent_end":50247,"ident_utf16":{"start":{"line_number":1207,"utf16_col":4},"end":{"line_number":1207,"utf16_col":12}},"extent_utf16":{"start":{"line_number":1207,"utf16_col":0},"end":{"line_number":1669,"utf16_col":0}}},{"name":"0.18.3 - 2017-09-06","fully_qualified_name":"0.18.3 - 2017-09-06","kind":"section_1","ident_start":36599,"ident_end":36618,"extent_start":36599,"extent_end":36639,"ident_utf16":{"start":{"line_number":1213,"utf16_col":0},"end":{"line_number":1213,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1213,"utf16_col":0},"end":{"line_number":1215,"utf16_col":0}}},{"name":"0.18.2 - 2017-09-05","fully_qualified_name":"0.18.2 - 2017-09-05","kind":"section_1","ident_start":36803,"ident_end":36822,"extent_start":36803,"extent_end":36843,"ident_utf16":{"start":{"line_number":1219,"utf16_col":0},"end":{"line_number":1219,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1219,"utf16_col":0},"end":{"line_number":1221,"utf16_col":0}}},{"name":"0.18.1 - 2017-09-04","fully_qualified_name":"0.18.1 - 2017-09-04","kind":"section_1","ident_start":37010,"ident_end":37029,"extent_start":37010,"extent_end":37050,"ident_utf16":{"start":{"line_number":1225,"utf16_col":0},"end":{"line_number":1225,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1225,"utf16_col":0},"end":{"line_number":1227,"utf16_col":0}}},{"name":"0.18.0 - 2017-09-02","fully_qualified_name":"0.18.0 - 2017-09-02","kind":"section_1","ident_start":37178,"ident_end":37197,"extent_start":37178,"extent_end":37218,"ident_utf16":{"start":{"line_number":1230,"utf16_col":0},"end":{"line_number":1230,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1230,"utf16_col":0},"end":{"line_number":1232,"utf16_col":0}}},{"name":"0.17.0 - 2017-08-24","fully_qualified_name":"0.17.0 - 2017-08-24","kind":"section_1","ident_start":37495,"ident_end":37514,"extent_start":37495,"extent_end":37535,"ident_utf16":{"start":{"line_number":1237,"utf16_col":0},"end":{"line_number":1237,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1237,"utf16_col":0},"end":{"line_number":1239,"utf16_col":0}}},{"name":"0.16.3 - 2017-08-10","fully_qualified_name":"0.16.3 - 2017-08-10","kind":"section_1","ident_start":37863,"ident_end":37882,"extent_start":37863,"extent_end":37903,"ident_utf16":{"start":{"line_number":1247,"utf16_col":0},"end":{"line_number":1247,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1247,"utf16_col":0},"end":{"line_number":1249,"utf16_col":0}}},{"name":"0.16.2 - 2017-08-06","fully_qualified_name":"0.16.2 - 2017-08-06","kind":"section_1","ident_start":37957,"ident_end":37976,"extent_start":37957,"extent_end":37997,"ident_utf16":{"start":{"line_number":1251,"utf16_col":0},"end":{"line_number":1251,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1251,"utf16_col":0},"end":{"line_number":1253,"utf16_col":0}}},{"name":"0.16.1 - 2017-08-04","fully_qualified_name":"0.16.1 - 2017-08-04","kind":"section_1","ident_start":38044,"ident_end":38063,"extent_start":38044,"extent_end":38084,"ident_utf16":{"start":{"line_number":1255,"utf16_col":0},"end":{"line_number":1255,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1255,"utf16_col":0},"end":{"line_number":1257,"utf16_col":0}}},{"name":"0.16.0 - 2017-08-01","fully_qualified_name":"0.16.0 - 2017-08-01","kind":"section_1","ident_start":38135,"ident_end":38154,"extent_start":38135,"extent_end":38175,"ident_utf16":{"start":{"line_number":1259,"utf16_col":0},"end":{"line_number":1259,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1259,"utf16_col":0},"end":{"line_number":1261,"utf16_col":0}}},{"name":"0.15.4 - 2017-07-23","fully_qualified_name":"0.15.4 - 2017-07-23","kind":"section_1","ident_start":38707,"ident_end":38726,"extent_start":38707,"extent_end":38747,"ident_utf16":{"start":{"line_number":1270,"utf16_col":0},"end":{"line_number":1270,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1270,"utf16_col":0},"end":{"line_number":1272,"utf16_col":0}}},{"name":"0.15.3 - 2017-07-20","fully_qualified_name":"0.15.3 - 2017-07-20","kind":"section_1","ident_start":38792,"ident_end":38811,"extent_start":38792,"extent_end":38832,"ident_utf16":{"start":{"line_number":1274,"utf16_col":0},"end":{"line_number":1274,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1274,"utf16_col":0},"end":{"line_number":1276,"utf16_col":0}}},{"name":"0.15.2 - 2017-07-09","fully_qualified_name":"0.15.2 - 2017-07-09","kind":"section_1","ident_start":38876,"ident_end":38895,"extent_start":38876,"extent_end":38916,"ident_utf16":{"start":{"line_number":1279,"utf16_col":0},"end":{"line_number":1279,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1279,"utf16_col":0},"end":{"line_number":1281,"utf16_col":0}}},{"name":"0.15.1 - 2017-07-09","fully_qualified_name":"0.15.1 - 2017-07-09","kind":"section_1","ident_start":39031,"ident_end":39050,"extent_start":39031,"extent_end":39071,"ident_utf16":{"start":{"line_number":1284,"utf16_col":0},"end":{"line_number":1284,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1284,"utf16_col":0},"end":{"line_number":1286,"utf16_col":0}}},{"name":"0.15.0 - 2017-07-02","fully_qualified_name":"0.15.0 - 2017-07-02","kind":"section_1","ident_start":39133,"ident_end":39152,"extent_start":39133,"extent_end":39173,"ident_utf16":{"start":{"line_number":1288,"utf16_col":0},"end":{"line_number":1288,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1288,"utf16_col":0},"end":{"line_number":1290,"utf16_col":0}}},{"name":"0.14.3 - 2017-06-28","fully_qualified_name":"0.14.3 - 2017-06-28","kind":"section_1","ident_start":39621,"ident_end":39640,"extent_start":39621,"extent_end":39661,"ident_utf16":{"start":{"line_number":1298,"utf16_col":0},"end":{"line_number":1298,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1298,"utf16_col":0},"end":{"line_number":1300,"utf16_col":0}}},{"name":"0.14.2 - 2017-06-09","fully_qualified_name":"0.14.2 - 2017-06-09","kind":"section_1","ident_start":39796,"ident_end":39815,"extent_start":39796,"extent_end":39836,"ident_utf16":{"start":{"line_number":1303,"utf16_col":0},"end":{"line_number":1303,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1303,"utf16_col":0},"end":{"line_number":1305,"utf16_col":0}}},{"name":"0.14.1 - 2017-06-02","fully_qualified_name":"0.14.1 - 2017-06-02","kind":"section_1","ident_start":39883,"ident_end":39902,"extent_start":39883,"extent_end":39923,"ident_utf16":{"start":{"line_number":1307,"utf16_col":0},"end":{"line_number":1307,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1307,"utf16_col":0},"end":{"line_number":1309,"utf16_col":0}}},{"name":"0.14.0 - 2017-05-16","fully_qualified_name":"0.14.0 - 2017-05-16","kind":"section_1","ident_start":40058,"ident_end":40077,"extent_start":40058,"extent_end":40098,"ident_utf16":{"start":{"line_number":1312,"utf16_col":0},"end":{"line_number":1312,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1312,"utf16_col":0},"end":{"line_number":1314,"utf16_col":0}}},{"name":"0.13.6 - 2017-03-27","fully_qualified_name":"0.13.6 - 2017-03-27","kind":"section_1","ident_start":40557,"ident_end":40576,"extent_start":40557,"extent_end":40597,"ident_utf16":{"start":{"line_number":1324,"utf16_col":0},"end":{"line_number":1324,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1324,"utf16_col":0},"end":{"line_number":1326,"utf16_col":0}}},{"name":"0.13.5 - 2017-03-26","fully_qualified_name":"0.13.5 - 2017-03-26","kind":"section_1","ident_start":40691,"ident_end":40710,"extent_start":40691,"extent_end":40731,"ident_utf16":{"start":{"line_number":1329,"utf16_col":0},"end":{"line_number":1329,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1329,"utf16_col":0},"end":{"line_number":1331,"utf16_col":0}}},{"name":"0.13.4 - 2017-03-26","fully_qualified_name":"0.13.4 - 2017-03-26","kind":"section_1","ident_start":40767,"ident_end":40786,"extent_start":40767,"extent_end":40807,"ident_utf16":{"start":{"line_number":1333,"utf16_col":0},"end":{"line_number":1333,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1333,"utf16_col":0},"end":{"line_number":1335,"utf16_col":0}}},{"name":"0.13.3 - 2017-02-23","fully_qualified_name":"0.13.3 - 2017-02-23","kind":"section_1","ident_start":40916,"ident_end":40935,"extent_start":40916,"extent_end":40956,"ident_utf16":{"start":{"line_number":1338,"utf16_col":0},"end":{"line_number":1338,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1338,"utf16_col":0},"end":{"line_number":1340,"utf16_col":0}}},{"name":"0.13.2 - 2017-02-17","fully_qualified_name":"0.13.2 - 2017-02-17","kind":"section_1","ident_start":41047,"ident_end":41066,"extent_start":41047,"extent_end":41087,"ident_utf16":{"start":{"line_number":1343,"utf16_col":0},"end":{"line_number":1343,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1343,"utf16_col":0},"end":{"line_number":1345,"utf16_col":0}}},{"name":"0.13.1 - 2017-02-16","fully_qualified_name":"0.13.1 - 2017-02-16","kind":"section_1","ident_start":41172,"ident_end":41191,"extent_start":41172,"extent_end":41212,"ident_utf16":{"start":{"line_number":1348,"utf16_col":0},"end":{"line_number":1348,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1348,"utf16_col":0},"end":{"line_number":1350,"utf16_col":0}}},{"name":"0.13.0 - 2017-02-16","fully_qualified_name":"0.13.0 - 2017-02-16","kind":"section_1","ident_start":41250,"ident_end":41269,"extent_start":41250,"extent_end":41290,"ident_utf16":{"start":{"line_number":1352,"utf16_col":0},"end":{"line_number":1352,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1352,"utf16_col":0},"end":{"line_number":1354,"utf16_col":0}}},{"name":"0.12.2 - 2017-01-27","fully_qualified_name":"0.12.2 - 2017-01-27","kind":"section_1","ident_start":41544,"ident_end":41563,"extent_start":41544,"extent_end":41584,"ident_utf16":{"start":{"line_number":1359,"utf16_col":0},"end":{"line_number":1359,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1359,"utf16_col":0},"end":{"line_number":1361,"utf16_col":0}}},{"name":"0.12.1 - 2017-01-25","fully_qualified_name":"0.12.1 - 2017-01-25","kind":"section_1","ident_start":41628,"ident_end":41647,"extent_start":41628,"extent_end":41668,"ident_utf16":{"start":{"line_number":1363,"utf16_col":0},"end":{"line_number":1363,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1363,"utf16_col":0},"end":{"line_number":1365,"utf16_col":0}}},{"name":"0.12.0 - 2017-01-24","fully_qualified_name":"0.12.0 - 2017-01-24","kind":"section_1","ident_start":41774,"ident_end":41793,"extent_start":41774,"extent_end":41814,"ident_utf16":{"start":{"line_number":1368,"utf16_col":0},"end":{"line_number":1368,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1368,"utf16_col":0},"end":{"line_number":1370,"utf16_col":0}}},{"name":"0.11.0 - 2017-01-20","fully_qualified_name":"0.11.0 - 2017-01-20","kind":"section_1","ident_start":42150,"ident_end":42169,"extent_start":42150,"extent_end":42190,"ident_utf16":{"start":{"line_number":1376,"utf16_col":0},"end":{"line_number":1376,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1376,"utf16_col":0},"end":{"line_number":1378,"utf16_col":0}}},{"name":"0.10.1 - 2017-01-05","fully_qualified_name":"0.10.1 - 2017-01-05","kind":"section_1","ident_start":42210,"ident_end":42229,"extent_start":42210,"extent_end":42250,"ident_utf16":{"start":{"line_number":1380,"utf16_col":0},"end":{"line_number":1380,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1380,"utf16_col":0},"end":{"line_number":1382,"utf16_col":0}}},{"name":"0.10.0 - 2017-01-04","fully_qualified_name":"0.10.0 - 2017-01-04","kind":"section_1","ident_start":42337,"ident_end":42356,"extent_start":42337,"extent_end":42377,"ident_utf16":{"start":{"line_number":1385,"utf16_col":0},"end":{"line_number":1385,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1385,"utf16_col":0},"end":{"line_number":1387,"utf16_col":0}}},{"name":"0.9.4 - 2016-12-05","fully_qualified_name":"0.9.4 - 2016-12-05","kind":"section_1","ident_start":42529,"ident_end":42547,"extent_start":42529,"extent_end":42567,"ident_utf16":{"start":{"line_number":1391,"utf16_col":0},"end":{"line_number":1391,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1391,"utf16_col":0},"end":{"line_number":1393,"utf16_col":0}}},{"name":"0.9.3 - 2016-11-07","fully_qualified_name":"0.9.3 - 2016-11-07","kind":"section_1","ident_start":42761,"ident_end":42779,"extent_start":42761,"extent_end":42799,"ident_utf16":{"start":{"line_number":1398,"utf16_col":0},"end":{"line_number":1398,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1398,"utf16_col":0},"end":{"line_number":1400,"utf16_col":0}}},{"name":"0.9.2 - 2016-10-25","fully_qualified_name":"0.9.2 - 2016-10-25","kind":"section_1","ident_start":42863,"ident_end":42881,"extent_start":42863,"extent_end":42901,"ident_utf16":{"start":{"line_number":1402,"utf16_col":0},"end":{"line_number":1402,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1402,"utf16_col":0},"end":{"line_number":1404,"utf16_col":0}}},{"name":"0.9.1 - 2016-09-10","fully_qualified_name":"0.9.1 - 2016-09-10","kind":"section_1","ident_start":43120,"ident_end":43138,"extent_start":43120,"extent_end":43158,"ident_utf16":{"start":{"line_number":1410,"utf16_col":0},"end":{"line_number":1410,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1410,"utf16_col":0},"end":{"line_number":1412,"utf16_col":0}}},{"name":"0.9.0 - 2016-08-31","fully_qualified_name":"0.9.0 - 2016-08-31","kind":"section_1","ident_start":43246,"ident_end":43264,"extent_start":43246,"extent_end":43284,"ident_utf16":{"start":{"line_number":1415,"utf16_col":0},"end":{"line_number":1415,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1415,"utf16_col":0},"end":{"line_number":1417,"utf16_col":0}}},{"name":"0.8.2 - 2016-05-20","fully_qualified_name":"0.8.2 - 2016-05-20","kind":"section_1","ident_start":43556,"ident_end":43574,"extent_start":43556,"extent_end":43594,"ident_utf16":{"start":{"line_number":1424,"utf16_col":0},"end":{"line_number":1424,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1424,"utf16_col":0},"end":{"line_number":1426,"utf16_col":0}}},{"name":"0.8.1 - 2016-05-17","fully_qualified_name":"0.8.1 - 2016-05-17","kind":"section_1","ident_start":43662,"ident_end":43680,"extent_start":43662,"extent_end":43700,"ident_utf16":{"start":{"line_number":1428,"utf16_col":0},"end":{"line_number":1428,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1428,"utf16_col":0},"end":{"line_number":1430,"utf16_col":0}}},{"name":"0.8.0 - 2016-04-11","fully_qualified_name":"0.8.0 - 2016-04-11","kind":"section_1","ident_start":43802,"ident_end":43820,"extent_start":43802,"extent_end":43840,"ident_utf16":{"start":{"line_number":1433,"utf16_col":0},"end":{"line_number":1433,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1433,"utf16_col":0},"end":{"line_number":1435,"utf16_col":0}}},{"name":"0.7.6 - 2016-01-19","fully_qualified_name":"0.7.6 - 2016-01-19","kind":"section_1","ident_start":43960,"ident_end":43978,"extent_start":43960,"extent_end":43998,"ident_utf16":{"start":{"line_number":1439,"utf16_col":0},"end":{"line_number":1439,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1439,"utf16_col":0},"end":{"line_number":1441,"utf16_col":0}}},{"name":"0.7.5 - 2016-01-15","fully_qualified_name":"0.7.5 - 2016-01-15","kind":"section_1","ident_start":44101,"ident_end":44119,"extent_start":44101,"extent_end":44139,"ident_utf16":{"start":{"line_number":1444,"utf16_col":0},"end":{"line_number":1444,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1444,"utf16_col":0},"end":{"line_number":1446,"utf16_col":0}}},{"name":"0.7.4 - 2016-01-12","fully_qualified_name":"0.7.4 - 2016-01-12","kind":"section_1","ident_start":44190,"ident_end":44208,"extent_start":44190,"extent_end":44228,"ident_utf16":{"start":{"line_number":1448,"utf16_col":0},"end":{"line_number":1448,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1448,"utf16_col":0},"end":{"line_number":1450,"utf16_col":0}}},{"name":"0.7.3 - 2015-12-22","fully_qualified_name":"0.7.3 - 2015-12-22","kind":"section_1","ident_start":44306,"ident_end":44324,"extent_start":44306,"extent_end":44344,"ident_utf16":{"start":{"line_number":1452,"utf16_col":0},"end":{"line_number":1452,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1452,"utf16_col":0},"end":{"line_number":1454,"utf16_col":0}}},{"name":"0.7.2 - 2015-12-22","fully_qualified_name":"0.7.2 - 2015-12-22","kind":"section_1","ident_start":44407,"ident_end":44425,"extent_start":44407,"extent_end":44445,"ident_utf16":{"start":{"line_number":1456,"utf16_col":0},"end":{"line_number":1456,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1456,"utf16_col":0},"end":{"line_number":1458,"utf16_col":0}}},{"name":"0.7.1 - 2015-12-19","fully_qualified_name":"0.7.1 - 2015-12-19","kind":"section_1","ident_start":44517,"ident_end":44535,"extent_start":44517,"extent_end":44555,"ident_utf16":{"start":{"line_number":1460,"utf16_col":0},"end":{"line_number":1460,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1460,"utf16_col":0},"end":{"line_number":1462,"utf16_col":0}}},{"name":"0.7.0 - 2015-12-13","fully_qualified_name":"0.7.0 - 2015-12-13","kind":"section_1","ident_start":44603,"ident_end":44621,"extent_start":44603,"extent_end":44641,"ident_utf16":{"start":{"line_number":1464,"utf16_col":0},"end":{"line_number":1464,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1464,"utf16_col":0},"end":{"line_number":1466,"utf16_col":0}}},{"name":"0.6.8 - 2015-12-07","fully_qualified_name":"0.6.8 - 2015-12-07","kind":"section_1","ident_start":44725,"ident_end":44743,"extent_start":44725,"extent_end":44763,"ident_utf16":{"start":{"line_number":1468,"utf16_col":0},"end":{"line_number":1468,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1468,"utf16_col":0},"end":{"line_number":1470,"utf16_col":0}}},{"name":"0.6.7 - 2015-12-02","fully_qualified_name":"0.6.7 - 2015-12-02","kind":"section_1","ident_start":44894,"ident_end":44912,"extent_start":44894,"extent_end":44932,"ident_utf16":{"start":{"line_number":1474,"utf16_col":0},"end":{"line_number":1474,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1474,"utf16_col":0},"end":{"line_number":1476,"utf16_col":0}}},{"name":"0.6.6 - 2015-11-25","fully_qualified_name":"0.6.6 - 2015-11-25","kind":"section_1","ident_start":45107,"ident_end":45125,"extent_start":45107,"extent_end":45145,"ident_utf16":{"start":{"line_number":1480,"utf16_col":0},"end":{"line_number":1480,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1480,"utf16_col":0},"end":{"line_number":1482,"utf16_col":0}}},{"name":"0.6.5 - 2015-11-19","fully_qualified_name":"0.6.5 - 2015-11-19","kind":"section_1","ident_start":45273,"ident_end":45291,"extent_start":45273,"extent_end":45311,"ident_utf16":{"start":{"line_number":1486,"utf16_col":0},"end":{"line_number":1486,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1486,"utf16_col":0},"end":{"line_number":1488,"utf16_col":0}}},{"name":"0.6.4 - 2015-11-13","fully_qualified_name":"0.6.4 - 2015-11-13","kind":"section_1","ident_start":45340,"ident_end":45358,"extent_start":45340,"extent_end":45378,"ident_utf16":{"start":{"line_number":1490,"utf16_col":0},"end":{"line_number":1490,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1490,"utf16_col":0},"end":{"line_number":1492,"utf16_col":0}}},{"name":"0.6.3 - 2015-11-12","fully_qualified_name":"0.6.3 - 2015-11-12","kind":"section_1","ident_start":45458,"ident_end":45476,"extent_start":45458,"extent_end":45496,"ident_utf16":{"start":{"line_number":1494,"utf16_col":0},"end":{"line_number":1494,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1494,"utf16_col":0},"end":{"line_number":1496,"utf16_col":0}}},{"name":"0.6.2 - 2015-10-14","fully_qualified_name":"0.6.2 - 2015-10-14","kind":"section_1","ident_start":45594,"ident_end":45612,"extent_start":45594,"extent_end":45632,"ident_utf16":{"start":{"line_number":1499,"utf16_col":0},"end":{"line_number":1499,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1499,"utf16_col":0},"end":{"line_number":1501,"utf16_col":0}}},{"name":"0.6.1 - 2015-10-08","fully_qualified_name":"0.6.1 - 2015-10-08","kind":"section_1","ident_start":45705,"ident_end":45723,"extent_start":45705,"extent_end":45743,"ident_utf16":{"start":{"line_number":1503,"utf16_col":0},"end":{"line_number":1503,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1503,"utf16_col":0},"end":{"line_number":1505,"utf16_col":0}}},{"name":"0.6.0 - 2015-10-05","fully_qualified_name":"0.6.0 - 2015-10-05","kind":"section_1","ident_start":45808,"ident_end":45826,"extent_start":45808,"extent_end":45846,"ident_utf16":{"start":{"line_number":1507,"utf16_col":0},"end":{"line_number":1507,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1507,"utf16_col":0},"end":{"line_number":1509,"utf16_col":0}}},{"name":"0.5.5 - 2015-09-04","fully_qualified_name":"0.5.5 - 2015-09-04","kind":"section_1","ident_start":45887,"ident_end":45905,"extent_start":45887,"extent_end":45925,"ident_utf16":{"start":{"line_number":1511,"utf16_col":0},"end":{"line_number":1511,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1511,"utf16_col":0},"end":{"line_number":1513,"utf16_col":0}}},{"name":"0.5.4 - 2015-07-24","fully_qualified_name":"0.5.4 - 2015-07-24","kind":"section_1","ident_start":46217,"ident_end":46235,"extent_start":46217,"extent_end":46255,"ident_utf16":{"start":{"line_number":1521,"utf16_col":0},"end":{"line_number":1521,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1521,"utf16_col":0},"end":{"line_number":1523,"utf16_col":0}}},{"name":"0.5.3 - 2015-06-15","fully_qualified_name":"0.5.3 - 2015-06-15","kind":"section_1","ident_start":46441,"ident_end":46459,"extent_start":46441,"extent_end":46479,"ident_utf16":{"start":{"line_number":1527,"utf16_col":0},"end":{"line_number":1527,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1527,"utf16_col":0},"end":{"line_number":1529,"utf16_col":0}}},{"name":"0.5.2 - 2015-06-02","fully_qualified_name":"0.5.2 - 2015-06-02","kind":"section_1","ident_start":46543,"ident_end":46561,"extent_start":46543,"extent_end":46581,"ident_utf16":{"start":{"line_number":1531,"utf16_col":0},"end":{"line_number":1531,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1531,"utf16_col":0},"end":{"line_number":1533,"utf16_col":0}}},{"name":"0.5.1 - 2015-05-23","fully_qualified_name":"0.5.1 - 2015-05-23","kind":"section_1","ident_start":46618,"ident_end":46636,"extent_start":46618,"extent_end":46656,"ident_utf16":{"start":{"line_number":1535,"utf16_col":0},"end":{"line_number":1535,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1535,"utf16_col":0},"end":{"line_number":1537,"utf16_col":0}}},{"name":"0.5.0 - 2015-05-19","fully_qualified_name":"0.5.0 - 2015-05-19","kind":"section_1","ident_start":46763,"ident_end":46781,"extent_start":46763,"extent_end":46801,"ident_utf16":{"start":{"line_number":1540,"utf16_col":0},"end":{"line_number":1540,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1540,"utf16_col":0},"end":{"line_number":1542,"utf16_col":0}}},{"name":"0.4.4 - 2015-03-29","fully_qualified_name":"0.4.4 - 2015-03-29","kind":"section_1","ident_start":47069,"ident_end":47087,"extent_start":47069,"extent_end":47107,"ident_utf16":{"start":{"line_number":1547,"utf16_col":0},"end":{"line_number":1547,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1547,"utf16_col":0},"end":{"line_number":1549,"utf16_col":0}}},{"name":"0.4.3 - 2015-03-25","fully_qualified_name":"0.4.3 - 2015-03-25","kind":"section_1","ident_start":47155,"ident_end":47173,"extent_start":47155,"extent_end":47193,"ident_utf16":{"start":{"line_number":1551,"utf16_col":0},"end":{"line_number":1551,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1551,"utf16_col":0},"end":{"line_number":1553,"utf16_col":0}}},{"name":"0.4.2 - 2015-02-27","fully_qualified_name":"0.4.2 - 2015-02-27","kind":"section_1","ident_start":47254,"ident_end":47272,"extent_start":47254,"extent_end":47292,"ident_utf16":{"start":{"line_number":1555,"utf16_col":0},"end":{"line_number":1555,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1555,"utf16_col":0},"end":{"line_number":1557,"utf16_col":0}}},{"name":"0.4.1 - 2015-02-27","fully_qualified_name":"0.4.1 - 2015-02-27","kind":"section_1","ident_start":47359,"ident_end":47377,"extent_start":47359,"extent_end":47397,"ident_utf16":{"start":{"line_number":1559,"utf16_col":0},"end":{"line_number":1559,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1559,"utf16_col":0},"end":{"line_number":1561,"utf16_col":0}}},{"name":"0.4.0 - 2015-02-27","fully_qualified_name":"0.4.0 - 2015-02-27","kind":"section_1","ident_start":47458,"ident_end":47476,"extent_start":47458,"extent_end":47496,"ident_utf16":{"start":{"line_number":1563,"utf16_col":0},"end":{"line_number":1563,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1563,"utf16_col":0},"end":{"line_number":1565,"utf16_col":0}}},{"name":"0.3.6 - 2015-02-05","fully_qualified_name":"0.3.6 - 2015-02-05","kind":"section_1","ident_start":47699,"ident_end":47717,"extent_start":47699,"extent_end":47737,"ident_utf16":{"start":{"line_number":1570,"utf16_col":0},"end":{"line_number":1570,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1570,"utf16_col":0},"end":{"line_number":1572,"utf16_col":0}}},{"name":"0.3.5 - 2015-01-15","fully_qualified_name":"0.3.5 - 2015-01-15","kind":"section_1","ident_start":47792,"ident_end":47810,"extent_start":47792,"extent_end":47830,"ident_utf16":{"start":{"line_number":1574,"utf16_col":0},"end":{"line_number":1574,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1574,"utf16_col":0},"end":{"line_number":1576,"utf16_col":0}}},{"name":"0.3.4 - 2015-01-13","fully_qualified_name":"0.3.4 - 2015-01-13","kind":"section_1","ident_start":47932,"ident_end":47950,"extent_start":47932,"extent_end":47970,"ident_utf16":{"start":{"line_number":1578,"utf16_col":0},"end":{"line_number":1578,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1578,"utf16_col":0},"end":{"line_number":1580,"utf16_col":0}}},{"name":"0.3.3 - 2015-01-06","fully_qualified_name":"0.3.3 - 2015-01-06","kind":"section_1","ident_start":48028,"ident_end":48046,"extent_start":48028,"extent_end":48066,"ident_utf16":{"start":{"line_number":1582,"utf16_col":0},"end":{"line_number":1582,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1582,"utf16_col":0},"end":{"line_number":1584,"utf16_col":0}}},{"name":"0.3.2 - 2014-10-07","fully_qualified_name":"0.3.2 - 2014-10-07","kind":"section_1","ident_start":48110,"ident_end":48128,"extent_start":48110,"extent_end":48148,"ident_utf16":{"start":{"line_number":1586,"utf16_col":0},"end":{"line_number":1586,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1586,"utf16_col":0},"end":{"line_number":1588,"utf16_col":0}}},{"name":"0.3.1 - 2014-10-03","fully_qualified_name":"0.3.1 - 2014-10-03","kind":"section_1","ident_start":48210,"ident_end":48228,"extent_start":48210,"extent_end":48248,"ident_utf16":{"start":{"line_number":1590,"utf16_col":0},"end":{"line_number":1590,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1590,"utf16_col":0},"end":{"line_number":1592,"utf16_col":0}}},{"name":"0.3.0 - 2014-09-18","fully_qualified_name":"0.3.0 - 2014-09-18","kind":"section_1","ident_start":48377,"ident_end":48395,"extent_start":48377,"extent_end":48415,"ident_utf16":{"start":{"line_number":1596,"utf16_col":0},"end":{"line_number":1596,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1596,"utf16_col":0},"end":{"line_number":1598,"utf16_col":0}}},{"name":"0.2.11 - 2014-09-05","fully_qualified_name":"0.2.11 - 2014-09-05","kind":"section_1","ident_start":48459,"ident_end":48478,"extent_start":48459,"extent_end":48499,"ident_utf16":{"start":{"line_number":1600,"utf16_col":0},"end":{"line_number":1600,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1600,"utf16_col":0},"end":{"line_number":1602,"utf16_col":0}}},{"name":"0.2.10 - 2014-09-04","fully_qualified_name":"0.2.10 - 2014-09-04","kind":"section_1","ident_start":48550,"ident_end":48569,"extent_start":48550,"extent_end":48590,"ident_utf16":{"start":{"line_number":1604,"utf16_col":0},"end":{"line_number":1604,"utf16_col":19}},"extent_utf16":{"start":{"line_number":1604,"utf16_col":0},"end":{"line_number":1606,"utf16_col":0}}},{"name":"0.2.9 - 2014-09-02","fully_qualified_name":"0.2.9 - 2014-09-02","kind":"section_1","ident_start":48693,"ident_end":48711,"extent_start":48693,"extent_end":48731,"ident_utf16":{"start":{"line_number":1609,"utf16_col":0},"end":{"line_number":1609,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1609,"utf16_col":0},"end":{"line_number":1611,"utf16_col":0}}},{"name":"0.2.8 - 2014-08-13","fully_qualified_name":"0.2.8 - 2014-08-13","kind":"section_1","ident_start":48797,"ident_end":48815,"extent_start":48797,"extent_end":48835,"ident_utf16":{"start":{"line_number":1613,"utf16_col":0},"end":{"line_number":1613,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1613,"utf16_col":0},"end":{"line_number":1615,"utf16_col":0}}},{"name":"0.2.7 - 2014-07-28","fully_qualified_name":"0.2.7 - 2014-07-28","kind":"section_1","ident_start":48963,"ident_end":48981,"extent_start":48963,"extent_end":49001,"ident_utf16":{"start":{"line_number":1619,"utf16_col":0},"end":{"line_number":1619,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1619,"utf16_col":0},"end":{"line_number":1621,"utf16_col":0}}},{"name":"0.2.6 - 2014-07-28","fully_qualified_name":"0.2.6 - 2014-07-28","kind":"section_1","ident_start":49067,"ident_end":49085,"extent_start":49067,"extent_end":49105,"ident_utf16":{"start":{"line_number":1623,"utf16_col":0},"end":{"line_number":1623,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1623,"utf16_col":0},"end":{"line_number":1625,"utf16_col":0}}},{"name":"0.2.5 - 2014-07-17","fully_qualified_name":"0.2.5 - 2014-07-17","kind":"section_1","ident_start":49215,"ident_end":49233,"extent_start":49215,"extent_end":49253,"ident_utf16":{"start":{"line_number":1629,"utf16_col":0},"end":{"line_number":1629,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1629,"utf16_col":0},"end":{"line_number":1631,"utf16_col":0}}},{"name":"0.2.4 - 2014-07-07","fully_qualified_name":"0.2.4 - 2014-07-07","kind":"section_1","ident_start":49308,"ident_end":49326,"extent_start":49308,"extent_end":49346,"ident_utf16":{"start":{"line_number":1633,"utf16_col":0},"end":{"line_number":1633,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1633,"utf16_col":0},"end":{"line_number":1635,"utf16_col":0}}},{"name":"0.2.3 - 2014-06-25","fully_qualified_name":"0.2.3 - 2014-06-25","kind":"section_1","ident_start":49509,"ident_end":49527,"extent_start":49509,"extent_end":49547,"ident_utf16":{"start":{"line_number":1639,"utf16_col":0},"end":{"line_number":1639,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1639,"utf16_col":0},"end":{"line_number":1641,"utf16_col":0}}},{"name":"0.2.2 - 2014-06-22","fully_qualified_name":"0.2.2 - 2014-06-22","kind":"section_1","ident_start":49626,"ident_end":49644,"extent_start":49626,"extent_end":49664,"ident_utf16":{"start":{"line_number":1644,"utf16_col":0},"end":{"line_number":1644,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1644,"utf16_col":0},"end":{"line_number":1646,"utf16_col":0}}},{"name":"0.2.1 - 2014-06-18","fully_qualified_name":"0.2.1 - 2014-06-18","kind":"section_1","ident_start":49693,"ident_end":49711,"extent_start":49693,"extent_end":49731,"ident_utf16":{"start":{"line_number":1648,"utf16_col":0},"end":{"line_number":1648,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1648,"utf16_col":0},"end":{"line_number":1650,"utf16_col":0}}},{"name":"0.2.0 - 2014-06-17","fully_qualified_name":"0.2.0 - 2014-06-17","kind":"section_1","ident_start":49847,"ident_end":49865,"extent_start":49847,"extent_end":49885,"ident_utf16":{"start":{"line_number":1654,"utf16_col":0},"end":{"line_number":1654,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1654,"utf16_col":0},"end":{"line_number":1656,"utf16_col":0}}},{"name":"0.1.1 - 2014-06-11","fully_qualified_name":"0.1.1 - 2014-06-11","kind":"section_1","ident_start":50086,"ident_end":50104,"extent_start":50086,"extent_end":50124,"ident_utf16":{"start":{"line_number":1662,"utf16_col":0},"end":{"line_number":1662,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1662,"utf16_col":0},"end":{"line_number":1664,"utf16_col":0}}},{"name":"0.1.0 - 2014-06-07","fully_qualified_name":"0.1.0 - 2014-06-07","kind":"section_1","ident_start":50191,"ident_end":50209,"extent_start":50191,"extent_end":50229,"ident_utf16":{"start":{"line_number":1666,"utf16_col":0},"end":{"line_number":1666,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1666,"utf16_col":0},"end":{"line_number":1668,"utf16_col":0}}}]}},"codeViewLayoutRoute":{"repo":{"id":316222486,"defaultBranch":"master","name":"pre-commit","ownerLogin":"ExternalRepositories","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2020-11-26T12:20:31.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/68587716?v=4","public":true,"private":false,"isOrgOwned":true,"isArchived":false},"currentUser":null,"uploadToken":"44Qm5XFISFLPFjwQf4_z-bqCHJogFGKHi_Urk47Dl_qh-B103JJN6hf3WNGiY3oUsfyb6enu71pD5jYqX-9XaA","allShortcutsEnabled":false,"treeExpanded":true,"path":"CHANGELOG.md","symbolsExpanded":false,"refInfo":{"name":"master","listCacheKey":"v0:1614779240.856226","canEdit":false,"currentOid":"f15cfbb2086018f502d02bb020bbbe367a76849e"},"helpUrl":"https://docs.github.com","githubDevUrl":null},"codeViewFileTreeLayoutRoute":{"fileTree":{"":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":"pre_commit","path":"pre_commit","contentType":"directory"},{"name":"testing","path":"testing","contentType":"directory"},{"name":"tests","path":"tests","contentType":"directory"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".pre-commit-config.yaml","path":".pre-commit-config.yaml","contentType":"file"},{"name":".pre-commit-hooks.yaml","path":".pre-commit-hooks.yaml","contentType":"file"},{"name":"CHANGELOG.md","path":"CHANGELOG.md","contentType":"file"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"azure-pipelines.yml","path":"azure-pipelines.yml","contentType":"file"},{"name":"requirements-dev.txt","path":"requirements-dev.txt","contentType":"file"},{"name":"setup.cfg","path":"setup.cfg","contentType":"file"},{"name":"setup.py","path":"setup.py","contentType":"file"},{"name":"tox.ini","path":"tox.ini","contentType":"file"}],"totalCount":16}},"fileTreeProcessingTime":47.664289,"foldersToFetch":[]},"codeViewBlobLayoutRoute":{"codeLineWrapEnabled":false,"refInfo":{"name":"master","listCacheKey":"v0:1614779240.856226","canEdit":false,"refType":"branch","currentOid":"f15cfbb2086018f502d02bb020bbbe367a76849e","canEditOnDefaultBranch":false,"fileExistsOnDefault":true},"path":"CHANGELOG.md","blob":{"copilotSWEAgentEnabled":false,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/ExternalRepositories/pre-commit/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"CHANGELOG.md","displayUrl":"https://github.com/ExternalRepositories/pre-commit/blob/master/CHANGELOG.md?raw=true","headerInfo":{"blobSize":"49.1 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"d3773f6","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2FExternalRepositories%2Fpre-commit%2Fblob%2Fmaster%2FCHANGELOG.md","isCSV":false,"isRichtext":true,"lineInfo":{"truncatedLoc":"1669","truncatedSloc":"1385"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"isIssueTemplate":false,"isDiscussionTemplate":false,"language":"Markdown","languageID":222,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/ExternalRepositories/pre-commit/blob/master/CHANGELOG.md","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/ExternalRepositories/pre-commit/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/ExternalRepositories/pre-commit/raw/refs/heads/master/CHANGELOG.md","renderImageOrRaw":false,"shortPath":null,"symbolsEnabled":true,"tabSize":4,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":"/ExternalRepositories/.github/blob/b2f4c225ac9b400a6365beebbe3a926e6010591c/FUNDING.yml","showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null},"copilotInfo":null,"copilotAccessAllowed":false,"copilotSpacesEnabled":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"isMarketplaceEnabled":true},"codeViewBlobLayoutRoute.StyledBlob":{"rawLines":["2.9.2 - 2020-11-25","==================","","### Fixes","- Fix default value for `types_or` so `symlink` and `directory` can be matched","    - #1716 PR by @asottile.","    - issue by code_bleu in [twitch chat](https://twitch.tv/anthonywritescode)","","2.9.1 - 2020-11-25","==================","","### Fixes","- Improve error message for \"hook goes missing\"","    - #1709 PR by @paulhfischer.","    - #1708 issue by @theod07.","- Add warning for `/*` in `files` / `exclude` regexes","    - #1707 PR by @paulhfischer.","    - #1702 issue by @asottile.","- Fix `healthy()` check for `language: python` on windows when the base","  executable has non-ascii characters.","    - #1713 PR by @asottile.","    - #1711 issue by @Najiva.","","2.9.0 - 2020-11-21","==================","","### Features","- Add `types_or` which allows matching multiple disparate `types` in a hook","    - #1677 by @MarcoGorelli.","    - #607 by @asottile.","- Add Github Sponsors / Open Collective links","    - https://github.com/sponsors/asottile","    - https://opencollective.com/pre-commit","","### Fixes","- Improve cleanup for `language: dotnet`","    - #1678 by @rkm.","- Fix \"xargs\" when running windows batch files","    - #1686 PR by @asottile.","    - #1604 issue by @apietrzak.","    - #1604 issue by @ufwtlsb.","- Fix conflict with external `rbenv` and `language_version: default`","    - #1700 PR by @asottile.","    - #1699 issue by @abuxton.","- Improve performance of `git status` / `git diff` commands by ignoring","  submodules","    - #1704 PR by @Vynce.","    - #1701 issue by @Vynce.","","2.8.2 - 2020-10-30","==================","","### Fixes","- Fix installation of ruby hooks with `language_version: default`","    - #1671 issue by @aerickson.","    - #1672 PR by @asottile.","","2.8.1 - 2020-10-28","==================","","### Fixes","- Allow default `language_version` of `system` when the homedir is `/`","    - #1669 PR by @asottile.","","2.8.0 - 2020-10-28","==================","","### Features","- Update `rbenv` / `ruby-build`","    - #1612 issue by @tdeo.","    - #1614 PR by @asottile.","- Update `sample-config` versions","    - #1611 PR by @mcsitter.","- Add new language: `dotnet`","    - #1598 by @rkm.","- Add `--negate` option to `language: pygrep` hooks","    - #1643 PR by @MarcoGorelli.","- Add zipapp support","    - #1616 PR by @asottile.","- Run pre-commit through https://pre-commit.ci","    - #1662 PR by @asottile.","- Add new language: `coursier` (a jvm-based package manager)","    - #1633 PR by @JosephMoniz.","- Exit with distinct codes: 1 (user error), 3 (unexpected error), 130 (^C)","    - #1601 PR by @int3l.","","### Fixes","- Improve `healthy()` check for `language: node` + `language_version: system`","  hooks when the system executable goes missing.","    - pre-commit/action#45 issue by @KOliver94.","    - #1589 issue by @asottile.","    - #1590 PR by @asottile.","- Fix excess whitespace in error log traceback","    - #1592 PR by @asottile.","- Fix posixlike shebang invocations with shim executables of the git hook","  script on windows.","    - #1593 issue by @Celeborn2BeAlive.","    - #1595 PR by @Celeborn2BeAlive.","- Remove hard-coded `C:\\PythonXX\\python.exe` path on windows as it caused","  confusion (and `virtualenv` can sometimes do better)","    - #1599 PR by @asottile.","- Fix `language: ruby` hooks when `--format-executable` is present in a gemrc","    - issue by `Rainbow Tux` (discord).","    - #1603 PR by @asottile.","- Move `cygwin` / `win32` mismatch error earlier to catch msys2 mismatches","    - #1605 issue by @danyeaw.","    - #1606 PR by @asottile.","- Remove `-p` workaround for old `virtualenv`","    - #1617 PR by @asottile.","- Fix `language: node` installations to not symlink outside of the environment","    - pre-commit-ci/issues#2 issue by @DanielJSottile.","    - #1667 PR by @asottile.","- Don't identify shim executables as valid `system` for defaulting","  `language_version` for `language: node` / `language: ruby`","    - #1658 issue by @adithyabsk.","    - #1668 PR by @asottile.","","","2.7.1 - 2020-08-23","==================","","### Fixes","- Improve performance of docker hooks by removing slow `ps` call","    - #1572 PR by @rkm.","    - #1569 issue by @asottile.","- Fix un-`healthy()` invalidation followed by install being reported as","  un-`healthy()`.","    - #1576 PR by @asottile.","    - #1575 issue by @jab.","- Fix rare file race condition on windows with `os.replace()`","    - #1577 PR by @asottile.","","2.7.0 - 2020-08-22","==================","","### Features","- Produce error message if an environment is immediately unhealthy","    - #1535 PR by @asottile.","- Add --no-allow-missing-config option to init-templatedir","    - #1539 PR by @singergr.","- Add warning for old list-style configuration","    - #1544 PR by @asottile.","- Allow pre-commit to succeed on a readonly store.","    - #1570 PR by @asottile.","    - #1536 issue by @asottile.","","### Fixes","- Fix error messaging when the store directory is readonly","    - #1546 PR by @asottile.","    - #1536 issue by @asottile.","- Improve `diff` performance with many hooks","    - #1566 PR by @jhenkens.","    - #1564 issue by @jhenkens.","","","2.6.0 - 2020-07-01","==================","","### Fixes","- Fix node hooks when `NPM_CONFIG_USERCONFIG` is set","    - #1521 PR by @asottile.","    - #1516 issue by @rkm.","","### Features","- Skip `rbenv` / `ruby-download` if system ruby is available","    - #1509 PR by @asottile.","- Partial support for ruby on windows (if system ruby is installed)","    - #1509 PR by @asottile.","    - #201 issue by @asottile.","","2.5.1 - 2020-06-09","==================","","### Fixes","- Prevent infinite recursion of post-checkout on clone","    - #1497 PR by @asottile.","    - #1496 issue by @admorgan.","","2.5.0 - 2020-06-08","==================","","### Features","- Expose a `PRE_COMMIT=1` environment variable when running hooks","    - #1467 PR by @tech-chad.","    - #1426 issue by @lorenzwalthert.","","### Fixes","- Fix `UnicodeDecodeError` on windows when using the `py` launcher to detect","  executables with non-ascii characters in the path","    - #1474 PR by @asottile.","    - #1472 issue by DrFobos.","- Fix `DeprecationWarning` on python3.9 for `random.shuffle` method","    - #1480 PR by @asottile.","    - #1479 issue by @isidentical.","- Normalize slashes earlier such that global `files` / `exclude` use forward","  slashes on windows as well.","    - #1494 PR by @asottile.","    - #1476 issue by @harrybiddle.","","2.4.0 - 2020-05-11","==================","","### Features","- Add support for `post-commit` hooks","    - #1415 PR by @ModischFabrications.","    - #1411 issue by @ModischFabrications.","- Silence pip version warning in python installation error","    - #1412 PR by @asottile.","- Improve python `healthy()` when upgrading operating systems.","    - #1431 PR by @asottile.","    - #1427 issue by @ahonnecke.","- `language: python_venv` is now an alias to `language: python` (and will be","  removed in a future version).","    - #1431 PR by @asottile.","- Speed up python `healthy()` check.","    - #1431 PR by @asottile.","- `pre-commit autoupdate` now tries to maintain quoting style of `rev`.","    - #1435 PR by @marcjay.","    - #1434 issue by @marcjay.","","### Fixes","- Fix installation of go modules in `repo: local`.","    - #1428 PR by @scop.","- Fix committing with unstaged files and a failing `post-checkout` hook.","    - #1422 PR by @domodwyer.","    - #1418 issue by @domodwyer.","- Fix installation of node hooks with system node installed on freebsd.","    - #1443 PR by @asottile.","    - #1440 issue by @jockej.","- Fix ruby hooks when `GEM_PATH` is set globally.","    - #1442 PR by @tdeo.","- Improve error message when `pre-commit autoupdate` /","  `pre-commit migrate-config` are run but the pre-commit configuration is not","  valid yaml.","    - #1448 PR by @asottile.","    - #1447 issue by @rpdelaney.","","2.3.0 - 2020-04-22","==================","","### Features","- Calculate character width using `east_asian_width`","    - #1378 PR by @sophgn.","- Use `language_version: system` by default for `node` hooks if `node` / `npm`","  are globally installed.","    - #1388 PR by @asottile.","","### Fixes","- No longer use a hard-coded user id for docker hooks on windows","    - #1371 PR by @killuazhu.","- Fix colors on windows during `git commit`","    - #1381 issue by @Cielquan.","    - #1382 PR by @asottile.","- Produce readable error message for incorrect argument count to `hook-impl`","    - #1394 issue by @pip9ball.","    - #1395 PR by @asottile.","- Fix installations which involve an upgrade of `pip` on windows","    - #1398 issue by @xiaohuazi123.","    - #1399 PR by @asottile.","- Preserve line endings in `pre-commit autoupdate`","    - #1402 PR by @utek.","","2.2.0 - 2020-03-12","==================","","### Features","- Add support for the `post-checkout` hook","    - #1120 issue by @domenkozar.","    - #1339 PR by @andrewhare.","- Add more readable `--from-ref` / `--to-ref` aliases for `--source` /","  `--origin`","    - #1343 PR by @asottile.","","### Fixes","- Make sure that `--commit-msg-filename` is passed for `commit-msg` /","  `prepare-commit-msg`.","    - #1336 PR by @particledecay.","    - #1341 PR by @particledecay.","- Fix crash when installation error is un-decodable bytes","    - #1358 issue by @Guts.","    - #1359 PR by @asottile.","- Fix python `healthy()` check when `python` executable goes missing.","    - #1363 PR by @asottile.","- Fix crash when script executables are missing shebangs.","    - #1350 issue by @chriselion.","    - #1364 PR by @asottile.","","### Misc.","- pre-commit now requires python\u003e=3.6.1 (previously 3.6.0)","    - #1346 PR by @asottile.","","2.1.1 - 2020-02-24","==================","","### Fixes","- Temporarily restore python 3.6.0 support (broken in 2.0.0)","    - reported by @obestwalter.","    - 081f3028 by @asottile.","","2.1.0 - 2020-02-18","==================","","### Features","- Replace `aspy.yaml` with `sort_keys=False`.","    - #1306 PR by @asottile.","- Add support for `perl`.","    - #1303 PR by @scop.","","### Fixes","- Improve `.git/hooks/*` shebang creation when pythons are in `/usr/local/bin`.","    - #1312 issue by @kbsezginel.","    - #1319 PR by @asottile.","","### Misc.","- Add repository badge for pre-commit.","    - [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white)](https://github.com/pre-commit/pre-commit)","    - #1334 PR by @ddelange.","","2.0.1 - 2020-01-29","==================","","### Fixes","- Fix `ImportError` in python 3.6.0 / 3.6.1 for `typing.NoReturn`.","    - #1302 PR by @asottile.","","2.0.0 - 2020-01-28","==================","","### Features","- Expose `PRE_COMMIT_REMOTE_NAME` and `PRE_COMMIT_REMOTE_URL` as environment","  variables during `pre-push` hooks.","    - #1274 issue by @dmbarreiro.","    - #1288 PR by @dmbarreiro.","","### Fixes","- Fix `python -m pre_commit --version` to mention `pre-commit` instead of","  `__main__.py`.","    - #1273 issue by @ssbarnea.","    - #1276 PR by @orcutt989.","- Don't filter `GIT_SSL_NO_VERIFY` from environment when cloning.","    - #1293 PR by @schiermike.","- Allow `pre-commit init-templatedir` to succeed even if `core.hooksPath` is","  set.","    - #1298 issue by @damienrj.","    - #1299 PR by @asottile.","","### Misc","- Fix changelog date for 1.21.0.","    - #1275 PR by @flaudisio.","","### Updating","- Removed `pcre` language, use `pygrep` instead.","    - #1268 PR by @asottile.","- Removed `--tags-only` argument to `pre-commit autoupdate` (it has done","  nothing since 0.14.0).","    - #1269 by @asottile.","- Remove python2 / python3.5 support.  Note that pre-commit still supports","  running hooks written in python2, but pre-commit itself requires python 3.6+.","    - #1260 issue by @asottile.","    - #1277 PR by @asottile.","    - #1281 PR by @asottile.","    - #1282 PR by @asottile.","    - #1287 PR by @asottile.","    - #1289 PR by @asottile.","    - #1292 PR by @asottile.","","1.21.0 - 2020-01-02","===================","","### Features","- Add `conda` as a new `language`.","    - #1204 issue by @xhochy.","    - #1232 PR by @xhochy.","- Add top-level configuration `files` for file selection.","    - #1220 issue by @TheButlah.","    - #1248 PR by @asottile.","- Rework `--verbose` / `verbose` to be more consistent with normal runs.","    - #1249 PR by @asottile.","- Add support for the `pre-merge-commit` git hook.","    - #1210 PR by @asottile.","    - this requires git 2.24+.","- Add `pre-commit autoupdate --freeze` which produces \"frozen\" revisions.","    - #1068 issue by @SkypLabs.","    - #1256 PR by @asottile.","- Display hook runtime duration when run with `--verbose`.","    - #1144 issue by @potiuk.","    - #1257 PR by @asottile.","","### Fixes","- Produce better error message when erroneously running inside of `.git`.","    - #1219 issue by @Nusserdt.","    - #1224 PR by @asottile.","    - Note: `git` has since fixed this bug: git/git@36fd304d","- Produce better error message when hook installation fails.","    - #1250 issue by @asottile.","    - #1251 PR by @asottile.","- Fix cloning when `GIT_SSL_CAINFO` is necessary.","    - #1253 issue by @igankevich.","    - #1254 PR by @igankevich.","- Fix `pre-commit try-repo` for bare, on-disk repositories.","    - #1258 issue by @webknjaz.","    - #1259 PR by @asottile.","- Add some whitespace to `pre-commit autoupdate` to improve terminal autolink.","    - #1261 issue by @yhoiseth.","    - #1262 PR by @yhoiseth.","","### Misc.","- Minor code documentation updates.","    - #1200 PR by @ryanrhee.","    - #1201 PR by @ryanrhee.","","1.20.0 - 2019-10-28","===================","","### Features","- Allow building newer versions of `ruby`.","    - #1193 issue by @choffee.","    - #1195 PR by @choffee.","- Bump versions reported in `pre-commit sample-config`.","    - #1197 PR by @asottile.","","### Fixes","- Fix rare race condition with multiple concurrent first-time runs.","    - #1192 issue by @raholler.","    - #1196 PR by @asottile.","","1.19.0 - 2019-10-26","===================","","### Features","- Allow `--hook-type` to be specified multiple times.","    - example: `pre-commit install --hook-type pre-commit --hook-type pre-push`","    - #1139 issue by @MaxymVlasov.","    - #1145 PR by @asottile.","- Include more version information in crash logs.","    - #1142 by @marqueewinq.","- Hook colors are now passed through on platforms which support `pty`.","    - #1169 by @asottile.","- pre-commit now  uses `importlib.metadata` directly when running in python 3.8","    - #1176 by @asottile.","- Normalize paths to forward slash separators on windows.","    - makes it easier to match paths with `files:` regex","    - avoids some quoting bugs in shell-based hooks","    - #1173 issue by @steigenTI.","    - #1179 PR by @asottile.","","### Fixes","- Remove some extra newlines from error messages.","    - #1148 by @asottile.","- When a hook is not executable it now reports `not executable` instead of","  `not found`.","    - #1159 issue by @nixjdm.","    - #1161 PR by @WillKoehrsen.","- Fix interleaving of stdout / stderr in hooks.","    - #1168 by @asottile.","- Fix python environment `healthy()` check when current working directory","  contains modules which shadow standard library names.","    - issue by @vwhsu92.","    - #1185 PR by @asottile.","","### Updating","- Regexes handling both backslashes and forward slashes for directory","  separators now only need to handle forward slashes.","","1.18.3 - 2019-08-27","===================","","### Fixes","- Fix `node_modules` plugin installation on windows","    - #1123 issue by @henryykt.","    - #1122 PR by @henryykt.","","1.18.2 - 2019-08-15","===================","","### Fixes","- Make default python lookup more deterministic to avoid redundant installs","    - #1117 PR by @scop.","","1.18.1 - 2019-08-11","===================","","### Fixes","- Fix installation of `rust` hooks with new `cargo`","    - #1112 issue by @zimbatm.","    - #1113 PR by @zimbatm.","","1.18.0 - 2019-08-03","===================","","### Features","- Use the current running executable if it matches the requested","  `language_version`","    - #1062 PR by @asottile.","- Print the stage when a hook is not found","    - #1078 issue by @madkinsz.","    - #1079 PR by @madkinsz.","- `pre-commit autoupdate` now supports non-`master` default branches","    - #1089 PR by @asottile.","- Add `pre-commit init-templatedir` which makes it easier to automatically","  enable `pre-commit` in cloned repositories.","    - #1084 issue by @ssbarnea.","    - #1090 PR by @asottile.","    - #1107 PR by @asottile.","- pre-commit's color can be controlled using","  `PRE_COMMIT_COLOR={auto,always,never}`","    - #1073 issue by @saper.","    - #1092 PR by @geieredgar.","    - #1098 PR by @geieredgar.","- pre-commit's color can now be disabled using `TERM=dumb`","    - #1073 issue by @saper.","    - #1103 PR by @asottile.","- pre-commit now supports `docker` based hooks on windows","    - #1072 by @cz-fish.","    - #1093 PR by @geieredgar.","","### Fixes","- Fix shallow clone","    - #1077 PR by @asottile.","- Fix autoupdate version flip flop when using shallow cloning","    - #1076 issue by @mxr.","    - #1088 PR by @asottile.","- Fix autoupdate when the current revision is invalid","    - #1088 PR by @asottile.","","### Misc.","- Replace development instructions with `tox --devenv ...`","    - #1032 issue by @yoavcaspi.","    - #1067 PR by @asottile.","","","1.17.0 - 2019-06-06","===================","","### Features","- Produce better output on `^C`","    - #1030 PR by @asottile.","- Warn on unknown keys at the top level and repo level","    - #1028 PR by @yoavcaspi.","    - #1048 PR by @asottile.","","### Fixes","- Fix handling of `^C` in wrapper script in python 3.x","    - #1027 PR by @asottile.","- Fix `rmtree` for non-writable directories","    - #1042 issue by @detailyang.","    - #1043 PR by @asottile.","- Pass `--color` option to `git diff` in `--show-diff-on-failure`","    - #1007 issue by @chadrik.","    - #1051 PR by @mandarvaze.","","### Misc.","- Fix test when `pre-commit` is installed globally","    - #1032 issue by @yoavcaspi.","    - #1045 PR by @asottile.","","","1.16.1 - 2019-05-08","===================","","### Fixes","- Don't `UnicodeDecodeError` on unexpected non-UTF8 output in python health","  check on windows.","    - #1021 issue by @nicoddemus.","    - #1022 PR by @asottile.","","1.16.0 - 2019-05-04","===================","","### Features","- Add support for `prepare-commit-msg` hook","    - #1004 PR by @marcjay.","","### Fixes","- Fix repeated legacy `pre-commit install` on windows","    - #1010 issue by @AbhimanyuHK.","    - #1011 PR by @asottile.","- Whitespace fixup","    - #1014 PR by @mxr.","- Fix CI check for working pcre support","    - #1015 PR by @Myrheimb.","","### Misc.","- Switch CI from travis / appveyor to azure pipelines","    - #1012 PR by @asottile.","","1.15.2 - 2019-04-16","===================","","### Fixes","- Fix cloning non-branch tag while in the fallback slow-clone strategy.","    - #997 issue by @jpinner.","    - #998 PR by @asottile.","","1.15.1 - 2019-04-01","===================","","### Fixes","- Fix command length calculation on posix when `SC_ARG_MAX` is not defined.","    - #691 issue by @ushuz.","    - #987 PR by @asottile.","","1.15.0 - 2019-03-30","===================","","### Features","- No longer require being in a `git` repo to run `pre-commit` `clean` / `gc` /","  `sample-config`.","    - #959 PR by @asottile.","- Improve command line length limit detection.","    - #691 issue by @antonbabenko.","    - #966 PR by @asottile.","- Use shallow cloning when possible.","    - #958 PR by @DanielChabrowski.","- Add `minimum_pre_commit_version` top level key to require a new-enough","  version of `pre-commit`.","    - #977 PR by @asottile.","- Add helpful CI-friendly message when running","  `pre-commit run --all-files --show-diff-on-failure`.","  - #982 PR by @bnorquist.","","### Fixes","- Fix `try-repo` for staged untracked changes.","    - #973 PR by @DanielChabrowski.","- Fix rpm build by explicitly using `#!/usr/bin/env python3` in hook template.","    - #985 issue by @tim77.","    - #986 PR by @tim77.","- Guard against infinite recursion when executing legacy hook script.","    - #981 PR by @tristan0x.","","### Misc","- Add test for `git.no_git_env()`","    - #972 PR by @javabrett.","","1.14.4 - 2019-02-18","===================","","### Fixes","- Don't filter `GIT_SSH_COMMAND` env variable from `git` commands","    - #947 issue by @firba1.","    - #948 PR by @firba1.","- Install npm packages as if they were installed from `git`","    - #943 issue by @ssbarnea.","    - #949 PR by @asottile.","- Don't filter `GIT_EXEC_PREFIX` env variable from `git` commands","    - #664 issue by @revolter.","    - #944 PR by @minrk.","","1.14.3 - 2019-02-04","===================","","### Fixes","- Improve performance of filename classification by 45% - 55%.","    - #921 PR by @asottile.","- Fix installing `go` hooks while `GOBIN` environment variable is set.","    - #924 PR by @ashanbrown.","- Fix crash while running `pre-commit migrate-config` / `pre-commit autoupdate`","  with an empty configuration file.","    - #929 issue by @ardakuyumcu.","    - #933 PR by @jessebona.","- Require a newer virtualenv to fix metadata-based setup.cfg installs.","    - #936 PR by @asottile.","","1.14.2 - 2019-01-10","===================","","### Fixes","- Make the hook shebang detection more timid (1.14.0 regression)","    - Homebrew/homebrew-core#35825.","    - #915 PR by @asottile.","","1.14.1 - 2019-01-10","===================","","### Fixes","- Fix python executable lookup on windows when using conda","    - #913 issue by @dawelter2.","    - #914 PR by @asottile.","","1.14.0 - 2019-01-08","===================","","### Features","- Add an `alias` configuration value to allow repeated hooks to be","  differentiated","    - #882 issue by @s0undt3ch.","    - #886 PR by @s0undt3ch.","- Add `identity` meta hook which just prints filenames","    - #865 issue by @asottile.","    - #898 PR by @asottile.","- Factor out `cached-property` and improve startup performance by ~10%","    - #899 PR by @asottile.","- Add a warning on unexpected keys in configuration","    - #899 PR by @asottile.","- Teach `pre-commit try-repo` to clone uncommitted changes on disk.","    - #589 issue by @sverhagen.","    - #703 issue by @asottile.","    - #904 PR by @asottile.","- Implement `pre-commit gc` which will clean up no-longer-referenced cache","  repos.","    - #283 issue by @jtwang.","    - #906 PR by @asottile.","- Add top level config `default_language_version` to streamline overriding the","  `language_version` configuration in many places","    - #647 issue by @asottile.","    - #908 PR by @asottile.","- Add top level config `default_stages` to streamline overriding the `stages`","  configuration in many places","    - #768 issue by @mattlqx.","    - #909 PR by @asottile.","","### Fixes","- More intelligently pick hook shebang (`#!/usr/bin/env python3`)","    - #878 issue by @fristedt.","    - #893 PR by @asottile.","- Several fixes related to `--files` / `--config`:","    - `pre-commit run --files x` outside of a git dir no longer stacktraces","    - `pre-commit run --config ./relative` while in a sub directory of the git","      repo is now able to find the configuration","    - `pre-commit run --files ...` no longer runs a subprocess per file","      (performance)","    - #895 PR by @asottile.","- `pre-commit try-repo ./relative` while in a sub directory of the git repo is","  now able to clone properly","    - #903 PR by @asottile.","- Ensure `meta` repos cannot have a language other than `system`","    - #905 issue by @asottile.","    - #907 PR by @asottile.","- Fix committing with unstaged files that were `git add --intent-to-add` added","    - #881 issue by @henniss.","    - #912 PR by @asottile.","","### Misc.","- Use `--no-gpg-sign` when running tests","    - #894 PR by @s0undt3ch.","","","1.13.0 - 2018-12-20","===================","","### Features","- Run hooks in parallel","    - individual hooks may opt out of parallel execution with `require_serial: true`","    - #510 issue by @chriskuehl.","    - #851 PR by @chriskuehl.","","### Fixes","- Improve platform-specific `xargs` command length detection","    - #691 issue by @antonbabenko.","    - #839 PR by @georgeyk.","- Fix `pre-commit autoupdate` when updating to a latest tag missing a","  `.pre-commit-hooks.yaml`","    - #856 issue by @asottile.","    - #857 PR by @runz0rd.","- Upgrade the `pre-commit-hooks` version in `pre-commit sample-config`","    - #870 by @asottile.","- Improve balancing of multiprocessing by deterministic shuffling of args","    - #861 issue by @Dunedan.","    - #874 PR by @chriskuehl.","- `ruby` hooks work with latest `gem` by removing `--no-ri` / `--no-rdoc` and","  instead using `--no-document`.","    - #889 PR by @asottile.","","### Misc.","- Use `--no-gpg-sign` when running tests","    - #885 PR by @s0undt3ch.","","### Updating","- If a hook requires serial execution, set `require_serial: true` to avoid the new","  parallel execution.","- `ruby` hooks now require `gem\u003e=2.0.0`.  If your platform doesn't support this","  by default, select a newer version using","  [`language_version`](https://pre-commit.com/#overriding-language-version).","","","1.12.0 - 2018-10-23","===================","","### Fixes","- Install multi-hook repositories only once (performance)","    - issue by @chriskuehl.","    - #852 PR by @asottile.","- Improve performance by factoring out pkg_resources (performance)","    - #840 issue by @RonnyPfannschmidt.","    - #846 PR by @asottile.","","1.11.2 - 2018-10-10","===================","","### Fixes","- `check-useless-exclude` now considers `types`","    - #704 issue by @asottile.","    - #837 PR by @georgeyk.","- `pre-push` hook was not identifying all commits on push to new branch","    - #843 issue by @prem-nuro.","    - #844 PR by @asottile.","","1.11.1 - 2018-09-22","===================","","### Fixes","- Fix `.git` dir detection in `git\u003c2.5` (regression introduced in","  [1.10.5](#1105))","    - #831 issue by @mmacpherson.","    - #832 PR by @asottile.","","1.11.0 - 2018-09-02","===================","","### Features","- Add new `fail` language which always fails","    - light-weight way to forbid files by name.","    - #812 #821 PRs by @asottile.","","### Fixes","- Fix `ResourceWarning`s for unclosed files","    - #811 PR by @BoboTiG.","- Don't write ANSI colors on windows when color enabling fails","    - #819 PR by @jeffreyrack.","","1.10.5 - 2018-08-06","===================","","### Fixes","- Work around `PATH` issue with `brew` `python` on `macos`","    - Homebrew/homebrew-core#30445 issue by @asottile.","    - #805 PR by @asottile.","- Support `pre-commit install` inside a worktree","    - #808 issue by @s0undt3ch.","    - #809 PR by @asottile.","","1.10.4 - 2018-07-22","===================","","### Fixes","- Replace `yaml.load` with safe alternative","    - `yaml.load` can lead to arbitrary code execution, though not where it","      was used","    - issue by @tonybaloney.","    - #779 PR by @asottile.","- Improve not found error with script paths (`./exe`)","    - #782 issue by @ssbarnea.","    - #785 PR by @asottile.","- Fix minor buffering issue during `--show-diff-on-failure`","    - #796 PR by @asottile.","- Default `language_version: python3` for `python_venv` when running in python2","    - #794 issue by @ssbarnea.","    - #797 PR by @asottile.","- `pre-commit run X` only run `X` and not hooks with `stages: [...]`","    - #772 issue by @asottile.","    - #803 PR by @mblayman.","","### Misc.","- Improve travis-ci build times by caching rust / swift artifacts","    - #781 PR by @expobrain.","- Test against python3.7","    - #789 PR by @expobrain.","","1.10.3 - 2018-07-02","===================","","### Fixes","- Fix `pre-push` during a force push without a fetch","    - #777 issue by @domenkozar.","    - #778 PR by @asottile.","","1.10.2 - 2018-06-11","===================","","### Fixes","- pre-commit now invokes hooks with a consistent ordering of filenames","    - issue by @mxr.","    - #767 PR by @asottile.","","1.10.1 - 2018-05-28","===================","","### Fixes","- `python_venv` language would leak dependencies when pre-commit was installed","  in a `-mvirtualenv` virtualenv","    - #755 #756 issue and PR by @asottile.","","1.10.0 - 2018-05-26","===================","","### Features","- Add support for hooks written in `rust`","    - #751 PR by @chriskuehl.","","1.9.0 - 2018-05-21","==================","","### Features","- Add new `python_venv` language which uses the `venv` module instead of","  `virtualenv`","    - #631 issue by @dongyuzheng.","    - #739 PR by @ojii.","- Include `LICENSE` in distribution","    - #745 issue by @nicoddemus.","    - #746 PR by @nicoddemus.","","### Fixes","- Normalize relative paths for `pre-commit try-repo`","    - #750 PR by @asottile.","","","1.8.2 - 2018-03-17","==================","","### Fixes","- Fix cloning relative paths (regression in 1.7.0)","    - #728 issue by @jdswensen.","    - #729 PR by @asottile.","","","1.8.1 - 2018-03-12","==================","","### Fixes","- Fix integration with go 1.10 and `pkg` directory","    - #725 PR by @asottile","- Restore support for `git\u003c1.8.5` (inadvertently removed in 1.7.0)","    - #723 issue by @JohnLyman.","    - #724 PR by @asottile.","","","1.8.0 - 2018-03-11","==================","","### Features","- Add a `manual` stage for cli-only interaction","    - #719 issue by @hectorv.","    - #720 PR by @asottile.","- Add a `--multiline` option to `pygrep` hooks","    - #716 PR by @tdeo.","","","1.7.0 - 2018-03-03","==================","","### Features","- pre-commit config validation was split to a separate `cfgv` library","    - #700 PR by @asottile.","- Allow `--repo` to be specified multiple times to autoupdate","    - #658 issue by @KevinHock.","    - #713 PR by @asottile.","- Enable `rev` as a preferred alternative to `sha` in `.pre-commit-config.yaml`","    - #106 issue by @asottile.","    - #715 PR by @asottile.","- Use `--clean-src` option when invoking `nodeenv` to save ~70MB per node env","    - #717 PR by @asottile.","- Refuse to install with `core.hooksPath` set","    - pre-commit/pre-commit-hooks#250 issue by @revolter.","    - #663 issue by @asottile.","    - #718 PR by @asottile.","","### Fixes","- hooks with `additional_dependencies` now get isolated environments","    - #590 issue by @coldnight.","    - #711 PR by @asottile.","","### Misc.","- test against swift 4.x","    - #709 by @theresama.","","### Updating","","- Run `pre-commit migrate-config` to convert `sha` to `rev` in the","  `.pre-commit-config.yaml` file.","","","1.6.0 - 2018-02-04","==================","","### Features","- Hooks now may have a `verbose` option to produce output even without failure","    - #689 issue by @bagerard.","    - #695 PR by @bagerard.","- Installed hook no longer requires `bash`","    - #699 PR by @asottile.","","### Fixes","- legacy pre-push / commit-msg hooks are now invoked as if `git` called them","    - #693 issue by @samskiter.","    - #694 PR by @asottile.","    - #699 PR by @asottile.","","1.5.1 - 2018-01-24","==================","","### Fixes","- proper detection for root commit during pre-push","    - #503 PR by @philipgian.","    - #692 PR by @samskiter.","","1.5.0 - 2018-01-13","==================","","### Features","- pre-commit now supports node hooks on windows.","    - for now, requires python3 due to https://bugs.python.org/issue32539","    - huge thanks to @wenzowski for the tip!","    - #200 issue by @asottile.","    - #685 PR by @asottile.","","### Misc.","- internal reorganization of `PrefixedCommandRunner` -\u003e `Prefix`","    - #684 PR by @asottile.","- https-ify links.","    - pre-commit.com is now served over https.","    - #688 PR by @asottile.","","","1.4.5 - 2018-01-09","==================","","### Fixes","- Fix `local` golang repositories with `additional_dependencies`.","    - #679 #680 issue and PR by @asottile.","","### Misc.","- Replace some string literals with constants","    - #678 PR by @revolter.","","1.4.4 - 2018-01-07","==================","","### Fixes","- Invoke `git diff` without a pager during `--show-diff-on-failure`.","    - #676 PR by @asottile.","","1.4.3 - 2018-01-02","==================","","### Fixes","- `pre-commit` on windows can find pythons at non-hardcoded paths.","    - #674 PR by @asottile.","","1.4.2 - 2018-01-02","==================","","### Fixes","- `pre-commit` no longer clears `GIT_SSH` environment variable when cloning.","    - #671 PR by @rp-tanium.","","1.4.1 - 2017-11-09","==================","","### Fixes","- `pre-commit autoupdate --repo ...` no longer deletes other repos.","    - #660 issue by @KevinHock.","    - #661 PR by @KevinHock.","","1.4.0 - 2017-11-08","==================","","### Features","- Lazily install repositories.","    - When running `pre-commit run \u003chookid\u003e`, pre-commit will only install","      the necessary repositories.","    - #637 issue by @webknjaz.","    - #639 PR by @asottile.","- Version defaulting now applies to local hooks as well.","    - This extends #556 to apply to local hooks.","    - #646 PR by @asottile.","- Add new `repo: meta` hooks.","    - `meta` hooks expose some linters of the pre-commit configuration itself.","    - `id: check-useless-excludes`: ensures that `exclude` directives actually","      apply to *any* file in the repository.","    - `id: check-hooks-apply`: ensures that the configured hooks apply to","      at least one file in the repository.","    - pre-commit/pre-commit-hooks#63 issue by @asottile.","    - #405 issue by @asottile.","    - #643 PR by @hackedd.","    - #653 PR by @asottile.","    - #654 PR by @asottile.","- Allow a specific repository to be autoupdated instead of all repositories.","    - `pre-commit autoupdate --repo ...`","    - #656 issue by @KevinHock.","    - #657 PR by @KevinHock.","","### Fixes","- Apply selinux labelling option to docker volumes","    - #642 PR by @jimmidyson.","","","1.3.0 - 2017-10-08","==================","","### Features","- Add `pre-commit try-repo` commands","    - The new `try-repo` takes a repo and will run the hooks configured in","      that hook repository.","    - An example invocation:","      `pre-commit try-repo https://github.com/pre-commit/pre-commit-hooks`","    - `pre-commit try-repo` can also take all the same arguments as","      `pre-commit run`.","    - It can be used to try out a repository without needing to configure it.","    - It can also be used to test a hook repository while developing it.","    - #589 issue by @sverhagen.","    - #633 PR by @asottile.","","1.2.0 - 2017-10-03","==================","","### Features","- Add `pygrep` language","    - `pygrep` aims to be a more cross-platform alternative to `pcre` hooks.","    - #630 PR by @asottile.","","### Fixes","- Use `pipes.quote` for executable path in hook template","    - Fixes bash syntax error when git dir contains spaces","    - #626 PR by @asottile.","- Clean up hook template","    - Simplify code","    - Fix `--config` not being respected in some situations","    - #627 PR by @asottile.","- Use `file://` protocol for cloning under test","    - Fix `file://` clone paths being treated as urls for golang","    - #629 PR by @asottile.","- Add `ctypes` as an import for virtualenv healthchecks","    - Fixes python3.6.2 \u003c=\u003e python3.6.3 virtualenv invalidation","    - e70825ab by @asottile.","","1.1.2 - 2017-09-20","==================","","### Fixes","- pre-commit can successfully install commit-msg hooks","    - Due to an oversight, the commit-msg-tmpl was missing from the packaging","    - #623 issue by @sobolevn.","    - #624 PR by @asottile.","","1.1.1 - 2017-09-17","==================","","### Features","- pre-commit also checks the `ssl` module for virtualenv health","    - Suggestion by @merwok.","    - #619 PR by @asottile.","### Fixes","- pre-commit no longer crashes with unstaged files when run for the first time","    - #620 #621 issue by @Lucas-C.","    - #622 PR by @asottile.","","1.1.0 - 2017-09-11","==================","","### Features","- pre-commit configuration gains a `fail_fast` option.","    - You must be using the v2 configuration format introduced in 1.0.0.","    - `fail_fast` defaults to `false`.","    - #240 issue by @Lucas-C.","    - #616 PR by @asottile.","- pre-commit configuration gains a global `exclude` option.","    - This option takes a python regular expression and can be used to exclude","      files from _all_ hooks.","    - You must be using the v2 configuration format introduced in 1.0.0.","    - #281 issue by @asieira.","    - #617 PR by @asottile.","","1.0.1 - 2017-09-07","==================","","### Fixes","- Fix a regression in the return code of `pre-commit autoupdate`","    - `pre-commit migrate-config` and `pre-commit autoupdate` return 0 when","      successful.","    - #614 PR by @asottile.","","1.0.0 - 2017-09-07","==================","pre-commit will now be following [semver](https://semver.org/).  Thanks to all","of the [contributors](https://github.com/pre-commit/pre-commit/graphs/contributors)","that have helped us get this far!","","### Features","","- pre-commit's cache directory has moved from `~/.pre-commit` to","  `$XDG_CACHE_HOME/pre-commit` (usually `~/.cache/pre-commit`).","    - `pre-commit clean` now cleans up both the old and new directory.","    - If you were caching this directory in CI, you'll want to adjust the","      location.","    - #562 issue by @nagromc.","    - #602 PR by @asottile.","- A new configuration format for `.pre-commit-config.yaml` is introduced which","  will enable future development.","    - The new format has a top-level map instead of a top-level list.  The","      new format puts the hook repositories in a `repos` key.","    - Old list-based configurations will continue to be supported.","    - A command `pre-commit migrate-config` has been introduced to \"upgrade\"","      the configuration format to the new map-based configuration.","    - `pre-commit autoupdate` now automatically calls `migrate-config`.","    - In a later release, list-based configurations will issue a deprecation","      warning.","    - An example diff for upgrading a configuration:","","    ```diff","    +repos:","     -   repo: https://github.com/pre-commit/pre-commit-hooks","         sha: v0.9.2","         hooks:","    ```","    - #414 issue by @asottile.","    - #610 PR by @asottile.","","### Updating","","- Run `pre-commit migrate-config` to convert `.pre-commit-config.yaml` to the","  new map format.","- Update any references from `~/.pre-commit` to `~/.cache/pre-commit`.","","0.18.3 - 2017-09-06","===================","- Allow --config to affect `pre-commit install`","- Tweak not found error message during `pre-push` / `commit-msg`","- Improve node support when running under cygwin.","","0.18.2 - 2017-09-05","===================","- Fix `--all-files`, detection of staged files, detection of manually edited","  files during merge conflict, and detection of files to push for non-ascii","  filenames.","","0.18.1 - 2017-09-04","===================","- Only mention locking when waiting for a lock.","- Fix `IOError` during locking in timeout situation on windows under python 2.","","0.18.0 - 2017-09-02","===================","- Add a new `docker_image` language type.  `docker_image` is intended to be a","  lightweight hook type similar to `system` / `script` which allows one to use","  an existing docker image that provides a hook.  `docker_image` hooks can","  also be used as repository `local` hooks.","","0.17.0 - 2017-08-24","===================","- Fix typos in help","- Allow `commit-msg` hook to be uninstalled","- Upgrade the `sample-config`","- Remove undocumented `--no-stash` and `--allow-unstaged-config`","- Remove `validate_config` hook pre-commit hook.","- Fix installation race condition when multiple `pre-commit` processes would","  attempt to install the same repository.","","0.16.3 - 2017-08-10","===================","- autoupdate attempts to maintain config formatting.","","0.16.2 - 2017-08-06","===================","- Initialize submodules in hook repositories.","","0.16.1 - 2017-08-04","===================","- Improve node support when running under cygwin.","","0.16.0 - 2017-08-01","===================","- Remove backward compatibility with repositories providing metadata via","  `hooks.yaml`.  New repositories should provide `.pre-commit-hooks.yaml`.","  Run `pre-commit autoupdate` to upgrade to the latest repositories.","- Improve golang support when running under cygwin.","- Fix crash with unstaged trailing whitespace additions while git was","  configured with `apply.whitespace = error`.","- Fix crash with unstaged end-of-file crlf additions and the file's lines","  ended with crlf while git was configured with `core-autocrlf = true`.","","0.15.4 - 2017-07-23","===================","- Add support for the `commit-msg` git hook","","0.15.3 - 2017-07-20","===================","- Recover from invalid python virtualenvs","","","0.15.2 - 2017-07-09","===================","- Work around a windows-specific virtualenv bug pypa/virtualenv#1062","  This failure mode was introduced in 0.15.1","","0.15.1 - 2017-07-09","===================","- Use a more intelligent default language version for python","","0.15.0 - 2017-07-02","===================","- Add `types` and `exclude_types` for filtering files.  These options take","  an array of \"tags\" identified for each file.  The tags are sourced from","  [identify](https://github.com/chriskuehl/identify).  One can list the tags","  for a file by running `identify-cli filename`.","- `files` is now optional (defaulting to `''`)","- `always_run` + missing `files` also defaults to `files: ''` (previously it","  defaulted to `'^$'` (this reverses e150921c).","","0.14.3 - 2017-06-28","===================","- Expose `--origin` and `--source` as `PRE_COMMIT_ORIGIN` and","  `PRE_COMMIT_SOURCE` environment variables when running as `pre-push`.","","0.14.2 - 2017-06-09","===================","- Use `--no-ext-diff` when running `git diff`","","0.14.1 - 2017-06-02","===================","- Don't crash when `always_run` is `True` and `files` is not provided.","- Set `VIRTUALENV_NO_DOWNLOAD` when making python virtualenvs.","","0.14.0 - 2017-05-16","===================","- Add a `pre-commit sample-config` command","- Enable ansi color escapes on modern windows","- `autoupdate` now defaults to `--tags-only`, use `--bleeding-edge` for the","  old behavior","- Add support for `log_file` in hook configuration to tee hook output to a","  file for CI consumption, etc.","- Fix crash with unicode commit messages during merges in python 2.","- Add a `pass_filenames` option to allow disabling automatic filename","  positional arguments to hooks.","","0.13.6 - 2017-03-27","===================","- Fix regression in 0.13.5: allow `always_run` and `files` together despite","  doing nothing.","","0.13.5 - 2017-03-26","===================","- 0.13.4 contained incorrect files","","0.13.4 - 2017-03-26","===================","- Add `--show-diff-on-failure` option to `pre-commit run`","- Replace `jsonschema` with better error messages","","0.13.3 - 2017-02-23","===================","- Add `--allow-missing-config` to install: allows `git commit` without a","  configuration.","","0.13.2 - 2017-02-17","===================","- Version the local hooks repo","- Allow `minimum_pre_commit_version` for local hooks","","0.13.1 - 2017-02-16","===================","- Fix dummy gem for ruby local hooks","","0.13.0 - 2017-02-16","===================","- Autoupdate now works even when the current state is broken.","- Improve pre-push fileset on new branches","- Allow \"language local\" hooks, hooks which install dependencies using","  `additional_dependencies` and `language` are now allowed in `repo: local`.","","0.12.2 - 2017-01-27","===================","- Fix docker hooks on older (\u003c1.12) docker","","0.12.1 - 2017-01-25","===================","- golang hooks now support additional_dependencies","- Added a --tags-only option to pre-commit autoupdate","","0.12.0 - 2017-01-24","===================","- The new default file for implementing hooks in remote repositories is now","  .pre-commit-hooks.yaml to encourage repositories to add the metadata.  As","  such, the previous hooks.yaml is now deprecated and generates a warning.","- Fix bug with local configuration interfering with ruby hooks","- Added support for hooks written in golang.","","0.11.0 - 2017-01-20","===================","- SwiftPM support.","","0.10.1 - 2017-01-05","===================","- shlex entry of docker based hooks.","- Make shlex behaviour of entry more consistent.","","0.10.0 - 2017-01-04","===================","- Add an `install-hooks` command similar to `install --install-hooks` but","  without the `install` side-effects.","- Adds support for docker based hooks.","","0.9.4 - 2016-12-05","==================","- Warn when cygwin / python mismatch","- Add --config for customizing configuration during run","- Update rbenv + plugins to latest versions","- pcre hooks now fail when grep / ggrep are not present","","0.9.3 - 2016-11-07","==================","- Fix python hook installation when a strange setup.cfg exists","","0.9.2 - 2016-10-25","==================","- Remove some python2.6 compatibility","- UI is no longer sized to terminal width, instead 80 characters or longest","  necessary width.","- Fix inability to create python hook environments when using venv / pyvenv on","  osx","","0.9.1 - 2016-09-10","==================","- Remove some python2.6 compatibility","- Fix staged-files-only with external diff tools","","0.9.0 - 2016-08-31","==================","- Only consider forward diff in changed files","- Don't run on staged deleted files that still exist","- Autoupdate to tags when available","- Stop supporting python2.6","- Fix crash with staged files containing unstaged lines which have non-utf8","  bytes and trailing whitespace","","0.8.2 - 2016-05-20","==================","- Fix a crash introduced in 0.8.0 when an executable was not found","","0.8.1 - 2016-05-17","==================","- Fix regression introduced in 0.8.0 when already using rbenv with no","  configured ruby hook version","","0.8.0 - 2016-04-11","==================","- Fix --files when running in a subdir","- Improve --help a bit","- Switch to pyterminalsize for determining terminal size","","0.7.6 - 2016-01-19","==================","- Work under latest virtualenv","- No longer create empty directories on windows with latest virtualenv","","0.7.5 - 2016-01-15","==================","- Consider dead symlinks as files when committing","","0.7.4 - 2016-01-12","==================","- Produce error message instead of crashing on non-utf8 installation failure","","0.7.3 - 2015-12-22","==================","- Fix regression introduced in 0.7.1 breaking `git commit -a`","","0.7.2 - 2015-12-22","==================","- Add `always_run` setting for hooks to run even without file changes.","","0.7.1 - 2015-12-19","==================","- Support running pre-commit inside submodules","","0.7.0 - 2015-12-13","==================","- Store state about additional_dependencies for rollforward/rollback compatibility","","0.6.8 - 2015-12-07","==================","- Build as a universal wheel","- Allow '.format('-like strings in arguments","- Add an option to require a minimum pre-commit version","","0.6.7 - 2015-12-02","==================","- Print a useful message when a hook id is not present","- Fix printing of non-ascii with unexpected errors","- Print a message when a hook modifies files but produces no output","","0.6.6 - 2015-11-25","==================","- Add `additional_dependencies` to hook configuration.","- Fix pre-commit cloning under git 2.6","- Small improvements for windows","","0.6.5 - 2015-11-19","==================","- Allow args for pcre hooks","","0.6.4 - 2015-11-13","==================","- Fix regression introduced in 0.6.3 regarding hooks which make non-utf8 diffs","","0.6.3 - 2015-11-12","==================","- Remove `expected_return_code`","- Fail a hook if it makes modifications to the working directory","","0.6.2 - 2015-10-14","==================","- Use --no-ri --no-rdoc instead of --no-document for gem to fix old gem","","0.6.1 - 2015-10-08","==================","- Fix pre-push when pushing something that's already up to date","","0.6.0 - 2015-10-05","==================","- Filter hooks by stage (commit, push).","","0.5.5 - 2015-09-04","==================","- Change permissions a few files","- Rename the validate entrypoints","- Add --version to some entrypoints","- Add --no-document to gem installations","- Use expanduser when finding the python binary","- Suppress complaint about $TERM when no tty is attached","- Support pcre hooks on osx through ggrep","","0.5.4 - 2015-07-24","==================","- Allow hooks to produce outputs with arbitrary bytes","- Fix pre-commit install when .git/hooks/pre-commit is a dead symlink","- Allow an unstaged config when using --files or --all-files","","0.5.3 - 2015-06-15","==================","- Fix autoupdate with \"local\" hooks - don't purge local hooks.","","0.5.2 - 2015-06-02","==================","- Fix autoupdate with \"local\" hooks","","0.5.1 - 2015-05-23","==================","- Fix bug with unknown non-ascii hook-id","- Avoid crash when .git/hooks is not present in some git clients","","0.5.0 - 2015-05-19","==================","- Add a new \"local\" hook type for running hooks without remote configuration.","- Complain loudly when .pre-commit-config.yaml is unstaged.","- Better support for multiple language versions when running hooks.","- Allow exclude to be defaulted in repository configuration.","","0.4.4 - 2015-03-29","==================","- Use sys.executable when executing virtualenv","","0.4.3 - 2015-03-25","==================","- Use reset instead of checkout when checkout out hook repo","","0.4.2 - 2015-02-27","==================","- Limit length of xargs arguments to workaround windows xargs bug","","0.4.1 - 2015-02-27","==================","- Don't rename across devices when creating sqlite database","","0.4.0 - 2015-02-27","==================","- Make ^C^C During installation not cause all subsequent runs to fail","- Print while installing (instead of while cloning)","- Use sqlite to manage repositories (instead of symlinks)","- MVP Windows support","","0.3.6 - 2015-02-05","==================","- `args` in venv'd languages are now property quoted.","","0.3.5 - 2015-01-15","==================","- Support running during `pre-push`.  See https://pre-commit.com/#advanced 'pre-commit during push'.","","0.3.4 - 2015-01-13","==================","- Allow hook providers to default `args` in `hooks.yaml`","","0.3.3 - 2015-01-06","==================","- Improve message for `CalledProcessError`","","0.3.2 - 2014-10-07","==================","- Fix for `staged_files_only` with color.diff = always #176.","","0.3.1 - 2014-10-03","==================","- Fix error clobbering #174.","- Remove dependency on `plumbum`.","- Allow pre-commit to be run from anywhere in a repository #175.","","0.3.0 - 2014-09-18","==================","- Add `--files` option to `pre-commit run`","","0.2.11 - 2014-09-05","===================","- Fix terminal width detection (broken in 0.2.10)","","0.2.10 - 2014-09-04","===================","- Bump version of nodeenv to fix bug with ~/.npmrc","- Choose `python` more intelligently when running.","","0.2.9 - 2014-09-02","==================","- Fix bug where sys.stdout.write must take `bytes` in python 2.6","","0.2.8 - 2014-08-13","==================","- Allow a client to have duplicates of hooks.","- Use --prebuilt instead of system for node.","- Improve some fatal error messages","","0.2.7 - 2014-07-28","==================","- Produce output when running pre-commit install --install-hooks","","0.2.6 - 2014-07-28","==================","- Print hookid on failure","- Use sys.executable for running nodeenv","- Allow running as `python -m pre_commit`","","0.2.5 - 2014-07-17","==================","- Default columns to 80 (for non-terminal execution).","","0.2.4 - 2014-07-07","==================","- Support --install-hooks as an argument to `pre-commit install`","- Install hooks before attempting to run anything","- Use `python -m nodeenv` instead of `nodeenv`","","0.2.3 - 2014-06-25","==================","- Freeze ruby building infrastructure","- Fix bug that assumed diffs were utf-8","","0.2.2 - 2014-06-22","==================","- Fix filenames with spaces","","0.2.1 - 2014-06-18","==================","- Use either `pre-commit` or `python -m pre_commit.main` depending on which is","  available","- Don't use readlink -f","","0.2.0 - 2014-06-17","==================","- Fix for merge-conflict during cherry-picking.","- Add -V / --version","- Add migration install mode / install -f / --overwrite","- Add `pcre` \"language\" for perl compatible regexes","- Reorganize packages.","","0.1.1 - 2014-06-11","==================","- Fixed bug with autoupdate setting defaults on un-updated repos.","","0.1.0 - 2014-06-07","==================","- Initial Release"],"stylingDirectives":[[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[24,25,"pl-s"],[25,33,"pl-c1"],[33,34,"pl-s"],[38,39,"pl-s"],[39,46,"pl-c1"],[46,47,"pl-s"],[52,53,"pl-s"],[53,62,"pl-c1"],[62,63,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[28,29,"pl-s"],[40,41,"pl-s"],[41,42,"pl-s"],[42,77,"pl-corl"],[77,78,"pl-s"]],[],[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,31,"pl-s"],[19,31,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,29,"pl-s"],[22,29,"pl-corl"]],[[0,1,"pl-v"],[18,19,"pl-s"],[19,21,"pl-c1"],[21,22,"pl-s"],[26,27,"pl-s"],[27,32,"pl-c1"],[32,33,"pl-s"],[36,37,"pl-s"],[37,44,"pl-c1"],[44,45,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,31,"pl-s"],[19,31,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,16,"pl-c1"],[16,17,"pl-s"],[28,29,"pl-s"],[29,45,"pl-c1"],[45,46,"pl-s"]],[],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,28,"pl-s"],[22,28,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,15,"pl-c1"],[15,16,"pl-s"],[58,59,"pl-s"],[59,64,"pl-c1"],[64,65,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[15,28,"pl-s"],[16,28,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[14,23,"pl-s"],[15,23,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,42,"pl-corl"]],[[4,5,"pl-v"],[6,43,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[22,23,"pl-s"],[23,39,"pl-c1"],[39,40,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[15,19,"pl-s"],[16,19,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,31,"pl-s"],[22,31,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,29,"pl-s"],[22,29,"pl-corl"]],[[0,1,"pl-v"],[29,30,"pl-s"],[30,35,"pl-c1"],[35,36,"pl-s"],[41,42,"pl-s"],[42,67,"pl-c1"],[67,68,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,29,"pl-s"],[22,29,"pl-corl"]],[[0,1,"pl-v"],[25,26,"pl-s"],[26,36,"pl-c1"],[36,37,"pl-s"],[40,41,"pl-s"],[41,49,"pl-c1"],[49,50,"pl-s"]],[],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,24,"pl-s"],[19,24,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,27,"pl-s"],[22,27,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[38,39,"pl-s"],[39,64,"pl-c1"],[64,65,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,31,"pl-s"],[22,31,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[16,17,"pl-s"],[17,33,"pl-c1"],[33,34,"pl-s"],[38,39,"pl-s"],[39,45,"pl-c1"],[45,46,"pl-s"],[67,68,"pl-s"],[68,69,"pl-c1"],[69,70,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[9,10,"pl-s"],[10,15,"pl-c1"],[15,16,"pl-s"],[19,20,"pl-s"],[20,30,"pl-c1"],[30,31,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,26,"pl-s"],[22,26,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[9,10,"pl-s"],[10,23,"pl-c1"],[23,24,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[20,21,"pl-s"],[21,27,"pl-c1"],[27,28,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[15,19,"pl-s"],[16,19,"pl-corl"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,15,"pl-c1"],[15,16,"pl-s"],[27,28,"pl-s"],[28,44,"pl-c1"],[44,45,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,31,"pl-s"],[19,31,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[25,46,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[20,21,"pl-s"],[21,29,"pl-c1"],[29,30,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,30,"pl-s"],[19,30,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,24,"pl-s"],[19,24,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[10,11,"pl-s"],[11,20,"pl-c1"],[20,21,"pl-s"],[32,33,"pl-s"],[33,47,"pl-c1"],[47,48,"pl-s"],[51,52,"pl-s"],[52,76,"pl-c1"],[76,77,"pl-s"]],[],[[4,5,"pl-v"],[6,26,"pl-s"],[6,23,"pl-corl"],[24,26,"pl-corl"],[36,46,"pl-s"],[37,46,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"]],[],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,38,"pl-s"],[22,38,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,35,"pl-s"],[19,35,"pl-corl"]],[[0,1,"pl-v"],[20,21,"pl-s"],[21,43,"pl-c1"],[43,44,"pl-s"]],[[17,18,"pl-s"],[18,28,"pl-c1"],[28,29,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,21,"pl-c1"],[21,22,"pl-s"],[34,35,"pl-s"],[35,54,"pl-c1"],[54,55,"pl-s"]],[[4,5,"pl-v"],[15,16,"pl-s"],[16,27,"pl-c1"],[27,28,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[7,8,"pl-s"],[8,14,"pl-c1"],[14,15,"pl-s"],[18,19,"pl-s"],[19,24,"pl-c1"],[24,25,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,29,"pl-s"],[22,29,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[9,10,"pl-s"],[10,12,"pl-c1"],[12,13,"pl-s"],[33,34,"pl-s"],[34,44,"pl-c1"],[44,45,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,21,"pl-c1"],[21,22,"pl-s"]],[[4,5,"pl-v"],[6,28,"pl-s"],[6,26,"pl-corl"],[27,28,"pl-corl"],[38,53,"pl-s"],[39,53,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[43,44,"pl-s"],[44,50,"pl-c1"],[50,51,"pl-s"]],[[2,3,"pl-s"],[3,19,"pl-c1"],[19,20,"pl-s"],[25,26,"pl-s"],[26,40,"pl-c1"],[40,41,"pl-s"],[44,45,"pl-s"],[45,59,"pl-c1"],[59,60,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,32,"pl-s"],[22,32,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[],[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[55,56,"pl-s"],[56,58,"pl-c1"],[58,59,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,22,"pl-s"],[19,22,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[[0,1,"pl-v"],[9,10,"pl-s"],[10,19,"pl-c1"],[19,20,"pl-s"]],[[5,6,"pl-s"],[6,15,"pl-c1"],[15,16,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,25,"pl-s"],[22,25,"pl-corl"]],[[0,1,"pl-v"],[47,48,"pl-s"],[48,60,"pl-c1"],[60,61,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[[0,1,"pl-v"],[10,11,"pl-s"],[11,15,"pl-c1"],[15,16,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[],[],[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[22,23,"pl-s"],[23,44,"pl-c1"],[44,45,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,25,"pl-s"],[22,25,"pl-corl"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[7,8,"pl-s"],[8,13,"pl-c1"],[13,14,"pl-s"],[17,18,"pl-s"],[18,31,"pl-c1"],[31,32,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[11,12,"pl-s"],[12,24,"pl-c1"],[24,25,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,28,"pl-s"],[19,28,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,36,"pl-s"],[22,36,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,25,"pl-c1"],[25,26,"pl-s"],[53,54,"pl-s"],[54,56,"pl-c1"],[56,57,"pl-s"]],[],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,25,"pl-c1"],[25,26,"pl-s"],[44,45,"pl-s"],[45,59,"pl-c1"],[59,60,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,33,"pl-s"],[22,33,"pl-corl"]],[[0,1,"pl-v"],[45,46,"pl-s"],[46,51,"pl-c1"],[51,52,"pl-s"],[55,56,"pl-s"],[56,63,"pl-c1"],[63,64,"pl-s"]],[],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,33,"pl-s"],[22,33,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[18,19,"pl-s"],[19,30,"pl-c1"],[30,31,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,38,"pl-s"],[19,38,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,41,"pl-s"],[22,41,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[17,18,"pl-s"],[18,27,"pl-c1"],[27,28,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,31,"pl-s"],[22,31,"pl-corl"]],[[0,1,"pl-v"],[2,3,"pl-s"],[3,24,"pl-c1"],[24,25,"pl-s"],[45,46,"pl-s"],[46,62,"pl-c1"],[62,63,"pl-s"]],[],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[18,19,"pl-s"],[19,28,"pl-c1"],[28,29,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[2,3,"pl-s"],[3,24,"pl-c1"],[24,25,"pl-s"],[65,66,"pl-s"],[66,69,"pl-c1"],[69,70,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,26,"pl-s"],[19,26,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,29,"pl-s"],[22,29,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[36,37,"pl-s"],[37,48,"pl-c1"],[48,49,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,23,"pl-s"],[19,23,"pl-corl"]],[[0,1,"pl-v"],[51,52,"pl-s"],[52,65,"pl-c1"],[65,66,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,28,"pl-s"],[19,28,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,31,"pl-s"],[22,31,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,28,"pl-s"],[22,28,"pl-corl"]],[[0,1,"pl-v"],[22,23,"pl-s"],[23,31,"pl-c1"],[31,32,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,23,"pl-s"],[19,23,"pl-corl"]],[[0,1,"pl-v"],[29,30,"pl-s"],[30,51,"pl-c1"],[51,52,"pl-s"]],[[2,3,"pl-s"],[3,28,"pl-c1"],[28,29,"pl-s"]],[],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,31,"pl-s"],[22,31,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[34,35,"pl-s"],[35,51,"pl-c1"],[51,52,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,25,"pl-s"],[19,25,"pl-corl"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,31,"pl-c1"],[31,32,"pl-s"],[48,49,"pl-s"],[49,53,"pl-c1"],[53,54,"pl-s"],[64,65,"pl-s"],[65,69,"pl-c1"],[69,70,"pl-s"],[73,74,"pl-s"],[74,77,"pl-c1"],[77,78,"pl-s"]],[],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,28,"pl-s"],[19,28,"pl-corl"]],[[0,1,"pl-v"],[31,32,"pl-s"],[32,42,"pl-c1"],[42,43,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[65,66,"pl-s"],[66,75,"pl-c1"],[75,76,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[48,49,"pl-s"],[49,52,"pl-c1"],[52,53,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,34,"pl-s"],[22,34,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[27,28,"pl-s"],[28,49,"pl-c1"],[49,50,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,23,"pl-s"],[19,23,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[22,23,"pl-s"],[23,36,"pl-c1"],[36,37,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,32,"pl-s"],[22,32,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,29,"pl-s"],[19,29,"pl-corl"]],[[0,1,"pl-v"],[20,21,"pl-s"],[21,31,"pl-c1"],[31,32,"pl-s"],[35,36,"pl-s"],[36,44,"pl-c1"],[44,45,"pl-s"],[58,59,"pl-s"],[59,67,"pl-c1"],[67,68,"pl-s"]],[[2,3,"pl-s"],[3,11,"pl-c1"],[11,12,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[17,18,"pl-s"],[18,39,"pl-c1"],[39,40,"pl-s"],[55,56,"pl-s"],[56,66,"pl-c1"],[66,67,"pl-s"]],[[2,3,"pl-s"],[3,21,"pl-c1"],[21,22,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,32,"pl-s"],[19,32,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,32,"pl-s"],[19,32,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,26,"pl-s"],[22,26,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[13,14,"pl-s"],[14,23,"pl-c1"],[23,24,"pl-s"],[36,37,"pl-s"],[37,43,"pl-c1"],[43,44,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,32,"pl-s"],[22,32,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[18,30,"pl-s"],[19,30,"pl-corl"]],[[4,5,"pl-v"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[10,11,"pl-s"],[11,20,"pl-c1"],[20,21,"pl-s"],[27,28,"pl-s"],[28,43,"pl-c1"],[43,44,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[18,19,"pl-s"],[19,23,"pl-c1"],[23,24,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,23,"pl-s"],[19,23,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[10,11,"pl-s"],[11,23,"pl-c1"],[23,24,"pl-s"],[62,63,"pl-s"],[63,77,"pl-c1"],[77,78,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,32,"pl-s"],[22,32,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,7,"pl-s"],[7,9,"pl-s"],[19,20,"pl-s"],[20,21,"pl-s"],[21,113,"pl-corl"],[113,115,"pl-s"],[115,116,"pl-s"],[116,156,"pl-corl"],[156,157,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,18,"pl-c1"],[18,19,"pl-s"],[48,49,"pl-s"],[49,64,"pl-c1"],[64,65,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[9,10,"pl-s"],[10,32,"pl-c1"],[32,33,"pl-s"],[38,39,"pl-s"],[39,60,"pl-c1"],[60,61,"pl-s"]],[[19,20,"pl-s"],[20,28,"pl-c1"],[28,29,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,32,"pl-s"],[22,32,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,29,"pl-s"],[19,29,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,37,"pl-c1"],[37,38,"pl-s"],[50,51,"pl-s"],[51,61,"pl-c1"],[61,62,"pl-s"]],[[2,3,"pl-s"],[3,14,"pl-c1"],[14,15,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,28,"pl-s"],[19,28,"pl-corl"]],[[0,1,"pl-v"],[15,16,"pl-s"],[16,33,"pl-c1"],[33,34,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,29,"pl-s"],[19,29,"pl-corl"]],[[0,1,"pl-v"],[8,9,"pl-s"],[9,36,"pl-c1"],[36,37,"pl-s"],[57,58,"pl-s"],[58,72,"pl-c1"],[72,73,"pl-s"]],[],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[[0,8,"pl-mh"],[4,8,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,28,"pl-s"],[19,28,"pl-corl"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[10,11,"pl-s"],[11,15,"pl-c1"],[15,16,"pl-s"],[31,32,"pl-s"],[32,38,"pl-c1"],[38,39,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[10,11,"pl-s"],[11,22,"pl-c1"],[22,23,"pl-s"],[36,37,"pl-s"],[37,58,"pl-c1"],[58,59,"pl-s"]],[],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[15,24,"pl-s"],[16,24,"pl-corl"]],[[0,1,"pl-v"]],[],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,12,"pl-c1"],[12,13,"pl-s"],[23,24,"pl-s"],[24,32,"pl-c1"],[32,33,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,28,"pl-s"],[22,28,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,25,"pl-s"],[19,25,"pl-corl"]],[[0,1,"pl-v"],[30,31,"pl-s"],[31,36,"pl-c1"],[36,37,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,31,"pl-s"],[22,31,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[9,10,"pl-s"],[10,19,"pl-c1"],[19,20,"pl-s"],[23,24,"pl-s"],[24,31,"pl-c1"],[31,32,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[22,23,"pl-s"],[23,39,"pl-c1"],[39,40,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,37,"pl-c1"],[37,38,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[46,47,"pl-s"],[47,56,"pl-c1"],[56,57,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,28,"pl-s"],[22,28,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[66,67,"pl-s"],[67,71,"pl-c1"],[71,72,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[12,13,"pl-s"],[13,16,"pl-c1"],[16,17,"pl-s"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[19,20,"pl-s"],[20,34,"pl-c1"],[34,35,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,32,"pl-s"],[22,32,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,29,"pl-s"],[19,29,"pl-corl"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,26,"pl-c1"],[26,27,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[25,26,"pl-s"],[26,47,"pl-c1"],[47,48,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[35,36,"pl-s"],[36,40,"pl-c1"],[40,41,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,29,"pl-s"],[22,29,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,26,"pl-s"],[19,26,"pl-corl"]],[[0,1,"pl-v"],[28,29,"pl-s"],[29,53,"pl-c1"],[53,54,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[8,9,"pl-s"],[9,20,"pl-c1"],[20,21,"pl-s"]],[[4,5,"pl-v"],[15,16,"pl-s"],[16,78,"pl-c1"],[78,79,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,33,"pl-s"],[22,33,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[15,27,"pl-s"],[16,27,"pl-corl"]],[[0,1,"pl-v"],[64,65,"pl-s"],[65,68,"pl-c1"],[68,69,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[15,24,"pl-s"],[16,24,"pl-corl"]],[[0,1,"pl-v"],[23,24,"pl-s"],[24,42,"pl-c1"],[42,43,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[15,24,"pl-s"],[16,24,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[42,43,"pl-s"],[43,49,"pl-c1"],[49,50,"pl-s"]],[[4,5,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,31,"pl-s"],[22,31,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[15,24,"pl-s"],[16,24,"pl-corl"]],[[0,1,"pl-v"],[47,48,"pl-s"],[48,62,"pl-c1"],[62,63,"pl-s"]],[[2,3,"pl-s"],[3,12,"pl-c1"],[12,13,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,28,"pl-s"],[22,28,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,31,"pl-s"],[19,31,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[15,24,"pl-s"],[16,24,"pl-corl"]],[[0,1,"pl-v"],[25,26,"pl-s"],[26,35,"pl-c1"],[35,36,"pl-s"]],[],[[4,5,"pl-v"],[15,23,"pl-s"],[16,23,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"]],[],[],[],[[0,19,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,19,"pl-c1"],[19,20,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,23,"pl-s"],[19,23,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[22,23,"pl-s"],[23,27,"pl-c1"],[27,28,"pl-s"],[44,45,"pl-s"],[45,50,"pl-c1"],[50,51,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,29,"pl-s"],[22,29,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,26,"pl-s"],[19,26,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"]],[[2,3,"pl-s"],[3,19,"pl-c1"],[19,20,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[2,3,"pl-s"],[3,24,"pl-c1"],[24,25,"pl-s"],[43,44,"pl-s"],[44,50,"pl-c1"],[50,51,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,34,"pl-c1"],[34,35,"pl-s"]],[[9,10,"pl-s"],[10,20,"pl-c1"],[20,21,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,30,"pl-s"],[22,30,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"]],[[2,3,"pl-s"],[3,39,"pl-c1"],[39,40,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,27,"pl-s"],[22,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,29,"pl-s"],[19,29,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,29,"pl-s"],[19,29,"pl-corl"]],[[0,1,"pl-v"],[47,48,"pl-s"],[48,57,"pl-c1"],[57,58,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,27,"pl-s"],[22,27,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[26,27,"pl-s"],[27,33,"pl-c1"],[33,34,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[15,23,"pl-s"],[16,23,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,29,"pl-s"],[19,29,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,25,"pl-s"],[22,25,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[40,41,"pl-s"],[41,57,"pl-c1"],[57,58,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,31,"pl-s"],[22,31,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[],[],[[0,19,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[27,28,"pl-s"],[28,30,"pl-c1"],[30,31,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,28,"pl-s"],[19,28,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[18,19,"pl-s"],[19,21,"pl-c1"],[21,22,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,13,"pl-c1"],[13,14,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,32,"pl-s"],[22,32,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"],[7,8,"pl-s"],[8,15,"pl-c1"],[15,16,"pl-s"],[27,28,"pl-s"],[28,36,"pl-c1"],[36,37,"pl-s"],[41,42,"pl-s"],[42,64,"pl-c1"],[64,65,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,29,"pl-s"],[22,29,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,29,"pl-s"],[19,29,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[16,17,"pl-s"],[17,27,"pl-c1"],[27,28,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,31,"pl-s"],[22,31,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[],[],[[0,19,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[8,9,"pl-s"],[9,27,"pl-c1"],[27,28,"pl-s"]],[],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,32,"pl-s"],[22,32,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[18,19,"pl-s"],[19,37,"pl-c1"],[37,38,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,26,"pl-s"],[19,26,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[22,23,"pl-s"],[23,41,"pl-c1"],[41,42,"pl-s"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[21,33,"pl-s"],[22,33,"pl-corl"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,22,"pl-s"],[19,22,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,11,"pl-s"],[7,11,"pl-corl"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,28,"pl-s"],[21,28,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[47,48,"pl-s"],[48,58,"pl-c1"],[58,59,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,26,"pl-s"],[21,26,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[31,32,"pl-s"],[32,35,"pl-c1"],[35,36,"pl-s"],[49,50,"pl-s"],[50,60,"pl-c1"],[60,61,"pl-s"],[62,63,"pl-s"],[63,68,"pl-c1"],[68,69,"pl-s"],[72,73,"pl-s"],[73,75,"pl-c1"],[75,76,"pl-s"]],[[2,3,"pl-s"],[3,16,"pl-c1"],[16,17,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,33,"pl-s"],[21,33,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,34,"pl-s"],[18,34,"pl-corl"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,33,"pl-c1"],[33,34,"pl-s"]],[[13,14,"pl-s"],[14,24,"pl-c1"],[24,25,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"]],[[2,3,"pl-s"],[3,52,"pl-c1"],[52,53,"pl-s"]],[[2,3,"pl-v"],[4,8,"pl-s"],[5,8,"pl-corl"],[15,25,"pl-s"],[16,25,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,15,"pl-c1"],[15,16,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,34,"pl-s"],[18,34,"pl-corl"]],[[0,1,"pl-v"],[36,37,"pl-s"],[37,59,"pl-c1"],[59,60,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,26,"pl-s"],[21,26,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,23,"pl-s"],[18,23,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,27,"pl-s"],[18,27,"pl-corl"]],[],[[0,8,"pl-mh"],[4,8,"pl-en"]],[[0,1,"pl-v"],[15,16,"pl-s"],[16,32,"pl-c1"],[32,33,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,27,"pl-s"],[18,27,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[15,16,"pl-s"],[16,31,"pl-c1"],[31,32,"pl-s"],[51,52,"pl-s"],[52,55,"pl-c1"],[55,56,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,27,"pl-s"],[21,27,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,24,"pl-s"],[18,24,"pl-corl"]],[[0,1,"pl-v"],[54,55,"pl-s"],[55,58,"pl-c1"],[58,59,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[15,16,"pl-s"],[16,31,"pl-c1"],[31,32,"pl-s"],[51,52,"pl-s"],[52,55,"pl-c1"],[55,56,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,23,"pl-s"],[18,23,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[17,18,"pl-s"],[18,20,"pl-c1"],[20,21,"pl-s"],[34,35,"pl-s"],[35,40,"pl-c1"],[40,41,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,28,"pl-s"],[18,28,"pl-corl"]],[[0,1,"pl-v"],[26,27,"pl-s"],[27,52,"pl-c1"],[52,53,"pl-s"],[56,57,"pl-s"],[57,78,"pl-c1"],[78,79,"pl-s"]],[],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,32,"pl-s"],[21,32,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,27,"pl-s"],[18,27,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,34,"pl-s"],[6,28,"pl-corl"],[29,34,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,30,"pl-s"],[21,30,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[9,10,"pl-s"],[10,15,"pl-c1"],[15,16,"pl-s"]],[],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,30,"pl-s"],[21,30,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,27,"pl-s"],[18,27,"pl-corl"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,15,"pl-c1"],[15,16,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[13,14,"pl-s"],[14,29,"pl-c1"],[29,30,"pl-s"],[66,67,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[8,9,"pl-s"],[9,28,"pl-c1"],[28,29,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,30,"pl-s"],[21,30,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[12,13,"pl-s"],[13,26,"pl-c1"],[26,27,"pl-s"]],[],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,27,"pl-s"],[21,27,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[23,24,"pl-s"],[24,48,"pl-c1"],[48,49,"pl-s"]],[[2,3,"pl-s"],[3,19,"pl-c1"],[19,20,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[23,24,"pl-s"],[24,38,"pl-c1"],[38,39,"pl-s"],[69,70,"pl-s"],[70,76,"pl-c1"],[76,77,"pl-s"]],[],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,28,"pl-s"],[21,28,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[40,41,"pl-s"],[41,63,"pl-c1"],[63,64,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[27,28,"pl-s"],[28,35,"pl-c1"],[35,36,"pl-s"],[39,40,"pl-s"],[40,48,"pl-c1"],[48,49,"pl-s"]],[[4,5,"pl-v"],[6,7,"pl-s"],[7,31,"pl-c1"],[31,32,"pl-s"]],[[4,5,"pl-v"],[6,7,"pl-s"],[7,41,"pl-c1"],[41,42,"pl-s"]],[],[[4,5,"pl-v"],[6,7,"pl-s"],[7,33,"pl-c1"],[33,34,"pl-s"]],[],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[2,3,"pl-s"],[3,33,"pl-c1"],[33,34,"pl-s"]],[],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[9,10,"pl-s"],[10,14,"pl-c1"],[14,15,"pl-s"],[56,57,"pl-s"],[57,63,"pl-c1"],[63,64,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[47,48,"pl-s"],[48,71,"pl-c1"],[71,72,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,28,"pl-s"],[21,28,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,20,"pl-c1"],[20,21,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,27,"pl-s"],[18,27,"pl-corl"]],[],[],[],[[0,19,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[62,63,"pl-s"],[63,83,"pl-c1"],[83,84,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,31,"pl-s"],[21,31,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,28,"pl-s"],[18,28,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[28,29,"pl-s"],[29,34,"pl-c1"],[34,35,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,33,"pl-s"],[21,33,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,28,"pl-c1"],[28,29,"pl-s"]],[[2,3,"pl-s"],[3,25,"pl-c1"],[25,26,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,25,"pl-s"],[18,25,"pl-corl"]],[[0,1,"pl-v"],[14,15,"pl-s"],[15,31,"pl-c1"],[31,32,"pl-s"],[44,45,"pl-s"],[45,69,"pl-c1"],[69,70,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[14,23,"pl-s"],[15,23,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,28,"pl-s"],[21,28,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,28,"pl-s"],[18,28,"pl-corl"]],[[0,1,"pl-v"],[2,3,"pl-s"],[3,7,"pl-c1"],[7,8,"pl-s"],[32,33,"pl-s"],[33,36,"pl-c1"],[36,37,"pl-s"],[50,51,"pl-s"],[51,58,"pl-c1"],[58,59,"pl-s"],[62,63,"pl-s"],[63,72,"pl-c1"],[72,73,"pl-s"]],[[16,17,"pl-s"],[17,30,"pl-c1"],[30,31,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,20,"pl-c1"],[20,21,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,27,"pl-s"],[18,27,"pl-corl"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[43,44,"pl-s"],[44,64,"pl-c1"],[64,65,"pl-s"]],[],[[0,1,"pl-v"],[2,3,"pl-s"],[3,7,"pl-c1"],[7,8,"pl-s"],[27,28,"pl-s"],[28,38,"pl-c1"],[38,39,"pl-s"]],[],[[2,3,"pl-s"],[3,4,"pl-s"],[4,20,"pl-c1"],[20,21,"pl-s"],[21,22,"pl-s"],[22,23,"pl-s"],[23,74,"pl-corl"],[74,75,"pl-s"]],[],[],[],[[0,19,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[15,26,"pl-s"],[16,26,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,38,"pl-s"],[21,38,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[2,3,"pl-s"],[3,24,"pl-c1"],[24,25,"pl-s"],[40,41,"pl-s"],[41,46,"pl-c1"],[46,47,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[2,3,"pl-s"],[3,11,"pl-c1"],[11,12,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,30,"pl-s"],[21,30,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,11,"pl-c1"],[11,12,"pl-s"],[30,31,"pl-s"],[31,38,"pl-c1"],[38,39,"pl-s"]],[[2,3,"pl-s"],[9,10,"pl-s"],[10,11,"pl-s"],[11,16,"pl-corl"],[16,17,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,32,"pl-s"],[21,32,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[10,11,"pl-s"],[11,15,"pl-c1"],[15,16,"pl-s"]],[[4,5,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[11,15,"pl-s"],[12,15,"pl-corl"],[23,32,"pl-s"],[24,32,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,22,"pl-c1"],[22,23,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,25,"pl-s"],[18,25,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,29,"pl-s"],[18,29,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[14,15,"pl-s"],[15,19,"pl-c1"],[19,20,"pl-s"],[32,33,"pl-s"],[33,37,"pl-c1"],[37,38,"pl-s"],[39,40,"pl-s"],[40,46,"pl-c1"],[46,47,"pl-s"],[51,52,"pl-s"],[52,57,"pl-c1"],[57,58,"pl-s"]],[[4,5,"pl-v"],[6,34,"pl-s"],[6,28,"pl-corl"],[29,34,"pl-corl"],[44,53,"pl-s"],[45,53,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[10,11,"pl-s"],[11,29,"pl-c1"],[29,30,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,30,"pl-s"],[21,30,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[10,11,"pl-s"],[11,20,"pl-c1"],[20,21,"pl-s"]],[[4,5,"pl-v"],[6,7,"pl-s"],[7,16,"pl-c1"],[16,17,"pl-s"]],[],[[4,5,"pl-v"],[15,27,"pl-s"],[16,27,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[45,46,"pl-s"],[46,51,"pl-c1"],[51,52,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[35,36,"pl-s"],[36,58,"pl-c1"],[58,59,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[10,11,"pl-s"],[11,36,"pl-c1"],[36,37,"pl-s"],[42,43,"pl-s"],[43,54,"pl-c1"],[54,55,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[2,3,"pl-s"],[3,19,"pl-c1"],[19,20,"pl-s"],[30,31,"pl-s"],[31,32,"pl-c1"],[32,33,"pl-s"],[53,54,"pl-s"],[54,67,"pl-c1"],[67,68,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,27,"pl-s"],[18,27,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,27,"pl-s"],[18,27,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,15,"pl-c1"],[15,16,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,31,"pl-s"],[21,31,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[15,19,"pl-s"],[16,19,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[2,3,"pl-s"],[3,14,"pl-c1"],[14,15,"pl-s"]],[[7,8,"pl-s"],[8,20,"pl-c1"],[20,21,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[11,15,"pl-s"],[12,15,"pl-corl"],[32,41,"pl-s"],[33,41,"pl-corl"]],[],[],[[0,19,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[35,36,"pl-s"],[36,40,"pl-c1"],[40,41,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,28,"pl-s"],[18,28,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[10,11,"pl-s"],[11,22,"pl-c1"],[22,23,"pl-s"],[48,49,"pl-s"],[49,53,"pl-c1"],[53,54,"pl-s"]],[[2,3,"pl-s"],[3,13,"pl-c1"],[13,14,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,32,"pl-s"],[21,32,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,22,"pl-s"],[18,22,"pl-corl"]],[[0,1,"pl-v"],[10,11,"pl-s"],[11,18,"pl-c1"],[18,19,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,31,"pl-s"],[21,31,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,28,"pl-s"],[18,28,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[31,32,"pl-s"],[32,51,"pl-c1"],[51,52,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,30,"pl-s"],[21,30,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[35,36,"pl-s"],[36,39,"pl-c1"],[39,40,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[22,23,"pl-s"],[23,32,"pl-c1"],[32,33,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,30,"pl-s"],[21,30,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[8,9,"pl-s"],[9,15,"pl-c1"],[15,16,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,28,"pl-s"],[21,28,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[8,9,"pl-s"],[9,20,"pl-c1"],[20,21,"pl-s"],[32,33,"pl-s"],[33,39,"pl-c1"],[39,40,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,22,"pl-s"],[18,22,"pl-corl"]],[],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[55,56,"pl-s"],[56,60,"pl-c1"],[60,61,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[8,9,"pl-s"],[9,15,"pl-c1"],[15,16,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,30,"pl-s"],[21,30,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[9,10,"pl-s"],[10,13,"pl-c1"],[13,14,"pl-s"],[45,46,"pl-s"],[46,49,"pl-c1"],[49,50,"pl-s"],[54,55,"pl-s"],[55,78,"pl-c1"],[78,79,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,18,"pl-c1"],[18,19,"pl-s"],[41,42,"pl-s"],[42,49,"pl-c1"],[49,50,"pl-s"],[59,60,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[25,26,"pl-s"],[26,40,"pl-c1"],[40,41,"pl-s"]],[[4,5,"pl-v"],[6,37,"pl-s"],[6,33,"pl-corl"],[34,37,"pl-corl"],[47,56,"pl-s"],[48,56,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[13,14,"pl-s"],[14,37,"pl-c1"],[37,38,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,30,"pl-s"],[21,30,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[14,24,"pl-s"],[15,24,"pl-corl"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[],[[0,1,"pl-v"],[6,7,"pl-s"],[7,32,"pl-c1"],[32,33,"pl-s"],[45,46,"pl-s"],[46,49,"pl-c1"],[49,50,"pl-s"],[54,55,"pl-s"],[55,58,"pl-c1"],[58,59,"pl-s"]],[[2,3,"pl-s"],[3,26,"pl-c1"],[26,27,"pl-s"]],[],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[23,24,"pl-s"],[24,31,"pl-c1"],[31,32,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[36,37,"pl-s"],[37,41,"pl-c1"],[41,42,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[59,60,"pl-s"],[60,63,"pl-c1"],[63,64,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,30,"pl-s"],[21,30,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,28,"pl-s"],[18,28,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,27,"pl-s"],[18,27,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[39,73,"pl-corl"]],[[4,5,"pl-v"],[21,31,"pl-s"],[22,31,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[29,30,"pl-s"],[30,51,"pl-c1"],[51,52,"pl-s"],[56,57,"pl-s"],[57,63,"pl-c1"],[63,64,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,12,"pl-c1"],[12,13,"pl-s"],[39,40,"pl-s"],[40,63,"pl-c1"],[63,64,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[11,15,"pl-s"],[12,15,"pl-corl"],[32,41,"pl-s"],[33,41,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[9,10,"pl-s"],[10,18,"pl-c1"],[18,19,"pl-s"],[43,44,"pl-s"],[44,66,"pl-c1"],[66,67,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[2,3,"pl-s"],[3,13,"pl-c1"],[13,14,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[2,3,"pl-s"],[3,13,"pl-c1"],[13,14,"pl-s"],[32,33,"pl-s"],[33,40,"pl-c1"],[40,41,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,27,"pl-s"],[18,27,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[2,3,"pl-s"],[3,35,"pl-c1"],[35,36,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,30,"pl-s"],[21,30,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,27,"pl-s"],[18,27,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[19,20,"pl-s"],[20,43,"pl-c1"],[43,44,"pl-s"]],[],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[19,23,"pl-s"],[20,23,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[10,11,"pl-s"],[11,21,"pl-c1"],[21,22,"pl-s"]],[[4,5,"pl-v"],[6,7,"pl-s"],[7,11,"pl-c1"],[11,12,"pl-s"]],[[4,5,"pl-v"],[6,7,"pl-s"],[7,33,"pl-c1"],[33,34,"pl-s"],[49,50,"pl-s"],[50,57,"pl-c1"],[57,58,"pl-s"]],[[15,16,"pl-s"],[19,20,"pl-s"]],[[4,5,"pl-v"],[6,7,"pl-s"],[7,28,"pl-c1"],[28,29,"pl-s"]],[],[[4,5,"pl-v"],[6,36,"pl-s"],[6,33,"pl-corl"],[34,36,"pl-corl"],[46,55,"pl-s"],[47,55,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,25,"pl-s"],[18,25,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,7,"pl-s"],[7,39,"pl-c1"],[39,40,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,30,"pl-s"],[21,30,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,27,"pl-s"],[18,27,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,28,"pl-s"],[18,28,"pl-corl"]],[],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,26,"pl-c1"],[26,27,"pl-s"]],[[4,5,"pl-v"],[14,15,"pl-s"],[15,23,"pl-c1"],[23,24,"pl-s"]],[],[[4,5,"pl-v"]],[[6,7,"pl-s"],[7,73,"pl-c1"],[73,74,"pl-s"]],[[4,5,"pl-v"],[6,7,"pl-s"],[7,26,"pl-c1"],[26,27,"pl-s"]],[[6,7,"pl-s"],[7,21,"pl-c1"],[21,22,"pl-s"]],[[4,5,"pl-v"]],[[4,5,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,30,"pl-s"],[21,30,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,13,"pl-c1"],[13,14,"pl-s"]],[[4,5,"pl-v"],[6,7,"pl-s"],[7,13,"pl-c1"],[13,14,"pl-s"],[63,64,"pl-s"],[64,68,"pl-c1"],[68,69,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,18,"pl-c1"],[18,19,"pl-s"]],[[4,5,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"]],[[4,5,"pl-v"]],[[4,5,"pl-v"],[10,11,"pl-s"],[11,19,"pl-c1"],[19,20,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,14,"pl-c1"],[14,15,"pl-s"]],[[4,5,"pl-v"],[10,11,"pl-s"],[11,18,"pl-c1"],[18,19,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[6,7,"pl-s"],[7,13,"pl-c1"],[13,14,"pl-s"]],[[4,5,"pl-v"]],[[4,5,"pl-v"],[18,27,"pl-s"],[19,27,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,29,"pl-s"],[21,29,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[29,30,"pl-s"],[30,33,"pl-c1"],[33,34,"pl-s"]],[[4,5,"pl-v"],[20,27,"pl-s"],[21,27,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[11,15,"pl-s"],[12,15,"pl-corl"],[25,33,"pl-s"],[26,33,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[[0,1,"pl-v"],[35,36,"pl-s"],[36,45,"pl-c1"],[45,46,"pl-s"]],[[4,5,"pl-v"]],[[4,5,"pl-v"],[6,7,"pl-s"],[7,16,"pl-c1"],[16,17,"pl-s"],[30,31,"pl-s"],[31,36,"pl-c1"],[36,37,"pl-s"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,28,"pl-s"],[21,28,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[42,43,"pl-s"],[43,50,"pl-c1"],[50,51,"pl-s"]],[[4,5,"pl-v"]],[[17,18,"pl-s"],[21,22,"pl-s"]],[[4,5,"pl-v"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,28,"pl-s"],[21,28,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[],[[0,9,"pl-mh"],[4,9,"pl-en"]],[[0,1,"pl-v"],[41,42,"pl-s"],[42,63,"pl-c1"],[63,64,"pl-s"]],[[4,5,"pl-v"],[6,7,"pl-s"],[7,32,"pl-c1"],[32,33,"pl-s"],[38,39,"pl-s"],[39,60,"pl-c1"],[60,61,"pl-s"]],[],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[],[],[[0,18,"pl-mh"]],[[33,34,"pl-s"],[40,41,"pl-s"],[41,42,"pl-s"],[42,61,"pl-corl"],[61,62,"pl-s"]],[[7,8,"pl-s"],[20,21,"pl-s"],[21,22,"pl-s"],[22,82,"pl-corl"],[82,83,"pl-s"]],[],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[],[[0,1,"pl-v"],[46,47,"pl-s"],[47,60,"pl-c1"],[60,61,"pl-s"]],[[2,3,"pl-s"],[3,29,"pl-c1"],[29,30,"pl-s"],[40,41,"pl-s"],[41,60,"pl-c1"],[60,61,"pl-s"]],[[4,5,"pl-v"],[6,7,"pl-s"],[7,23,"pl-c1"],[23,24,"pl-s"]],[[4,5,"pl-v"]],[],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[20,28,"pl-s"],[21,28,"pl-corl"]],[[4,5,"pl-v"],[6,10,"pl-s"],[7,10,"pl-corl"],[17,26,"pl-s"],[18,26,"pl-corl"]],[[0,1,"pl-v"],[33,34,"pl-s"],[34,57,"pl-c1"],[57,58,"pl-s"]],[],[[4,5,"pl-v"]],[[49,50,"pl-s"],[50,55,"pl-c1"],[55,56,"pl-s"]],[[4,5,"pl-v"]],[[4,5,"pl-v"],[16,17,"pl-s"],[17,42,"pl-c1"],[42,43,"pl-s"]],[],[[4,5,"pl-v"],[6,7,"pl-s"],[7,28,"pl-c1"],[28,29,"pl-s"],[54,55,"pl-s"],[55,69,"pl-c1"],[69,70,"pl-s"]],[[4,5,"pl-v"]],[],[[4,5,"pl-v"]],[],[[4,7,"pl-s"],[7,11,"pl-en"]],[],[],[],[],[],[],[],[],[[0,12,"pl-c"],[0,1,"pl-c"]],[],[[0,77,"pl-md"],[0,1,"pl-md"]],[],[[0,70,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,47,"pl-md"],[0,1,"pl-md"]],[[0,64,"pl-md"],[0,1,"pl-md"]],[[0,49,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,76,"pl-md"],[0,1,"pl-md"]],[],[],[],[],[],[[0,47,"pl-md"],[0,1,"pl-md"]],[[0,78,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,77,"pl-md"],[0,1,"pl-md"]],[],[],[],[],[],[],[[0,19,"pl-md"],[0,1,"pl-md"]],[[0,43,"pl-md"],[0,1,"pl-md"]],[[0,29,"pl-md"],[0,1,"pl-md"]],[[0,64,"pl-md"],[0,1,"pl-md"]],[[0,48,"pl-md"],[0,1,"pl-md"]],[[0,76,"pl-md"],[0,1,"pl-md"]],[],[],[],[],[[0,52,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,45,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,49,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,72,"pl-md"],[0,1,"pl-md"]],[],[],[[0,51,"pl-md"],[0,1,"pl-md"]],[[0,69,"pl-md"],[0,1,"pl-md"]],[],[[0,73,"pl-md"],[0,1,"pl-md"]],[],[],[],[],[[0,43,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,41,"pl-md"],[0,1,"pl-md"]],[],[],[],[],[[0,68,"pl-md"],[0,1,"pl-md"]],[],[],[],[],[[0,60,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,74,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,46,"pl-md"],[0,1,"pl-md"]],[[0,76,"pl-md"],[0,1,"pl-md"]],[],[],[],[],[[0,61,"pl-md"],[0,1,"pl-md"]],[],[],[],[],[[0,45,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,70,"pl-md"],[0,1,"pl-md"]],[[0,62,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,42,"pl-md"],[0,1,"pl-md"]],[[0,45,"pl-md"],[0,1,"pl-md"]],[[0,75,"pl-md"],[0,1,"pl-md"]],[],[[0,74,"pl-md"],[0,1,"pl-md"]],[],[[0,67,"pl-md"],[0,1,"pl-md"]],[[0,69,"pl-md"],[0,1,"pl-md"]],[],[],[],[],[[0,75,"pl-md"],[0,1,"pl-md"]],[],[],[],[],[[0,34,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,57,"pl-md"],[0,1,"pl-md"]],[[0,49,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,72,"pl-md"],[0,1,"pl-md"]],[],[],[],[],[[0,30,"pl-md"],[0,1,"pl-md"]],[[0,52,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,36,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,61,"pl-md"],[0,1,"pl-md"]],[[0,42,"pl-md"],[0,1,"pl-md"]],[[0,70,"pl-md"],[0,1,"pl-md"]],[],[],[],[],[[0,42,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,50,"pl-md"],[0,1,"pl-md"]],[[0,53,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,75,"pl-md"],[0,1,"pl-md"]],[],[],[[0,62,"pl-md"],[0,1,"pl-md"]],[[0,44,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,18,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,36,"pl-md"],[0,1,"pl-md"]],[[0,48,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,73,"pl-md"],[0,1,"pl-md"]],[],[[0,38,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,36,"pl-md"],[0,1,"pl-md"]],[[0,55,"pl-md"],[0,1,"pl-md"]],[[0,43,"pl-md"],[0,1,"pl-md"]],[[0,55,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,62,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,37,"pl-md"],[0,1,"pl-md"]],[[0,75,"pl-md"],[0,1,"pl-md"]],[],[[0,78,"pl-md"],[0,1,"pl-md"]],[],[],[],[],[[0,37,"pl-md"],[0,1,"pl-md"]],[[0,48,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,45,"pl-md"],[0,1,"pl-md"]],[[0,52,"pl-md"],[0,1,"pl-md"]],[[0,35,"pl-md"],[0,1,"pl-md"]],[[0,27,"pl-md"],[0,1,"pl-md"]],[[0,75,"pl-md"],[0,1,"pl-md"]],[],[],[],[],[[0,66,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,69,"pl-md"],[0,1,"pl-md"]],[],[],[],[],[[0,38,"pl-md"],[0,1,"pl-md"]],[[0,22,"pl-md"],[0,1,"pl-md"]],[[0,56,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,30,"pl-md"],[0,1,"pl-md"]],[[0,70,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,49,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,76,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,61,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,70,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,46,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,82,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,28,"pl-md"],[0,1,"pl-md"]],[[0,44,"pl-md"],[0,1,"pl-md"]],[[0,55,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,54,"pl-md"],[0,1,"pl-md"]],[[0,50,"pl-md"],[0,1,"pl-md"]],[[0,67,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,54,"pl-md"],[0,1,"pl-md"]],[[0,38,"pl-md"],[0,1,"pl-md"]],[[0,32,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,27,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,78,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,31,"pl-md"],[0,1,"pl-md"]],[[0,64,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,71,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,63,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,39,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,32,"pl-md"],[0,1,"pl-md"]],[[0,33,"pl-md"],[0,1,"pl-md"]],[[0,35,"pl-md"],[0,1,"pl-md"]],[[0,40,"pl-md"],[0,1,"pl-md"]],[[0,47,"pl-md"],[0,1,"pl-md"]],[[0,56,"pl-md"],[0,1,"pl-md"]],[[0,41,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,53,"pl-md"],[0,1,"pl-md"]],[[0,69,"pl-md"],[0,1,"pl-md"]],[[0,60,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,62,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,35,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,40,"pl-md"],[0,1,"pl-md"]],[[0,64,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,77,"pl-md"],[0,1,"pl-md"]],[[0,59,"pl-md"],[0,1,"pl-md"]],[[0,67,"pl-md"],[0,1,"pl-md"]],[[0,60,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,46,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,59,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,65,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,59,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,69,"pl-md"],[0,1,"pl-md"]],[[0,51,"pl-md"],[0,1,"pl-md"]],[[0,57,"pl-md"],[0,1,"pl-md"]],[[0,21,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,53,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,100,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,56,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,42,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,60,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,28,"pl-md"],[0,1,"pl-md"]],[[0,33,"pl-md"],[0,1,"pl-md"]],[[0,64,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,42,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,49,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,50,"pl-md"],[0,1,"pl-md"]],[[0,50,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,64,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,45,"pl-md"],[0,1,"pl-md"]],[[0,44,"pl-md"],[0,1,"pl-md"]],[[0,35,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,64,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,25,"pl-md"],[0,1,"pl-md"]],[[0,40,"pl-md"],[0,1,"pl-md"]],[[0,41,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,53,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,64,"pl-md"],[0,1,"pl-md"]],[[0,49,"pl-md"],[0,1,"pl-md"]],[[0,46,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,37,"pl-md"],[0,1,"pl-md"]],[[0,39,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,27,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,78,"pl-md"],[0,1,"pl-md"]],[],[[0,23,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,47,"pl-md"],[0,1,"pl-md"]],[[0,20,"pl-md"],[0,1,"pl-md"]],[[0,55,"pl-md"],[0,1,"pl-md"]],[[0,51,"pl-md"],[0,1,"pl-md"]],[[0,22,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,65,"pl-md"],[0,1,"pl-md"]],[],[],[],[[0,17,"pl-md"],[0,1,"pl-md"]]],"colorizedLines":null}},"title":"pre-commit/CHANGELOG.md at master · ExternalRepositories/pre-commit","appPayload":{},"meta":{"title":"pre-commit/CHANGELOG.md at master · ExternalRepositories/pre-commit"}}</script>
  <div data-target="react-app.reactRoot"><meta name="github-code-view-meta-stats" id="github-code-view-meta-stats" data-hydrostats="publish"/> <!-- --> <a hidden="" id="code-view-repo-link" href="/ExternalRepositories/pre-commit" data-discover="true"></a> <div class="d-none"></div><div><div style="--spacing:var(--spacing-none)" class="prc-PageLayout-PageLayoutRoot--KH-d" data-component="SplitPageLayout" data-has-sidebar="true"><div class="prc-PageLayout-SidebarWrapper-kLG4B CopilotSidePanelSidebar-module__SidePanel__L3O0C CopilotSidePanelSidebar-module__HiddenSidePanel__TBRGn" style="--spacing-column:var(--spacing-none)" data-is-hidden="false" data-position="end" data-sticky="true" data-responsive-variant="fullscreen"><div class="prc-PageLayout-VerticalDivider-9QRmK prc-PageLayout-SidebarVerticalDivider-0Rl0V" data-component="PageLayout.VerticalDivider" data-variant="line" data-position="end" style="--spacing:var(--spacing-none)"><div class="prc-PageLayout-DraggableHandle-9s6B4" data-component="PageLayout.DragHandle" role="slider" aria-label="Draggable pane splitter" aria-valuemin="450" aria-valuemax="768" aria-valuenow="544" aria-valuetext="Pane width 544 pixels" tabindex="0"></div></div><div class="prc-PageLayout-Sidebar-iciWg" data-component="SplitPageLayout.Sidebar" data-resizable="true" style="--spacing:var(--spacing-normal);--pane-min-width:450px;--pane-max-width:768px;--pane-width-custom:544px;--pane-width-size:var(--pane-width-custom);--pane-width:544px"><div class="height-full" data-testid="copilot-code-view-side-panel"><div id="copilot-side-panel-content" class="height-full"></div></div></div></div><div class="prc-PageLayout-PageLayoutWrapper-2BhU2" data-width="full"><div class="prc-PageLayout-PageLayoutContent-BneH9"><div id="repos-file-tree-sidebar" class="CodeViewFileTreeLayout-module__sidebar__n_Aau" tabindex="0"><div class="prc-PageLayout-PaneWrapper-pHPop ReposFileTreePane-module__Pane__rBZpI ReposFileTreePane-module__HideTree__AYZnm ReposFileTreePane-module__HidePane__VHAVt" style="--offset-header:0px;--spacing-row:var(--spacing-none);--spacing-column:var(--spacing-none)" data-is-hidden="false" data-position="start" data-sticky="true"><div class="prc-PageLayout-HorizontalDivider-JLVqp prc-PageLayout-PaneHorizontalDivider-9tbnE" data-component="PageLayout.HorizontalDivider" data-variant-regular="none" data-variant-narrow="none" data-position="start" style="--spacing-divider:var(--spacing-none);--spacing:var(--spacing-none)"></div><div class="prc-PageLayout-Pane-AyzHK" data-component="SplitPageLayout.Pane" data-resizable="true" style="--spacing:var(--spacing-none);--pane-min-width:256px;--pane-max-width:calc(100vw - var(--pane-max-width-diff));--pane-width-size:var(--pane-width-large);--pane-width:320px"></div><div class="prc-PageLayout-VerticalDivider-9QRmK prc-PageLayout-PaneVerticalDivider-le57g" data-component="PageLayout.VerticalDivider" data-variant-narrow="none" data-variant-regular="line" data-variant-wide="line" data-position="start" style="--spacing:var(--spacing-none)"><div class="prc-PageLayout-DraggableHandle-9s6B4" data-component="PageLayout.DragHandle" role="slider" aria-label="Draggable pane splitter" aria-valuemin="256" aria-valuemax="600" aria-valuenow="320" aria-valuetext="Pane width 320 pixels" tabindex="0"></div></div></div></div><div data-component="SplitPageLayout.Content" class="prc-PageLayout-ContentWrapper-gR9eG"><div class="prc-PageLayout-Content-xWL-A" data-width="full" style="--spacing:var(--spacing-none)"><div class="SharedPageLayout-module__content__IwGAp" data-selector="repos-split-pane-content" id="repos-split-pane-content" tabindex="0"> <!-- --> <div class="container CodeViewHeader-module__Box__JkPOb"><div class="CodeViewHeader-module__StickyHeader__Qn7UN" id="StickyHeader"><div class="CodeViewHeader-module__Box_1__SbNDV"><div class="CodeViewHeader-module__Box_2__TB46f"><div class="react-code-view-header-wrap--narrow CodeViewHeader-module__Box_3__q1zUL"><div class="CodeViewHeader-module__treeToggleWrapper__RQ__9"><h2 class="use-tree-pane-module__Heading__s4QbZ prc-Heading-Heading-MtWFE" data-component="Heading"><button data-component="Button" type="button" aria-label="Expand file tree" data-testid="expand-file-tree-button-mobile" class="prc-Button-ButtonBase-9n-Xk ExpandFileTreeButton-module__Button_1__Svs95" data-loading="false" data-size="medium" data-variant="invisible"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-arrow-left" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.78 12.53a.75.75 0 0 1-1.06 0L2.47 8.28a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L4.81 7h7.44a.75.75 0 0 1 0 1.5H4.81l2.97 2.97a.75.75 0 0 1 0 1.06Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3">Files</span></span></button><button data-component="IconButton" type="button" data-testid="expand-file-tree-button" aria-controls="repos-file-tree" class="prc-Button-ButtonBase-9n-Xk position-relative ExpandFileTreeButton-module__expandButton__hDOcv ExpandFileTreeButton-module__filesButtonBreakpoint__zEvz3 fgColor-muted prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-labelledby="_R_4lla9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-sidebar-collapse" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M6.823 7.823a.25.25 0 0 1 0 .354l-2.396 2.396A.25.25 0 0 1 4 10.396V5.604a.25.25 0 0 1 .427-.177Z"></path><path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25H9.5v-13H1.75a.25.25 0 0 0-.25.25ZM11 14.5h3.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H11Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="se" data-component="Tooltip" aria-hidden="true" id="_R_4lla9lik5_">Expand file tree</span><div class="d-none"></div></h2></div><div class="react-code-view-header-mb--narrow mr-2"><button data-component="Button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="master branch" data-testid="anchor-button" data-icv-name="Switch branches/tags" class="prc-Button-ButtonBase-9n-Xk ref-selector-class RefSelectorAnchoredOverlay-module__RefSelectorOverlayBtn__a3WK3" data-loading="false" data-size="medium" data-variant="default" id="ref-picker-repos-header-ref-selector-wide"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3"><div class="RefSelectorAnchoredOverlay-module__RefSelectorOverlayContainer__yaf4p"><div style="max-width:125px" class="ref-selector-button-text-container RefSelectorAnchoredOverlay-module__RefSelectorBtnTextContainer__Di3rk"><span class="RefSelectorAnchoredOverlay-module__RefSelectorText__w_fmP">master</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-YNt2F prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><div class="d-none"></div></div><div class="react-code-view-header-mb--narrow CodeViewHeader-module__Box_5__MQ0hL"><div class="Breadcrumb-module__container__Vxvev Breadcrumb-module__lg__Rjz0A"><nav data-testid="breadcrumbs" aria-labelledby="repos-header-breadcrumb-heading" id="repos-header-breadcrumb" class="Breadcrumb-module__nav__rQFDj"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading" id="repos-header-breadcrumb-heading">Breadcrumbs</h2><ol class="Breadcrumb-module__list__ZH6zr"><li class="Breadcrumb-module__listItem__Ib0x_"><a class="Breadcrumb-module__repoLink__O2Nbs prc-Link-Link-9ZwDx" data-component="Link" data-testid="breadcrumbs-repo-link" href="/ExternalRepositories/pre-commit/tree/master" data-discover="true">pre-commit</a></li></ol></nav><div data-testid="breadcrumbs-filename" class="Breadcrumb-module__filename__equZR"><span class="Breadcrumb-module__separator__eNwsI Breadcrumb-module__lg__Rjz0A" aria-hidden="true">/</span><h1 class="Breadcrumb-module__filenameHeading__MNMtw Breadcrumb-module__lg__Rjz0A prc-Heading-Heading-MtWFE" data-component="Heading" tabindex="-1" id="file-name-id">CHANGELOG.md</h1></div><button data-component="IconButton" type="button" class="prc-Button-ButtonBase-9n-Xk ml-2 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_7lla9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button><span class="CopyToClipboardIconButton-module__tooltip__WyiwL prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-label="Copy path" aria-hidden="true" id="_R_7lla9lik5_">Copy path</span></div></div></div><div class="react-code-view-header-element--wide"><div class="CodeViewHeader-module__Box_7___0R6c"><div class="d-flex gap-2"><div><div class="CodeViewHeader-module__FileResultsList__JDzUy"><span class="d-flex FileResultsList-module__FilesSearchBox__ivVkc TextInput-wrapper prc-components-TextInputWrapper-Hpdqi prc-components-TextInputBaseWrapper-wY-n0" data-no-trailing-action="true" data-component="TextInput" data-leading-visual="true" data-trailing-visual="true" aria-busy="false"><span class="TextInput-icon" id="_R_5ipla9lik5_" aria-hidden="true" data-component="TextInput.LeadingVisual"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg></span><input type="text" aria-label="Go to file" role="combobox" aria-controls="file-results-list" aria-expanded="false" aria-haspopup="dialog" autoCorrect="off" spellCheck="false" placeholder="Go to file" aria-describedby="_R_5ipla9lik5_ _R_5ipla9lik5H1_" data-component="input" class="prc-components-Input-IwWrt" value=""/><span class="TextInput-icon" id="_R_5ipla9lik5H1_" aria-hidden="true" data-component="TextInput.TrailingVisual"></span></span></div><div class="d-none"></div></div><button data-component="Button" type="button" style="display:none" class="prc-Button-ButtonBase-9n-Xk NavigationMenu-module__Button__LpKgm" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="text" class="prc-Button-Label-FWkx3">Blame</span></span></button><div class="d-none"></div><button data-component="IconButton" type="button" data-testid="more-file-actions-button-nav-menu-wide" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk js-blob-dropdown-click NavigationMenu-module__IconButton__HpX3G prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-labelledby="_R_v4pla9lik5_" id="_R_14pla9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-hidden="true" id="_R_v4pla9lik5_">More file actions</span></div></div></div><div class="react-code-view-header-element--narrow"><div class="CodeViewHeader-module__Box_7___0R6c"><div class="d-flex gap-2"><button data-component="Button" type="button" style="display:none" class="prc-Button-ButtonBase-9n-Xk NavigationMenu-module__Button__LpKgm" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="text" class="prc-Button-Label-FWkx3">Blame</span></span></button><div class="d-none"></div><button data-component="IconButton" type="button" data-testid="more-file-actions-button-nav-menu-narrow" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk js-blob-dropdown-click NavigationMenu-module__IconButton__HpX3G prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-labelledby="_R_v4tla9lik5_" id="_R_14tla9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-hidden="true" id="_R_v4tla9lik5_">More file actions</span></div></div></div></div></div></div></div><div class="CodeView-module__contentWrapper__cG2JH"><div class="react-code-view-bottom-padding"><div class="BlobTopBanners-module__Box__v_nvx"></div></div> <div class="d-none"></div><div class="d-flex flex-column border rounded-2 tmp-mb-3 pl-1"><div class="LatestCommit-module__Box__B25ZT"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading">Latest commit</h2><div style="width:120px" class="Skeleton Skeleton--text" data-testid="loading"> </div><div class="d-flex flex-shrink-0 gap-2"><div data-testid="latest-commit-details" class="d-none d-sm-flex flex-items-center"></div><div class="d-flex gap-2"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading">History</h2><a data-component="LinkButton" href="/ExternalRepositories/pre-commit/commits/master/CHANGELOG.md" class="prc-Button-ButtonBase-9n-Xk d-none d-lg-flex LinkButton-module__linkButton__nFnov flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3"><span class="fgColor-default">History</span></span></span></a><div class="d-sm-none"></div><div class="d-flex d-lg-none"><a data-component="LinkButton" aria-label="View commit history for this file." href="/ExternalRepositories/pre-commit/commits/master/CHANGELOG.md" class="prc-Button-ButtonBase-9n-Xk LinkButton-module__linkButton__nFnov flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby="_R_4mlala9lik5_"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span></span></a><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="s" data-component="Tooltip" role="tooltip" aria-hidden="true" id="_R_4mlala9lik5_">History</span></div></div></div></div></div><div class="d-flex flex-row"><div class="container BlobViewContent-module__blobContainer__DtH2d"><div class="react-code-size-details-banner BlobViewContent-module__codeSizeDetails__e5sUw"><div class="react-code-size-details-banner CodeSizeDetails-module__Box__VcD6l"><div class="text-mono CodeSizeDetails-module__Box_1__GVxQL"><div data-testid="blob-size" class="CodeSizeDetails-module__Truncate_1__lE93V prc-Truncate-Truncate-2G1eo" data-inline="true" title="49.1 KB" style="--truncate-max-width:100%"><span>1669 lines (1385 loc) · 49.1 KB</span></div></div></div></div><div class="react-blob-view-header-sticky BlobViewContent-module__stickyHeader__VwxB5" id="repos-sticky-header"><div class="BlobViewHeader-module__Box__yhm9u"><div class="react-blob-sticky-header"><div class="FileNameStickyHeader-module__outerWrapper__ZL4Xc FileNameStickyHeader-module__outerWrapperHidden__Zpynk"><div class="FileNameStickyHeader-module__Box_1__Hazu5"><div class="FileNameStickyHeader-module__Box_2__hoolP"><div class="FileNameStickyHeader-module__Box_3__MVKsk"><button data-component="Button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="master branch" data-testid="anchor-button" data-icv-name="Switch branches/tags" class="prc-Button-ButtonBase-9n-Xk ref-selector-class RefSelectorAnchoredOverlay-module__RefSelectorOverlayBtn__a3WK3" data-loading="false" data-size="medium" data-variant="default" id="ref-picker-repos-header-ref-selector"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3"><div class="RefSelectorAnchoredOverlay-module__RefSelectorOverlayContainer__yaf4p"><div style="max-width:125px" class="ref-selector-button-text-container RefSelectorAnchoredOverlay-module__RefSelectorBtnTextContainer__Di3rk"><span class="RefSelectorAnchoredOverlay-module__RefSelectorText__w_fmP">master</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-YNt2F prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><div class="d-none"></div></div><div class="FileNameStickyHeader-module__Box_4__FLhtt"><div class="Breadcrumb-module__container__Vxvev Breadcrumb-module__md__Wb1Gs"><nav data-testid="breadcrumbs" aria-labelledby="sticky-breadcrumb-heading" id="sticky-breadcrumb" class="Breadcrumb-module__nav__rQFDj"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading" id="sticky-breadcrumb-heading">Breadcrumbs</h2><ol class="Breadcrumb-module__list__ZH6zr"><li class="Breadcrumb-module__listItem__Ib0x_"><a class="Breadcrumb-module__repoLink__O2Nbs prc-Link-Link-9ZwDx" data-component="Link" data-testid="breadcrumbs-repo-link" href="/ExternalRepositories/pre-commit/tree/master" data-discover="true">pre-commit</a></li></ol></nav><div data-testid="breadcrumbs-filename" class="Breadcrumb-module__filename__equZR"><span class="Breadcrumb-module__separator__eNwsI Breadcrumb-module__md__Wb1Gs" aria-hidden="true">/</span><h1 class="Breadcrumb-module__filenameHeading__MNMtw Breadcrumb-module__md__Wb1Gs prc-Heading-Heading-MtWFE" data-component="Heading" tabindex="-1" id="sticky-file-name-id">CHANGELOG.md</h1></div><button data-component="IconButton" type="button" class="prc-Button-ButtonBase-9n-Xk ml-2 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_7lcpala9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button><span class="CopyToClipboardIconButton-module__tooltip__WyiwL prc-TooltipV2-Tooltip-tLeuB" data-direction="s" data-component="Tooltip" aria-label="Copy path" aria-hidden="true" id="_R_7lcpala9lik5_">Copy path</span></div></div></div><button data-component="Button" type="button" class="prc-Button-ButtonBase-9n-Xk FileNameStickyHeader-module__Button__LSEU_ FileNameStickyHeader-module__GoToTopButton__nxAFn" data-loading="false" data-size="small" data-variant="invisible"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-arrow-up" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.47 7.78a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0l4.25 4.25a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018L9 4.81v7.44a.75.75 0 0 1-1.5 0V4.81L4.53 7.78a.75.75 0 0 1-1.06 0Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3">Top</span></span></button></div></div></div><div class="BlobViewHeader-module__Box_1__VEmuQ"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading">File metadata and controls</h2><div class="BlobViewHeader-module__Box_2__icUs2"><ul aria-label="File view" class="prc-SegmentedControl-SegmentedControl-lqIXp BlobTabButtons-module__SegmentedControl__jen2u" data-variant="default" data-size="small" data-component="SegmentedControl"><li class="prc-SegmentedControl-Item-tSCQh" data-selected="" data-component="SegmentedControl.Button"><button aria-pressed="true" class="prc-SegmentedControl-Button-E48xz" type="button" style="--separator-color:transparent"><span class="prc-SegmentedControl-Content-1COlk segmentedControl-content"><div class="prc-SegmentedControl-Text-7S2y2 segmentedControl-text" data-text="Preview">Preview</div></span></button></li><li class="prc-SegmentedControl-Item-tSCQh" data-component="SegmentedControl.Button"><button aria-pressed="false" class="prc-SegmentedControl-Button-E48xz" type="button" style="--separator-color:var(--borderColor-default)"><span class="prc-SegmentedControl-Content-1COlk segmentedControl-content"><div class="prc-SegmentedControl-Text-7S2y2 segmentedControl-text" data-text="Code">Code</div></span></button></li><li class="prc-SegmentedControl-Item-tSCQh" data-component="SegmentedControl.Button"><button aria-pressed="false" class="prc-SegmentedControl-Button-E48xz" type="button" style="--separator-color:var(--borderColor-default)"><span class="prc-SegmentedControl-Content-1COlk segmentedControl-content"><div class="prc-SegmentedControl-Text-7S2y2 segmentedControl-text" data-text="Blame">Blame</div></span></button></li></ul><div class="d-none"></div><div class="react-code-size-details-in-header CodeSizeDetails-module__Box__VcD6l"><div class="text-mono CodeSizeDetails-module__Box_1__GVxQL"><div data-testid="blob-size" class="CodeSizeDetails-module__Truncate_1__lE93V prc-Truncate-Truncate-2G1eo" data-inline="true" title="49.1 KB" style="--truncate-max-width:100%"><span>1669 lines (1385 loc) · 49.1 KB</span></div></div></div></div><div class="BlobViewHeader-module__Box_3__ng6v2"><div class="d-none"></div><div class="react-blob-header-edit-and-raw-actions BlobViewHeader-module__Box_4__J4Y4W"><div class="d-none"></div><div class="prc-ButtonGroup-ButtonGroup-vFUrY" data-component="ButtonGroup"><div class="prc-ButtonGroup-Item-PqvDl"><a data-component="LinkButton" href="https://github.com/ExternalRepositories/pre-commit/raw/refs/heads/master/CHANGELOG.md" data-testid="raw-button" class="prc-Button-ButtonBase-9n-Xk LinkButton-module__linkButton__nFnov BlobViewHeader-module__LinkButton__X9kx2" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="text" class="prc-Button-Label-FWkx3">Raw</span></span></a></div><div class="prc-ButtonGroup-Item-PqvDl"><button data-component="IconButton" type="button" data-testid="copy-raw-button" class="prc-Button-ButtonBase-9n-Xk prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-labelledby="_R_qaucpala9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="n" data-component="Tooltip" aria-hidden="true" id="_R_qaucpala9lik5_">Copy raw file</span></div><div class="prc-ButtonGroup-Item-PqvDl"><button data-component="IconButton" type="button" data-testid="download-raw-button" class="prc-Button-ButtonBase-9n-Xk BlobViewHeader-module__downloadButton__ef459 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-labelledby="_R_eaucpala9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="n" data-component="Tooltip" aria-hidden="true" id="_R_eaucpala9lik5_">Download raw file</span></div></div></div><button data-component="IconButton" type="button" aria-pressed="false" class="prc-Button-ButtonBase-9n-Xk tmp-mr-2 TableOfContents-module__IconButton__jrlNM prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_3ucpala9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-list-unordered" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M5.75 2.5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5ZM2 14a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm1-6a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM2 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="n" data-component="Tooltip" aria-hidden="true" id="_R_3ucpala9lik5_">Outline</span><div class="react-blob-header-edit-and-raw-actions-combined"><button data-component="IconButton" type="button" title="More file actions" data-testid="more-file-actions-button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk js-blob-dropdown-click BlobViewHeader-module__IconButton__XrMQY prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_fkecpala9lik5_" id="_R_kecpala9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-hidden="true" id="_R_fkecpala9lik5_">Edit and raw actions</span></div></div></div></div><div></div></div><div class="BlobViewContent-module__blobContentWrapper__JS0W6"><section aria-labelledby="file-name-id-wide file-name-id-mobile" class="BlobContent-module__blobContentSection__VOgZq BlobContent-module__blobContentSectionMarkdown__mPLOK" style="margin-top:46px"><div class="js-snippet-clipboard-copy-unpositioned BlobContent-module__markdownBlob__T8jpG" data-hpc="true" containertiming="hpc"><article class="markdown-body entry-content container-lg" itemprop="text"><div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">2.9.2 - 2020-11-25</h1><a id="user-content-292---2020-11-25" class="anchor" aria-label="Permalink: 2.9.2 - 2020-11-25" href="#292---2020-11-25"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes" class="anchor" aria-label="Permalink: Fixes" href="#fixes"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix default value for <code>types_or</code> so <code>symlink</code> and <code>directory</code> can be matched
<ul dir="auto">
<li>#1716 PR by @asottile.</li>
<li>issue by code_bleu in <a href="https://twitch.tv/anthonywritescode" rel="nofollow">twitch chat</a></li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">2.9.1 - 2020-11-25</h1><a id="user-content-291---2020-11-25" class="anchor" aria-label="Permalink: 2.9.1 - 2020-11-25" href="#291---2020-11-25"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-1" class="anchor" aria-label="Permalink: Fixes" href="#fixes-1"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Improve error message for "hook goes missing"
<ul dir="auto">
<li>#1709 PR by @paulhfischer.</li>
<li>#1708 issue by @theod07.</li>
</ul>
</li>
<li>Add warning for <code>/*</code> in <code>files</code> / <code>exclude</code> regexes
<ul dir="auto">
<li>#1707 PR by @paulhfischer.</li>
<li>#1702 issue by @asottile.</li>
</ul>
</li>
<li>Fix <code>healthy()</code> check for <code>language: python</code> on windows when the base
executable has non-ascii characters.
<ul dir="auto">
<li>#1713 PR by @asottile.</li>
<li>#1711 issue by @Najiva.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">2.9.0 - 2020-11-21</h1><a id="user-content-290---2020-11-21" class="anchor" aria-label="Permalink: 2.9.0 - 2020-11-21" href="#290---2020-11-21"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features" class="anchor" aria-label="Permalink: Features" href="#features"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add <code>types_or</code> which allows matching multiple disparate <code>types</code> in a hook
<ul dir="auto">
<li>#1677 by @MarcoGorelli.</li>
<li>#607 by @asottile.</li>
</ul>
</li>
<li>Add Github Sponsors / Open Collective links
<ul dir="auto">
<li><a href="https://github.com/sponsors/asottile">https://github.com/sponsors/asottile</a></li>
<li><a href="https://opencollective.com/pre-commit" rel="nofollow">https://opencollective.com/pre-commit</a></li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-2" class="anchor" aria-label="Permalink: Fixes" href="#fixes-2"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Improve cleanup for <code>language: dotnet</code>
<ul dir="auto">
<li>#1678 by @rkm.</li>
</ul>
</li>
<li>Fix "xargs" when running windows batch files
<ul dir="auto">
<li>#1686 PR by @asottile.</li>
<li>#1604 issue by @apietrzak.</li>
<li>#1604 issue by @ufwtlsb.</li>
</ul>
</li>
<li>Fix conflict with external <code>rbenv</code> and <code>language_version: default</code>
<ul dir="auto">
<li>#1700 PR by @asottile.</li>
<li>#1699 issue by @abuxton.</li>
</ul>
</li>
<li>Improve performance of <code>git status</code> / <code>git diff</code> commands by ignoring
submodules
<ul dir="auto">
<li>#1704 PR by @Vynce.</li>
<li>#1701 issue by @Vynce.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">2.8.2 - 2020-10-30</h1><a id="user-content-282---2020-10-30" class="anchor" aria-label="Permalink: 2.8.2 - 2020-10-30" href="#282---2020-10-30"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-3" class="anchor" aria-label="Permalink: Fixes" href="#fixes-3"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix installation of ruby hooks with <code>language_version: default</code>
<ul dir="auto">
<li>#1671 issue by @aerickson.</li>
<li>#1672 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">2.8.1 - 2020-10-28</h1><a id="user-content-281---2020-10-28" class="anchor" aria-label="Permalink: 2.8.1 - 2020-10-28" href="#281---2020-10-28"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-4" class="anchor" aria-label="Permalink: Fixes" href="#fixes-4"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Allow default <code>language_version</code> of <code>system</code> when the homedir is <code>/</code>
<ul dir="auto">
<li>#1669 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">2.8.0 - 2020-10-28</h1><a id="user-content-280---2020-10-28" class="anchor" aria-label="Permalink: 2.8.0 - 2020-10-28" href="#280---2020-10-28"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-1" class="anchor" aria-label="Permalink: Features" href="#features-1"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Update <code>rbenv</code> / <code>ruby-build</code>
<ul dir="auto">
<li>#1612 issue by @tdeo.</li>
<li>#1614 PR by @asottile.</li>
</ul>
</li>
<li>Update <code>sample-config</code> versions
<ul dir="auto">
<li>#1611 PR by @mcsitter.</li>
</ul>
</li>
<li>Add new language: <code>dotnet</code>
<ul dir="auto">
<li>#1598 by @rkm.</li>
</ul>
</li>
<li>Add <code>--negate</code> option to <code>language: pygrep</code> hooks
<ul dir="auto">
<li>#1643 PR by @MarcoGorelli.</li>
</ul>
</li>
<li>Add zipapp support
<ul dir="auto">
<li>#1616 PR by @asottile.</li>
</ul>
</li>
<li>Run pre-commit through <a href="https://pre-commit.ci" rel="nofollow">https://pre-commit.ci</a>
<ul dir="auto">
<li>#1662 PR by @asottile.</li>
</ul>
</li>
<li>Add new language: <code>coursier</code> (a jvm-based package manager)
<ul dir="auto">
<li>#1633 PR by @JosephMoniz.</li>
</ul>
</li>
<li>Exit with distinct codes: 1 (user error), 3 (unexpected error), 130 (^C)
<ul dir="auto">
<li>#1601 PR by @int3l.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-5" class="anchor" aria-label="Permalink: Fixes" href="#fixes-5"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Improve <code>healthy()</code> check for <code>language: node</code> + <code>language_version: system</code>
hooks when the system executable goes missing.
<ul dir="auto">
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="695032355" data-permission-text="Title is private" data-url="https://github.com/pre-commit/action/issues/45" data-hovercard-type="issue" data-hovercard-url="/pre-commit/action/issues/45/hovercard" href="https://github.com/pre-commit/action/issues/45">pre-commit/action#45</a> issue by @KOliver94.</li>
<li>#1589 issue by @asottile.</li>
<li>#1590 PR by @asottile.</li>
</ul>
</li>
<li>Fix excess whitespace in error log traceback
<ul dir="auto">
<li>#1592 PR by @asottile.</li>
</ul>
</li>
<li>Fix posixlike shebang invocations with shim executables of the git hook
script on windows.
<ul dir="auto">
<li>#1593 issue by @Celeborn2BeAlive.</li>
<li>#1595 PR by @Celeborn2BeAlive.</li>
</ul>
</li>
<li>Remove hard-coded <code>C:\PythonXX\python.exe</code> path on windows as it caused
confusion (and <code>virtualenv</code> can sometimes do better)
<ul dir="auto">
<li>#1599 PR by @asottile.</li>
</ul>
</li>
<li>Fix <code>language: ruby</code> hooks when <code>--format-executable</code> is present in a gemrc
<ul dir="auto">
<li>issue by <code>Rainbow Tux</code> (discord).</li>
<li>#1603 PR by @asottile.</li>
</ul>
</li>
<li>Move <code>cygwin</code> / <code>win32</code> mismatch error earlier to catch msys2 mismatches
<ul dir="auto">
<li>#1605 issue by @danyeaw.</li>
<li>#1606 PR by @asottile.</li>
</ul>
</li>
<li>Remove <code>-p</code> workaround for old <code>virtualenv</code>
<ul dir="auto">
<li>#1617 PR by @asottile.</li>
</ul>
</li>
<li>Fix <code>language: node</code> installations to not symlink outside of the environment
<ul dir="auto">
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="729984261" data-permission-text="Title is private" data-url="https://github.com/pre-commit-ci/issues/issues/2" data-hovercard-type="issue" data-hovercard-url="/pre-commit-ci/issues/issues/2/hovercard" href="https://github.com/pre-commit-ci/issues/issues/2">pre-commit-ci/issues#2</a> issue by @DanielJSottile.</li>
<li>#1667 PR by @asottile.</li>
</ul>
</li>
<li>Don't identify shim executables as valid <code>system</code> for defaulting
<code>language_version</code> for <code>language: node</code> / <code>language: ruby</code>
<ul dir="auto">
<li>#1658 issue by @adithyabsk.</li>
<li>#1668 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">2.7.1 - 2020-08-23</h1><a id="user-content-271---2020-08-23" class="anchor" aria-label="Permalink: 2.7.1 - 2020-08-23" href="#271---2020-08-23"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-6" class="anchor" aria-label="Permalink: Fixes" href="#fixes-6"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Improve performance of docker hooks by removing slow <code>ps</code> call
<ul dir="auto">
<li>#1572 PR by @rkm.</li>
<li>#1569 issue by @asottile.</li>
</ul>
</li>
<li>Fix un-<code>healthy()</code> invalidation followed by install being reported as
un-<code>healthy()</code>.
<ul dir="auto">
<li>#1576 PR by @asottile.</li>
<li>#1575 issue by @jab.</li>
</ul>
</li>
<li>Fix rare file race condition on windows with <code>os.replace()</code>
<ul dir="auto">
<li>#1577 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">2.7.0 - 2020-08-22</h1><a id="user-content-270---2020-08-22" class="anchor" aria-label="Permalink: 2.7.0 - 2020-08-22" href="#270---2020-08-22"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-2" class="anchor" aria-label="Permalink: Features" href="#features-2"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Produce error message if an environment is immediately unhealthy
<ul dir="auto">
<li>#1535 PR by @asottile.</li>
</ul>
</li>
<li>Add --no-allow-missing-config option to init-templatedir
<ul dir="auto">
<li>#1539 PR by @singergr.</li>
</ul>
</li>
<li>Add warning for old list-style configuration
<ul dir="auto">
<li>#1544 PR by @asottile.</li>
</ul>
</li>
<li>Allow pre-commit to succeed on a readonly store.
<ul dir="auto">
<li>#1570 PR by @asottile.</li>
<li>#1536 issue by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-7" class="anchor" aria-label="Permalink: Fixes" href="#fixes-7"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix error messaging when the store directory is readonly
<ul dir="auto">
<li>#1546 PR by @asottile.</li>
<li>#1536 issue by @asottile.</li>
</ul>
</li>
<li>Improve <code>diff</code> performance with many hooks
<ul dir="auto">
<li>#1566 PR by @jhenkens.</li>
<li>#1564 issue by @jhenkens.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">2.6.0 - 2020-07-01</h1><a id="user-content-260---2020-07-01" class="anchor" aria-label="Permalink: 2.6.0 - 2020-07-01" href="#260---2020-07-01"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-8" class="anchor" aria-label="Permalink: Fixes" href="#fixes-8"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix node hooks when <code>NPM_CONFIG_USERCONFIG</code> is set
<ul dir="auto">
<li>#1521 PR by @asottile.</li>
<li>#1516 issue by @rkm.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-3" class="anchor" aria-label="Permalink: Features" href="#features-3"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Skip <code>rbenv</code> / <code>ruby-download</code> if system ruby is available
<ul dir="auto">
<li>#1509 PR by @asottile.</li>
</ul>
</li>
<li>Partial support for ruby on windows (if system ruby is installed)
<ul dir="auto">
<li>#1509 PR by @asottile.</li>
<li>#201 issue by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">2.5.1 - 2020-06-09</h1><a id="user-content-251---2020-06-09" class="anchor" aria-label="Permalink: 2.5.1 - 2020-06-09" href="#251---2020-06-09"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-9" class="anchor" aria-label="Permalink: Fixes" href="#fixes-9"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Prevent infinite recursion of post-checkout on clone
<ul dir="auto">
<li>#1497 PR by @asottile.</li>
<li>#1496 issue by @admorgan.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">2.5.0 - 2020-06-08</h1><a id="user-content-250---2020-06-08" class="anchor" aria-label="Permalink: 2.5.0 - 2020-06-08" href="#250---2020-06-08"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-4" class="anchor" aria-label="Permalink: Features" href="#features-4"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Expose a <code>PRE_COMMIT=1</code> environment variable when running hooks
<ul dir="auto">
<li>#1467 PR by @tech-chad.</li>
<li>#1426 issue by @lorenzwalthert.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-10" class="anchor" aria-label="Permalink: Fixes" href="#fixes-10"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix <code>UnicodeDecodeError</code> on windows when using the <code>py</code> launcher to detect
executables with non-ascii characters in the path
<ul dir="auto">
<li>#1474 PR by @asottile.</li>
<li>#1472 issue by DrFobos.</li>
</ul>
</li>
<li>Fix <code>DeprecationWarning</code> on python3.9 for <code>random.shuffle</code> method
<ul dir="auto">
<li>#1480 PR by @asottile.</li>
<li>#1479 issue by @isidentical.</li>
</ul>
</li>
<li>Normalize slashes earlier such that global <code>files</code> / <code>exclude</code> use forward
slashes on windows as well.
<ul dir="auto">
<li>#1494 PR by @asottile.</li>
<li>#1476 issue by @harrybiddle.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">2.4.0 - 2020-05-11</h1><a id="user-content-240---2020-05-11" class="anchor" aria-label="Permalink: 2.4.0 - 2020-05-11" href="#240---2020-05-11"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-5" class="anchor" aria-label="Permalink: Features" href="#features-5"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add support for <code>post-commit</code> hooks
<ul dir="auto">
<li>#1415 PR by @ModischFabrications.</li>
<li>#1411 issue by @ModischFabrications.</li>
</ul>
</li>
<li>Silence pip version warning in python installation error
<ul dir="auto">
<li>#1412 PR by @asottile.</li>
</ul>
</li>
<li>Improve python <code>healthy()</code> when upgrading operating systems.
<ul dir="auto">
<li>#1431 PR by @asottile.</li>
<li>#1427 issue by @ahonnecke.</li>
</ul>
</li>
<li><code>language: python_venv</code> is now an alias to <code>language: python</code> (and will be
removed in a future version).
<ul dir="auto">
<li>#1431 PR by @asottile.</li>
</ul>
</li>
<li>Speed up python <code>healthy()</code> check.
<ul dir="auto">
<li>#1431 PR by @asottile.</li>
</ul>
</li>
<li><code>pre-commit autoupdate</code> now tries to maintain quoting style of <code>rev</code>.
<ul dir="auto">
<li>#1435 PR by @marcjay.</li>
<li>#1434 issue by @marcjay.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-11" class="anchor" aria-label="Permalink: Fixes" href="#fixes-11"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix installation of go modules in <code>repo: local</code>.
<ul dir="auto">
<li>#1428 PR by @scop.</li>
</ul>
</li>
<li>Fix committing with unstaged files and a failing <code>post-checkout</code> hook.
<ul dir="auto">
<li>#1422 PR by @domodwyer.</li>
<li>#1418 issue by @domodwyer.</li>
</ul>
</li>
<li>Fix installation of node hooks with system node installed on freebsd.
<ul dir="auto">
<li>#1443 PR by @asottile.</li>
<li>#1440 issue by @jockej.</li>
</ul>
</li>
<li>Fix ruby hooks when <code>GEM_PATH</code> is set globally.
<ul dir="auto">
<li>#1442 PR by @tdeo.</li>
</ul>
</li>
<li>Improve error message when <code>pre-commit autoupdate</code> /
<code>pre-commit migrate-config</code> are run but the pre-commit configuration is not
valid yaml.
<ul dir="auto">
<li>#1448 PR by @asottile.</li>
<li>#1447 issue by @rpdelaney.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">2.3.0 - 2020-04-22</h1><a id="user-content-230---2020-04-22" class="anchor" aria-label="Permalink: 2.3.0 - 2020-04-22" href="#230---2020-04-22"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-6" class="anchor" aria-label="Permalink: Features" href="#features-6"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Calculate character width using <code>east_asian_width</code>
<ul dir="auto">
<li>#1378 PR by @sophgn.</li>
</ul>
</li>
<li>Use <code>language_version: system</code> by default for <code>node</code> hooks if <code>node</code> / <code>npm</code>
are globally installed.
<ul dir="auto">
<li>#1388 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-12" class="anchor" aria-label="Permalink: Fixes" href="#fixes-12"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>No longer use a hard-coded user id for docker hooks on windows
<ul dir="auto">
<li>#1371 PR by @killuazhu.</li>
</ul>
</li>
<li>Fix colors on windows during <code>git commit</code>
<ul dir="auto">
<li>#1381 issue by @Cielquan.</li>
<li>#1382 PR by @asottile.</li>
</ul>
</li>
<li>Produce readable error message for incorrect argument count to <code>hook-impl</code>
<ul dir="auto">
<li>#1394 issue by @pip9ball.</li>
<li>#1395 PR by @asottile.</li>
</ul>
</li>
<li>Fix installations which involve an upgrade of <code>pip</code> on windows
<ul dir="auto">
<li>#1398 issue by @xiaohuazi123.</li>
<li>#1399 PR by @asottile.</li>
</ul>
</li>
<li>Preserve line endings in <code>pre-commit autoupdate</code>
<ul dir="auto">
<li>#1402 PR by @utek.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">2.2.0 - 2020-03-12</h1><a id="user-content-220---2020-03-12" class="anchor" aria-label="Permalink: 2.2.0 - 2020-03-12" href="#220---2020-03-12"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-7" class="anchor" aria-label="Permalink: Features" href="#features-7"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add support for the <code>post-checkout</code> hook
<ul dir="auto">
<li>#1120 issue by @domenkozar.</li>
<li>#1339 PR by @andrewhare.</li>
</ul>
</li>
<li>Add more readable <code>--from-ref</code> / <code>--to-ref</code> aliases for <code>--source</code> /
<code>--origin</code>
<ul dir="auto">
<li>#1343 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-13" class="anchor" aria-label="Permalink: Fixes" href="#fixes-13"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Make sure that <code>--commit-msg-filename</code> is passed for <code>commit-msg</code> /
<code>prepare-commit-msg</code>.
<ul dir="auto">
<li>#1336 PR by @particledecay.</li>
<li>#1341 PR by @particledecay.</li>
</ul>
</li>
<li>Fix crash when installation error is un-decodable bytes
<ul dir="auto">
<li>#1358 issue by @Guts.</li>
<li>#1359 PR by @asottile.</li>
</ul>
</li>
<li>Fix python <code>healthy()</code> check when <code>python</code> executable goes missing.
<ul dir="auto">
<li>#1363 PR by @asottile.</li>
</ul>
</li>
<li>Fix crash when script executables are missing shebangs.
<ul dir="auto">
<li>#1350 issue by @chriselion.</li>
<li>#1364 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Misc.</h3><a id="user-content-misc" class="anchor" aria-label="Permalink: Misc." href="#misc"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>pre-commit now requires python&gt;=3.6.1 (previously 3.6.0)
<ul dir="auto">
<li>#1346 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">2.1.1 - 2020-02-24</h1><a id="user-content-211---2020-02-24" class="anchor" aria-label="Permalink: 2.1.1 - 2020-02-24" href="#211---2020-02-24"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-14" class="anchor" aria-label="Permalink: Fixes" href="#fixes-14"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Temporarily restore python 3.6.0 support (broken in 2.0.0)
<ul dir="auto">
<li>reported by @obestwalter.</li>
<li>081f3028 by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">2.1.0 - 2020-02-18</h1><a id="user-content-210---2020-02-18" class="anchor" aria-label="Permalink: 2.1.0 - 2020-02-18" href="#210---2020-02-18"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-8" class="anchor" aria-label="Permalink: Features" href="#features-8"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Replace <code>aspy.yaml</code> with <code>sort_keys=False</code>.
<ul dir="auto">
<li>#1306 PR by @asottile.</li>
</ul>
</li>
<li>Add support for <code>perl</code>.
<ul dir="auto">
<li>#1303 PR by @scop.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-15" class="anchor" aria-label="Permalink: Fixes" href="#fixes-15"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Improve <code>.git/hooks/*</code> shebang creation when pythons are in <code>/usr/local/bin</code>.
<ul dir="auto">
<li>#1312 issue by @kbsezginel.</li>
<li>#1319 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Misc.</h3><a id="user-content-misc-1" class="anchor" aria-label="Permalink: Misc." href="#misc-1"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add repository badge for pre-commit.
<ul dir="auto">
<li><a href="https://github.com/pre-commit/pre-commit"><img src="https://camo.githubusercontent.com/9b46a404a478a8f690c0f1e4450b6d22bafb14b5d0a237d9626fe889da71a710/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7072652d2d636f6d6d69742d656e61626c65642d627269676874677265656e3f6c6f676f3d7072652d636f6d6d6974266c6f676f436f6c6f723d7768697465" alt="pre-commit" data-canonical-src="https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&amp;logoColor=white" style="max-width: 100%;"></a></li>
<li>#1334 PR by @ddelange.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">2.0.1 - 2020-01-29</h1><a id="user-content-201---2020-01-29" class="anchor" aria-label="Permalink: 2.0.1 - 2020-01-29" href="#201---2020-01-29"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-16" class="anchor" aria-label="Permalink: Fixes" href="#fixes-16"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix <code>ImportError</code> in python 3.6.0 / 3.6.1 for <code>typing.NoReturn</code>.
<ul dir="auto">
<li>#1302 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">2.0.0 - 2020-01-28</h1><a id="user-content-200---2020-01-28" class="anchor" aria-label="Permalink: 2.0.0 - 2020-01-28" href="#200---2020-01-28"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-9" class="anchor" aria-label="Permalink: Features" href="#features-9"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Expose <code>PRE_COMMIT_REMOTE_NAME</code> and <code>PRE_COMMIT_REMOTE_URL</code> as environment
variables during <code>pre-push</code> hooks.
<ul dir="auto">
<li>#1274 issue by @dmbarreiro.</li>
<li>#1288 PR by @dmbarreiro.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-17" class="anchor" aria-label="Permalink: Fixes" href="#fixes-17"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix <code>python -m pre_commit --version</code> to mention <code>pre-commit</code> instead of
<code>__main__.py</code>.
<ul dir="auto">
<li>#1273 issue by @ssbarnea.</li>
<li>#1276 PR by @orcutt989.</li>
</ul>
</li>
<li>Don't filter <code>GIT_SSL_NO_VERIFY</code> from environment when cloning.
<ul dir="auto">
<li>#1293 PR by @schiermike.</li>
</ul>
</li>
<li>Allow <code>pre-commit init-templatedir</code> to succeed even if <code>core.hooksPath</code> is
set.
<ul dir="auto">
<li>#1298 issue by @damienrj.</li>
<li>#1299 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Misc</h3><a id="user-content-misc-2" class="anchor" aria-label="Permalink: Misc" href="#misc-2"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix changelog date for 1.21.0.
<ul dir="auto">
<li>#1275 PR by @flaudisio.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Updating</h3><a id="user-content-updating" class="anchor" aria-label="Permalink: Updating" href="#updating"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Removed <code>pcre</code> language, use <code>pygrep</code> instead.
<ul dir="auto">
<li>#1268 PR by @asottile.</li>
</ul>
</li>
<li>Removed <code>--tags-only</code> argument to <code>pre-commit autoupdate</code> (it has done
nothing since 0.14.0).
<ul dir="auto">
<li>#1269 by @asottile.</li>
</ul>
</li>
<li>Remove python2 / python3.5 support.  Note that pre-commit still supports
running hooks written in python2, but pre-commit itself requires python 3.6+.
<ul dir="auto">
<li>#1260 issue by @asottile.</li>
<li>#1277 PR by @asottile.</li>
<li>#1281 PR by @asottile.</li>
<li>#1282 PR by @asottile.</li>
<li>#1287 PR by @asottile.</li>
<li>#1289 PR by @asottile.</li>
<li>#1292 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.21.0 - 2020-01-02</h1><a id="user-content-1210---2020-01-02" class="anchor" aria-label="Permalink: 1.21.0 - 2020-01-02" href="#1210---2020-01-02"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-10" class="anchor" aria-label="Permalink: Features" href="#features-10"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add <code>conda</code> as a new <code>language</code>.
<ul dir="auto">
<li>#1204 issue by @xhochy.</li>
<li>#1232 PR by @xhochy.</li>
</ul>
</li>
<li>Add top-level configuration <code>files</code> for file selection.
<ul dir="auto">
<li>#1220 issue by @TheButlah.</li>
<li>#1248 PR by @asottile.</li>
</ul>
</li>
<li>Rework <code>--verbose</code> / <code>verbose</code> to be more consistent with normal runs.
<ul dir="auto">
<li>#1249 PR by @asottile.</li>
</ul>
</li>
<li>Add support for the <code>pre-merge-commit</code> git hook.
<ul dir="auto">
<li>#1210 PR by @asottile.</li>
<li>this requires git 2.24+.</li>
</ul>
</li>
<li>Add <code>pre-commit autoupdate --freeze</code> which produces "frozen" revisions.
<ul dir="auto">
<li>#1068 issue by @SkypLabs.</li>
<li>#1256 PR by @asottile.</li>
</ul>
</li>
<li>Display hook runtime duration when run with <code>--verbose</code>.
<ul dir="auto">
<li>#1144 issue by @potiuk.</li>
<li>#1257 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-18" class="anchor" aria-label="Permalink: Fixes" href="#fixes-18"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Produce better error message when erroneously running inside of <code>.git</code>.
<ul dir="auto">
<li>#1219 issue by @Nusserdt.</li>
<li>#1224 PR by @asottile.</li>
<li>Note: <code>git</code> has since fixed this bug: git/git@36fd304d</li>
</ul>
</li>
<li>Produce better error message when hook installation fails.
<ul dir="auto">
<li>#1250 issue by @asottile.</li>
<li>#1251 PR by @asottile.</li>
</ul>
</li>
<li>Fix cloning when <code>GIT_SSL_CAINFO</code> is necessary.
<ul dir="auto">
<li>#1253 issue by @igankevich.</li>
<li>#1254 PR by @igankevich.</li>
</ul>
</li>
<li>Fix <code>pre-commit try-repo</code> for bare, on-disk repositories.
<ul dir="auto">
<li>#1258 issue by @webknjaz.</li>
<li>#1259 PR by @asottile.</li>
</ul>
</li>
<li>Add some whitespace to <code>pre-commit autoupdate</code> to improve terminal autolink.
<ul dir="auto">
<li>#1261 issue by @yhoiseth.</li>
<li>#1262 PR by @yhoiseth.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Misc.</h3><a id="user-content-misc-3" class="anchor" aria-label="Permalink: Misc." href="#misc-3"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Minor code documentation updates.
<ul dir="auto">
<li>#1200 PR by @ryanrhee.</li>
<li>#1201 PR by @ryanrhee.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.20.0 - 2019-10-28</h1><a id="user-content-1200---2019-10-28" class="anchor" aria-label="Permalink: 1.20.0 - 2019-10-28" href="#1200---2019-10-28"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-11" class="anchor" aria-label="Permalink: Features" href="#features-11"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Allow building newer versions of <code>ruby</code>.
<ul dir="auto">
<li>#1193 issue by @choffee.</li>
<li>#1195 PR by @choffee.</li>
</ul>
</li>
<li>Bump versions reported in <code>pre-commit sample-config</code>.
<ul dir="auto">
<li>#1197 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-19" class="anchor" aria-label="Permalink: Fixes" href="#fixes-19"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix rare race condition with multiple concurrent first-time runs.
<ul dir="auto">
<li>#1192 issue by @raholler.</li>
<li>#1196 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.19.0 - 2019-10-26</h1><a id="user-content-1190---2019-10-26" class="anchor" aria-label="Permalink: 1.19.0 - 2019-10-26" href="#1190---2019-10-26"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-12" class="anchor" aria-label="Permalink: Features" href="#features-12"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Allow <code>--hook-type</code> to be specified multiple times.
<ul dir="auto">
<li>example: <code>pre-commit install --hook-type pre-commit --hook-type pre-push</code></li>
<li>#1139 issue by @MaxymVlasov.</li>
<li>#1145 PR by @asottile.</li>
</ul>
</li>
<li>Include more version information in crash logs.
<ul dir="auto">
<li>#1142 by @marqueewinq.</li>
</ul>
</li>
<li>Hook colors are now passed through on platforms which support <code>pty</code>.
<ul dir="auto">
<li>#1169 by @asottile.</li>
</ul>
</li>
<li>pre-commit now  uses <code>importlib.metadata</code> directly when running in python 3.8
<ul dir="auto">
<li>#1176 by @asottile.</li>
</ul>
</li>
<li>Normalize paths to forward slash separators on windows.
<ul dir="auto">
<li>makes it easier to match paths with <code>files:</code> regex</li>
<li>avoids some quoting bugs in shell-based hooks</li>
<li>#1173 issue by @steigenTI.</li>
<li>#1179 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-20" class="anchor" aria-label="Permalink: Fixes" href="#fixes-20"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Remove some extra newlines from error messages.
<ul dir="auto">
<li>#1148 by @asottile.</li>
</ul>
</li>
<li>When a hook is not executable it now reports <code>not executable</code> instead of
<code>not found</code>.
<ul dir="auto">
<li>#1159 issue by @nixjdm.</li>
<li>#1161 PR by @WillKoehrsen.</li>
</ul>
</li>
<li>Fix interleaving of stdout / stderr in hooks.
<ul dir="auto">
<li>#1168 by @asottile.</li>
</ul>
</li>
<li>Fix python environment <code>healthy()</code> check when current working directory
contains modules which shadow standard library names.
<ul dir="auto">
<li>issue by @vwhsu92.</li>
<li>#1185 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Updating</h3><a id="user-content-updating-1" class="anchor" aria-label="Permalink: Updating" href="#updating-1"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Regexes handling both backslashes and forward slashes for directory
separators now only need to handle forward slashes.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.18.3 - 2019-08-27</h1><a id="user-content-1183---2019-08-27" class="anchor" aria-label="Permalink: 1.18.3 - 2019-08-27" href="#1183---2019-08-27"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-21" class="anchor" aria-label="Permalink: Fixes" href="#fixes-21"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix <code>node_modules</code> plugin installation on windows
<ul dir="auto">
<li>#1123 issue by @henryykt.</li>
<li>#1122 PR by @henryykt.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.18.2 - 2019-08-15</h1><a id="user-content-1182---2019-08-15" class="anchor" aria-label="Permalink: 1.18.2 - 2019-08-15" href="#1182---2019-08-15"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-22" class="anchor" aria-label="Permalink: Fixes" href="#fixes-22"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Make default python lookup more deterministic to avoid redundant installs
<ul dir="auto">
<li>#1117 PR by @scop.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.18.1 - 2019-08-11</h1><a id="user-content-1181---2019-08-11" class="anchor" aria-label="Permalink: 1.18.1 - 2019-08-11" href="#1181---2019-08-11"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-23" class="anchor" aria-label="Permalink: Fixes" href="#fixes-23"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix installation of <code>rust</code> hooks with new <code>cargo</code>
<ul dir="auto">
<li>#1112 issue by @zimbatm.</li>
<li>#1113 PR by @zimbatm.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.18.0 - 2019-08-03</h1><a id="user-content-1180---2019-08-03" class="anchor" aria-label="Permalink: 1.18.0 - 2019-08-03" href="#1180---2019-08-03"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-13" class="anchor" aria-label="Permalink: Features" href="#features-13"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Use the current running executable if it matches the requested
<code>language_version</code>
<ul dir="auto">
<li>#1062 PR by @asottile.</li>
</ul>
</li>
<li>Print the stage when a hook is not found
<ul dir="auto">
<li>#1078 issue by @madkinsz.</li>
<li>#1079 PR by @madkinsz.</li>
</ul>
</li>
<li><code>pre-commit autoupdate</code> now supports non-<code>master</code> default branches
<ul dir="auto">
<li>#1089 PR by @asottile.</li>
</ul>
</li>
<li>Add <code>pre-commit init-templatedir</code> which makes it easier to automatically
enable <code>pre-commit</code> in cloned repositories.
<ul dir="auto">
<li>#1084 issue by @ssbarnea.</li>
<li>#1090 PR by @asottile.</li>
<li>#1107 PR by @asottile.</li>
</ul>
</li>
<li>pre-commit's color can be controlled using
<code>PRE_COMMIT_COLOR={auto,always,never}</code>
<ul dir="auto">
<li>#1073 issue by @saper.</li>
<li>#1092 PR by @geieredgar.</li>
<li>#1098 PR by @geieredgar.</li>
</ul>
</li>
<li>pre-commit's color can now be disabled using <code>TERM=dumb</code>
<ul dir="auto">
<li>#1073 issue by @saper.</li>
<li>#1103 PR by @asottile.</li>
</ul>
</li>
<li>pre-commit now supports <code>docker</code> based hooks on windows
<ul dir="auto">
<li>#1072 by @cz-fish.</li>
<li>#1093 PR by @geieredgar.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-24" class="anchor" aria-label="Permalink: Fixes" href="#fixes-24"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix shallow clone
<ul dir="auto">
<li>#1077 PR by @asottile.</li>
</ul>
</li>
<li>Fix autoupdate version flip flop when using shallow cloning
<ul dir="auto">
<li>#1076 issue by @mxr.</li>
<li>#1088 PR by @asottile.</li>
</ul>
</li>
<li>Fix autoupdate when the current revision is invalid
<ul dir="auto">
<li>#1088 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Misc.</h3><a id="user-content-misc-4" class="anchor" aria-label="Permalink: Misc." href="#misc-4"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Replace development instructions with <code>tox --devenv ...</code>
<ul dir="auto">
<li>#1032 issue by @yoavcaspi.</li>
<li>#1067 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.17.0 - 2019-06-06</h1><a id="user-content-1170---2019-06-06" class="anchor" aria-label="Permalink: 1.17.0 - 2019-06-06" href="#1170---2019-06-06"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-14" class="anchor" aria-label="Permalink: Features" href="#features-14"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Produce better output on <code>^C</code>
<ul dir="auto">
<li>#1030 PR by @asottile.</li>
</ul>
</li>
<li>Warn on unknown keys at the top level and repo level
<ul dir="auto">
<li>#1028 PR by @yoavcaspi.</li>
<li>#1048 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-25" class="anchor" aria-label="Permalink: Fixes" href="#fixes-25"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix handling of <code>^C</code> in wrapper script in python 3.x
<ul dir="auto">
<li>#1027 PR by @asottile.</li>
</ul>
</li>
<li>Fix <code>rmtree</code> for non-writable directories
<ul dir="auto">
<li>#1042 issue by @detailyang.</li>
<li>#1043 PR by @asottile.</li>
</ul>
</li>
<li>Pass <code>--color</code> option to <code>git diff</code> in <code>--show-diff-on-failure</code>
<ul dir="auto">
<li>#1007 issue by @chadrik.</li>
<li>#1051 PR by @mandarvaze.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Misc.</h3><a id="user-content-misc-5" class="anchor" aria-label="Permalink: Misc." href="#misc-5"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix test when <code>pre-commit</code> is installed globally
<ul dir="auto">
<li>#1032 issue by @yoavcaspi.</li>
<li>#1045 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.16.1 - 2019-05-08</h1><a id="user-content-1161---2019-05-08" class="anchor" aria-label="Permalink: 1.16.1 - 2019-05-08" href="#1161---2019-05-08"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-26" class="anchor" aria-label="Permalink: Fixes" href="#fixes-26"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Don't <code>UnicodeDecodeError</code> on unexpected non-UTF8 output in python health
check on windows.
<ul dir="auto">
<li>#1021 issue by @nicoddemus.</li>
<li>#1022 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.16.0 - 2019-05-04</h1><a id="user-content-1160---2019-05-04" class="anchor" aria-label="Permalink: 1.16.0 - 2019-05-04" href="#1160---2019-05-04"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-15" class="anchor" aria-label="Permalink: Features" href="#features-15"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add support for <code>prepare-commit-msg</code> hook
<ul dir="auto">
<li>#1004 PR by @marcjay.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-27" class="anchor" aria-label="Permalink: Fixes" href="#fixes-27"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix repeated legacy <code>pre-commit install</code> on windows
<ul dir="auto">
<li>#1010 issue by @AbhimanyuHK.</li>
<li>#1011 PR by @asottile.</li>
</ul>
</li>
<li>Whitespace fixup
<ul dir="auto">
<li>#1014 PR by @mxr.</li>
</ul>
</li>
<li>Fix CI check for working pcre support
<ul dir="auto">
<li>#1015 PR by @Myrheimb.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Misc.</h3><a id="user-content-misc-6" class="anchor" aria-label="Permalink: Misc." href="#misc-6"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Switch CI from travis / appveyor to azure pipelines
<ul dir="auto">
<li>#1012 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.15.2 - 2019-04-16</h1><a id="user-content-1152---2019-04-16" class="anchor" aria-label="Permalink: 1.15.2 - 2019-04-16" href="#1152---2019-04-16"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-28" class="anchor" aria-label="Permalink: Fixes" href="#fixes-28"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix cloning non-branch tag while in the fallback slow-clone strategy.
<ul dir="auto">
<li>#997 issue by @jpinner.</li>
<li>#998 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.15.1 - 2019-04-01</h1><a id="user-content-1151---2019-04-01" class="anchor" aria-label="Permalink: 1.15.1 - 2019-04-01" href="#1151---2019-04-01"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-29" class="anchor" aria-label="Permalink: Fixes" href="#fixes-29"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix command length calculation on posix when <code>SC_ARG_MAX</code> is not defined.
<ul dir="auto">
<li>#691 issue by @ushuz.</li>
<li>#987 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.15.0 - 2019-03-30</h1><a id="user-content-1150---2019-03-30" class="anchor" aria-label="Permalink: 1.15.0 - 2019-03-30" href="#1150---2019-03-30"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-16" class="anchor" aria-label="Permalink: Features" href="#features-16"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>No longer require being in a <code>git</code> repo to run <code>pre-commit</code> <code>clean</code> / <code>gc</code> /
<code>sample-config</code>.
<ul dir="auto">
<li>#959 PR by @asottile.</li>
</ul>
</li>
<li>Improve command line length limit detection.
<ul dir="auto">
<li>#691 issue by @antonbabenko.</li>
<li>#966 PR by @asottile.</li>
</ul>
</li>
<li>Use shallow cloning when possible.
<ul dir="auto">
<li>#958 PR by @DanielChabrowski.</li>
</ul>
</li>
<li>Add <code>minimum_pre_commit_version</code> top level key to require a new-enough
version of <code>pre-commit</code>.
<ul dir="auto">
<li>#977 PR by @asottile.</li>
</ul>
</li>
<li>Add helpful CI-friendly message when running
<code>pre-commit run --all-files --show-diff-on-failure</code>.
<ul dir="auto">
<li>#982 PR by @bnorquist.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-30" class="anchor" aria-label="Permalink: Fixes" href="#fixes-30"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix <code>try-repo</code> for staged untracked changes.
<ul dir="auto">
<li>#973 PR by @DanielChabrowski.</li>
</ul>
</li>
<li>Fix rpm build by explicitly using <code>#!/usr/bin/env python3</code> in hook template.
<ul dir="auto">
<li>#985 issue by @tim77.</li>
<li>#986 PR by @tim77.</li>
</ul>
</li>
<li>Guard against infinite recursion when executing legacy hook script.
<ul dir="auto">
<li>#981 PR by @tristan0x.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Misc</h3><a id="user-content-misc-7" class="anchor" aria-label="Permalink: Misc" href="#misc-7"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add test for <code>git.no_git_env()</code>
<ul dir="auto">
<li>#972 PR by @javabrett.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.14.4 - 2019-02-18</h1><a id="user-content-1144---2019-02-18" class="anchor" aria-label="Permalink: 1.14.4 - 2019-02-18" href="#1144---2019-02-18"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-31" class="anchor" aria-label="Permalink: Fixes" href="#fixes-31"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Don't filter <code>GIT_SSH_COMMAND</code> env variable from <code>git</code> commands
<ul dir="auto">
<li>#947 issue by @firba1.</li>
<li>#948 PR by @firba1.</li>
</ul>
</li>
<li>Install npm packages as if they were installed from <code>git</code>
<ul dir="auto">
<li>#943 issue by @ssbarnea.</li>
<li>#949 PR by @asottile.</li>
</ul>
</li>
<li>Don't filter <code>GIT_EXEC_PREFIX</code> env variable from <code>git</code> commands
<ul dir="auto">
<li>#664 issue by @revolter.</li>
<li>#944 PR by @minrk.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.14.3 - 2019-02-04</h1><a id="user-content-1143---2019-02-04" class="anchor" aria-label="Permalink: 1.14.3 - 2019-02-04" href="#1143---2019-02-04"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-32" class="anchor" aria-label="Permalink: Fixes" href="#fixes-32"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Improve performance of filename classification by 45% - 55%.
<ul dir="auto">
<li>#921 PR by @asottile.</li>
</ul>
</li>
<li>Fix installing <code>go</code> hooks while <code>GOBIN</code> environment variable is set.
<ul dir="auto">
<li>#924 PR by @ashanbrown.</li>
</ul>
</li>
<li>Fix crash while running <code>pre-commit migrate-config</code> / <code>pre-commit autoupdate</code>
with an empty configuration file.
<ul dir="auto">
<li>#929 issue by @ardakuyumcu.</li>
<li>#933 PR by @jessebona.</li>
</ul>
</li>
<li>Require a newer virtualenv to fix metadata-based setup.cfg installs.
<ul dir="auto">
<li>#936 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.14.2 - 2019-01-10</h1><a id="user-content-1142---2019-01-10" class="anchor" aria-label="Permalink: 1.14.2 - 2019-01-10" href="#1142---2019-01-10"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-33" class="anchor" aria-label="Permalink: Fixes" href="#fixes-33"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Make the hook shebang detection more timid (1.14.0 regression)
<ul dir="auto">
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="397219861" data-permission-text="Title is private" data-url="https://github.com/Homebrew/homebrew-core/issues/35825" data-hovercard-type="pull_request" data-hovercard-url="/Homebrew/homebrew-core/pull/35825/hovercard" href="https://github.com/Homebrew/homebrew-core/pull/35825">Homebrew/homebrew-core#35825</a>.</li>
<li>#915 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.14.1 - 2019-01-10</h1><a id="user-content-1141---2019-01-10" class="anchor" aria-label="Permalink: 1.14.1 - 2019-01-10" href="#1141---2019-01-10"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-34" class="anchor" aria-label="Permalink: Fixes" href="#fixes-34"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix python executable lookup on windows when using conda
<ul dir="auto">
<li>#913 issue by @dawelter2.</li>
<li>#914 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.14.0 - 2019-01-08</h1><a id="user-content-1140---2019-01-08" class="anchor" aria-label="Permalink: 1.14.0 - 2019-01-08" href="#1140---2019-01-08"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-17" class="anchor" aria-label="Permalink: Features" href="#features-17"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add an <code>alias</code> configuration value to allow repeated hooks to be
differentiated
<ul dir="auto">
<li>#882 issue by @s0undt3ch.</li>
<li>#886 PR by @s0undt3ch.</li>
</ul>
</li>
<li>Add <code>identity</code> meta hook which just prints filenames
<ul dir="auto">
<li>#865 issue by @asottile.</li>
<li>#898 PR by @asottile.</li>
</ul>
</li>
<li>Factor out <code>cached-property</code> and improve startup performance by ~10%
<ul dir="auto">
<li>#899 PR by @asottile.</li>
</ul>
</li>
<li>Add a warning on unexpected keys in configuration
<ul dir="auto">
<li>#899 PR by @asottile.</li>
</ul>
</li>
<li>Teach <code>pre-commit try-repo</code> to clone uncommitted changes on disk.
<ul dir="auto">
<li>#589 issue by @sverhagen.</li>
<li>#703 issue by @asottile.</li>
<li>#904 PR by @asottile.</li>
</ul>
</li>
<li>Implement <code>pre-commit gc</code> which will clean up no-longer-referenced cache
repos.
<ul dir="auto">
<li>#283 issue by @jtwang.</li>
<li>#906 PR by @asottile.</li>
</ul>
</li>
<li>Add top level config <code>default_language_version</code> to streamline overriding the
<code>language_version</code> configuration in many places
<ul dir="auto">
<li>#647 issue by @asottile.</li>
<li>#908 PR by @asottile.</li>
</ul>
</li>
<li>Add top level config <code>default_stages</code> to streamline overriding the <code>stages</code>
configuration in many places
<ul dir="auto">
<li>#768 issue by @mattlqx.</li>
<li>#909 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-35" class="anchor" aria-label="Permalink: Fixes" href="#fixes-35"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>More intelligently pick hook shebang (<code>#!/usr/bin/env python3</code>)
<ul dir="auto">
<li>#878 issue by @fristedt.</li>
<li>#893 PR by @asottile.</li>
</ul>
</li>
<li>Several fixes related to <code>--files</code> / <code>--config</code>:
<ul dir="auto">
<li><code>pre-commit run --files x</code> outside of a git dir no longer stacktraces</li>
<li><code>pre-commit run --config ./relative</code> while in a sub directory of the git
repo is now able to find the configuration</li>
<li><code>pre-commit run --files ...</code> no longer runs a subprocess per file
(performance)</li>
<li>#895 PR by @asottile.</li>
</ul>
</li>
<li><code>pre-commit try-repo ./relative</code> while in a sub directory of the git repo is
now able to clone properly
<ul dir="auto">
<li>#903 PR by @asottile.</li>
</ul>
</li>
<li>Ensure <code>meta</code> repos cannot have a language other than <code>system</code>
<ul dir="auto">
<li>#905 issue by @asottile.</li>
<li>#907 PR by @asottile.</li>
</ul>
</li>
<li>Fix committing with unstaged files that were <code>git add --intent-to-add</code> added
<ul dir="auto">
<li>#881 issue by @henniss.</li>
<li>#912 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Misc.</h3><a id="user-content-misc-8" class="anchor" aria-label="Permalink: Misc." href="#misc-8"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Use <code>--no-gpg-sign</code> when running tests
<ul dir="auto">
<li>#894 PR by @s0undt3ch.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.13.0 - 2018-12-20</h1><a id="user-content-1130---2018-12-20" class="anchor" aria-label="Permalink: 1.13.0 - 2018-12-20" href="#1130---2018-12-20"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-18" class="anchor" aria-label="Permalink: Features" href="#features-18"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Run hooks in parallel
<ul dir="auto">
<li>individual hooks may opt out of parallel execution with <code>require_serial: true</code></li>
<li>#510 issue by @chriskuehl.</li>
<li>#851 PR by @chriskuehl.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-36" class="anchor" aria-label="Permalink: Fixes" href="#fixes-36"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Improve platform-specific <code>xargs</code> command length detection
<ul dir="auto">
<li>#691 issue by @antonbabenko.</li>
<li>#839 PR by @georgeyk.</li>
</ul>
</li>
<li>Fix <code>pre-commit autoupdate</code> when updating to a latest tag missing a
<code>.pre-commit-hooks.yaml</code>
<ul dir="auto">
<li>#856 issue by @asottile.</li>
<li>#857 PR by @runz0rd.</li>
</ul>
</li>
<li>Upgrade the <code>pre-commit-hooks</code> version in <code>pre-commit sample-config</code>
<ul dir="auto">
<li>#870 by @asottile.</li>
</ul>
</li>
<li>Improve balancing of multiprocessing by deterministic shuffling of args
<ul dir="auto">
<li>#861 issue by @Dunedan.</li>
<li>#874 PR by @chriskuehl.</li>
</ul>
</li>
<li><code>ruby</code> hooks work with latest <code>gem</code> by removing <code>--no-ri</code> / <code>--no-rdoc</code> and
instead using <code>--no-document</code>.
<ul dir="auto">
<li>#889 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Misc.</h3><a id="user-content-misc-9" class="anchor" aria-label="Permalink: Misc." href="#misc-9"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Use <code>--no-gpg-sign</code> when running tests
<ul dir="auto">
<li>#885 PR by @s0undt3ch.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Updating</h3><a id="user-content-updating-2" class="anchor" aria-label="Permalink: Updating" href="#updating-2"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>If a hook requires serial execution, set <code>require_serial: true</code> to avoid the new
parallel execution.</li>
<li><code>ruby</code> hooks now require <code>gem&gt;=2.0.0</code>.  If your platform doesn't support this
by default, select a newer version using
<a href="https://pre-commit.com/#overriding-language-version" rel="nofollow"><code>language_version</code></a>.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.12.0 - 2018-10-23</h1><a id="user-content-1120---2018-10-23" class="anchor" aria-label="Permalink: 1.12.0 - 2018-10-23" href="#1120---2018-10-23"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-37" class="anchor" aria-label="Permalink: Fixes" href="#fixes-37"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Install multi-hook repositories only once (performance)
<ul dir="auto">
<li>issue by @chriskuehl.</li>
<li>#852 PR by @asottile.</li>
</ul>
</li>
<li>Improve performance by factoring out pkg_resources (performance)
<ul dir="auto">
<li>#840 issue by @RonnyPfannschmidt.</li>
<li>#846 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.11.2 - 2018-10-10</h1><a id="user-content-1112---2018-10-10" class="anchor" aria-label="Permalink: 1.11.2 - 2018-10-10" href="#1112---2018-10-10"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-38" class="anchor" aria-label="Permalink: Fixes" href="#fixes-38"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li><code>check-useless-exclude</code> now considers <code>types</code>
<ul dir="auto">
<li>#704 issue by @asottile.</li>
<li>#837 PR by @georgeyk.</li>
</ul>
</li>
<li><code>pre-push</code> hook was not identifying all commits on push to new branch
<ul dir="auto">
<li>#843 issue by @prem-nuro.</li>
<li>#844 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.11.1 - 2018-09-22</h1><a id="user-content-1111---2018-09-22" class="anchor" aria-label="Permalink: 1.11.1 - 2018-09-22" href="#1111---2018-09-22"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-39" class="anchor" aria-label="Permalink: Fixes" href="#fixes-39"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix <code>.git</code> dir detection in <code>git&lt;2.5</code> (regression introduced in
<a href="#1105">1.10.5</a>)
<ul dir="auto">
<li>#831 issue by @mmacpherson.</li>
<li>#832 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.11.0 - 2018-09-02</h1><a id="user-content-1110---2018-09-02" class="anchor" aria-label="Permalink: 1.11.0 - 2018-09-02" href="#1110---2018-09-02"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-19" class="anchor" aria-label="Permalink: Features" href="#features-19"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add new <code>fail</code> language which always fails
<ul dir="auto">
<li>light-weight way to forbid files by name.</li>
<li>#812 #821 PRs by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-40" class="anchor" aria-label="Permalink: Fixes" href="#fixes-40"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix <code>ResourceWarning</code>s for unclosed files
<ul dir="auto">
<li>#811 PR by @BoboTiG.</li>
</ul>
</li>
<li>Don't write ANSI colors on windows when color enabling fails
<ul dir="auto">
<li>#819 PR by @jeffreyrack.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.10.5 - 2018-08-06</h1><a id="user-content-1105---2018-08-06" class="anchor" aria-label="Permalink: 1.10.5 - 2018-08-06" href="#1105---2018-08-06"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-41" class="anchor" aria-label="Permalink: Fixes" href="#fixes-41"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Work around <code>PATH</code> issue with <code>brew</code> <code>python</code> on <code>macos</code>
<ul dir="auto">
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="344230703" data-permission-text="Title is private" data-url="https://github.com/Homebrew/homebrew-core/issues/30445" data-hovercard-type="issue" data-hovercard-url="/Homebrew/homebrew-core/issues/30445/hovercard" href="https://github.com/Homebrew/homebrew-core/issues/30445">Homebrew/homebrew-core#30445</a> issue by @asottile.</li>
<li>#805 PR by @asottile.</li>
</ul>
</li>
<li>Support <code>pre-commit install</code> inside a worktree
<ul dir="auto">
<li>#808 issue by @s0undt3ch.</li>
<li>#809 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.10.4 - 2018-07-22</h1><a id="user-content-1104---2018-07-22" class="anchor" aria-label="Permalink: 1.10.4 - 2018-07-22" href="#1104---2018-07-22"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-42" class="anchor" aria-label="Permalink: Fixes" href="#fixes-42"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Replace <code>yaml.load</code> with safe alternative
<ul dir="auto">
<li><code>yaml.load</code> can lead to arbitrary code execution, though not where it
was used</li>
<li>issue by @tonybaloney.</li>
<li>#779 PR by @asottile.</li>
</ul>
</li>
<li>Improve not found error with script paths (<code>./exe</code>)
<ul dir="auto">
<li>#782 issue by @ssbarnea.</li>
<li>#785 PR by @asottile.</li>
</ul>
</li>
<li>Fix minor buffering issue during <code>--show-diff-on-failure</code>
<ul dir="auto">
<li>#796 PR by @asottile.</li>
</ul>
</li>
<li>Default <code>language_version: python3</code> for <code>python_venv</code> when running in python2
<ul dir="auto">
<li>#794 issue by @ssbarnea.</li>
<li>#797 PR by @asottile.</li>
</ul>
</li>
<li><code>pre-commit run X</code> only run <code>X</code> and not hooks with <code>stages: [...]</code>
<ul dir="auto">
<li>#772 issue by @asottile.</li>
<li>#803 PR by @mblayman.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Misc.</h3><a id="user-content-misc-10" class="anchor" aria-label="Permalink: Misc." href="#misc-10"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Improve travis-ci build times by caching rust / swift artifacts
<ul dir="auto">
<li>#781 PR by @expobrain.</li>
</ul>
</li>
<li>Test against python3.7
<ul dir="auto">
<li>#789 PR by @expobrain.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.10.3 - 2018-07-02</h1><a id="user-content-1103---2018-07-02" class="anchor" aria-label="Permalink: 1.10.3 - 2018-07-02" href="#1103---2018-07-02"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-43" class="anchor" aria-label="Permalink: Fixes" href="#fixes-43"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix <code>pre-push</code> during a force push without a fetch
<ul dir="auto">
<li>#777 issue by @domenkozar.</li>
<li>#778 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.10.2 - 2018-06-11</h1><a id="user-content-1102---2018-06-11" class="anchor" aria-label="Permalink: 1.10.2 - 2018-06-11" href="#1102---2018-06-11"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-44" class="anchor" aria-label="Permalink: Fixes" href="#fixes-44"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>pre-commit now invokes hooks with a consistent ordering of filenames
<ul dir="auto">
<li>issue by @mxr.</li>
<li>#767 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.10.1 - 2018-05-28</h1><a id="user-content-1101---2018-05-28" class="anchor" aria-label="Permalink: 1.10.1 - 2018-05-28" href="#1101---2018-05-28"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-45" class="anchor" aria-label="Permalink: Fixes" href="#fixes-45"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li><code>python_venv</code> language would leak dependencies when pre-commit was installed
in a <code>-mvirtualenv</code> virtualenv
<ul dir="auto">
<li>#755 #756 issue and PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.10.0 - 2018-05-26</h1><a id="user-content-1100---2018-05-26" class="anchor" aria-label="Permalink: 1.10.0 - 2018-05-26" href="#1100---2018-05-26"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-20" class="anchor" aria-label="Permalink: Features" href="#features-20"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add support for hooks written in <code>rust</code>
<ul dir="auto">
<li>#751 PR by @chriskuehl.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.9.0 - 2018-05-21</h1><a id="user-content-190---2018-05-21" class="anchor" aria-label="Permalink: 1.9.0 - 2018-05-21" href="#190---2018-05-21"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-21" class="anchor" aria-label="Permalink: Features" href="#features-21"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add new <code>python_venv</code> language which uses the <code>venv</code> module instead of
<code>virtualenv</code>
<ul dir="auto">
<li>#631 issue by @dongyuzheng.</li>
<li>#739 PR by @ojii.</li>
</ul>
</li>
<li>Include <code>LICENSE</code> in distribution
<ul dir="auto">
<li>#745 issue by @nicoddemus.</li>
<li>#746 PR by @nicoddemus.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-46" class="anchor" aria-label="Permalink: Fixes" href="#fixes-46"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Normalize relative paths for <code>pre-commit try-repo</code>
<ul dir="auto">
<li>#750 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.8.2 - 2018-03-17</h1><a id="user-content-182---2018-03-17" class="anchor" aria-label="Permalink: 1.8.2 - 2018-03-17" href="#182---2018-03-17"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-47" class="anchor" aria-label="Permalink: Fixes" href="#fixes-47"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix cloning relative paths (regression in 1.7.0)
<ul dir="auto">
<li>#728 issue by @jdswensen.</li>
<li>#729 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.8.1 - 2018-03-12</h1><a id="user-content-181---2018-03-12" class="anchor" aria-label="Permalink: 1.8.1 - 2018-03-12" href="#181---2018-03-12"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-48" class="anchor" aria-label="Permalink: Fixes" href="#fixes-48"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix integration with go 1.10 and <code>pkg</code> directory
<ul dir="auto">
<li>#725 PR by @asottile</li>
</ul>
</li>
<li>Restore support for <code>git&lt;1.8.5</code> (inadvertently removed in 1.7.0)
<ul dir="auto">
<li>#723 issue by @JohnLyman.</li>
<li>#724 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.8.0 - 2018-03-11</h1><a id="user-content-180---2018-03-11" class="anchor" aria-label="Permalink: 1.8.0 - 2018-03-11" href="#180---2018-03-11"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-22" class="anchor" aria-label="Permalink: Features" href="#features-22"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add a <code>manual</code> stage for cli-only interaction
<ul dir="auto">
<li>#719 issue by @hectorv.</li>
<li>#720 PR by @asottile.</li>
</ul>
</li>
<li>Add a <code>--multiline</code> option to <code>pygrep</code> hooks
<ul dir="auto">
<li>#716 PR by @tdeo.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.7.0 - 2018-03-03</h1><a id="user-content-170---2018-03-03" class="anchor" aria-label="Permalink: 1.7.0 - 2018-03-03" href="#170---2018-03-03"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-23" class="anchor" aria-label="Permalink: Features" href="#features-23"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>pre-commit config validation was split to a separate <code>cfgv</code> library
<ul dir="auto">
<li>#700 PR by @asottile.</li>
</ul>
</li>
<li>Allow <code>--repo</code> to be specified multiple times to autoupdate
<ul dir="auto">
<li>#658 issue by @KevinHock.</li>
<li>#713 PR by @asottile.</li>
</ul>
</li>
<li>Enable <code>rev</code> as a preferred alternative to <code>sha</code> in <code>.pre-commit-config.yaml</code>
<ul dir="auto">
<li>#106 issue by @asottile.</li>
<li>#715 PR by @asottile.</li>
</ul>
</li>
<li>Use <code>--clean-src</code> option when invoking <code>nodeenv</code> to save ~70MB per node env
<ul dir="auto">
<li>#717 PR by @asottile.</li>
</ul>
</li>
<li>Refuse to install with <code>core.hooksPath</code> set
<ul dir="auto">
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="276864219" data-permission-text="Title is private" data-url="https://github.com/pre-commit/pre-commit-hooks/issues/250" data-hovercard-type="issue" data-hovercard-url="/pre-commit/pre-commit-hooks/issues/250/hovercard" href="https://github.com/pre-commit/pre-commit-hooks/issues/250">pre-commit/pre-commit-hooks#250</a> issue by @revolter.</li>
<li>#663 issue by @asottile.</li>
<li>#718 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-49" class="anchor" aria-label="Permalink: Fixes" href="#fixes-49"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>hooks with <code>additional_dependencies</code> now get isolated environments
<ul dir="auto">
<li>#590 issue by @coldnight.</li>
<li>#711 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Misc.</h3><a id="user-content-misc-11" class="anchor" aria-label="Permalink: Misc." href="#misc-11"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>test against swift 4.x
<ul dir="auto">
<li>#709 by @theresama.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Updating</h3><a id="user-content-updating-3" class="anchor" aria-label="Permalink: Updating" href="#updating-3"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Run <code>pre-commit migrate-config</code> to convert <code>sha</code> to <code>rev</code> in the
<code>.pre-commit-config.yaml</code> file.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.6.0 - 2018-02-04</h1><a id="user-content-160---2018-02-04" class="anchor" aria-label="Permalink: 1.6.0 - 2018-02-04" href="#160---2018-02-04"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-24" class="anchor" aria-label="Permalink: Features" href="#features-24"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Hooks now may have a <code>verbose</code> option to produce output even without failure
<ul dir="auto">
<li>#689 issue by @bagerard.</li>
<li>#695 PR by @bagerard.</li>
</ul>
</li>
<li>Installed hook no longer requires <code>bash</code>
<ul dir="auto">
<li>#699 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-50" class="anchor" aria-label="Permalink: Fixes" href="#fixes-50"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>legacy pre-push / commit-msg hooks are now invoked as if <code>git</code> called them
<ul dir="auto">
<li>#693 issue by @samskiter.</li>
<li>#694 PR by @asottile.</li>
<li>#699 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.5.1 - 2018-01-24</h1><a id="user-content-151---2018-01-24" class="anchor" aria-label="Permalink: 1.5.1 - 2018-01-24" href="#151---2018-01-24"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-51" class="anchor" aria-label="Permalink: Fixes" href="#fixes-51"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>proper detection for root commit during pre-push
<ul dir="auto">
<li>#503 PR by @philipgian.</li>
<li>#692 PR by @samskiter.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.5.0 - 2018-01-13</h1><a id="user-content-150---2018-01-13" class="anchor" aria-label="Permalink: 1.5.0 - 2018-01-13" href="#150---2018-01-13"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-25" class="anchor" aria-label="Permalink: Features" href="#features-25"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>pre-commit now supports node hooks on windows.
<ul dir="auto">
<li>for now, requires python3 due to <a href="https://bugs.python.org/issue32539" rel="nofollow">https://bugs.python.org/issue32539</a></li>
<li>huge thanks to @wenzowski for the tip!</li>
<li>#200 issue by @asottile.</li>
<li>#685 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Misc.</h3><a id="user-content-misc-12" class="anchor" aria-label="Permalink: Misc." href="#misc-12"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>internal reorganization of <code>PrefixedCommandRunner</code> -&gt; <code>Prefix</code>
<ul dir="auto">
<li>#684 PR by @asottile.</li>
</ul>
</li>
<li>https-ify links.
<ul dir="auto">
<li>pre-commit.com is now served over https.</li>
<li>#688 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.4.5 - 2018-01-09</h1><a id="user-content-145---2018-01-09" class="anchor" aria-label="Permalink: 1.4.5 - 2018-01-09" href="#145---2018-01-09"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-52" class="anchor" aria-label="Permalink: Fixes" href="#fixes-52"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix <code>local</code> golang repositories with <code>additional_dependencies</code>.
<ul dir="auto">
<li>#679 #680 issue and PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Misc.</h3><a id="user-content-misc-13" class="anchor" aria-label="Permalink: Misc." href="#misc-13"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Replace some string literals with constants
<ul dir="auto">
<li>#678 PR by @revolter.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.4.4 - 2018-01-07</h1><a id="user-content-144---2018-01-07" class="anchor" aria-label="Permalink: 1.4.4 - 2018-01-07" href="#144---2018-01-07"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-53" class="anchor" aria-label="Permalink: Fixes" href="#fixes-53"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Invoke <code>git diff</code> without a pager during <code>--show-diff-on-failure</code>.
<ul dir="auto">
<li>#676 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.4.3 - 2018-01-02</h1><a id="user-content-143---2018-01-02" class="anchor" aria-label="Permalink: 1.4.3 - 2018-01-02" href="#143---2018-01-02"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-54" class="anchor" aria-label="Permalink: Fixes" href="#fixes-54"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li><code>pre-commit</code> on windows can find pythons at non-hardcoded paths.
<ul dir="auto">
<li>#674 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.4.2 - 2018-01-02</h1><a id="user-content-142---2018-01-02" class="anchor" aria-label="Permalink: 1.4.2 - 2018-01-02" href="#142---2018-01-02"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-55" class="anchor" aria-label="Permalink: Fixes" href="#fixes-55"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li><code>pre-commit</code> no longer clears <code>GIT_SSH</code> environment variable when cloning.
<ul dir="auto">
<li>#671 PR by @rp-tanium.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.4.1 - 2017-11-09</h1><a id="user-content-141---2017-11-09" class="anchor" aria-label="Permalink: 1.4.1 - 2017-11-09" href="#141---2017-11-09"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-56" class="anchor" aria-label="Permalink: Fixes" href="#fixes-56"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li><code>pre-commit autoupdate --repo ...</code> no longer deletes other repos.
<ul dir="auto">
<li>#660 issue by @KevinHock.</li>
<li>#661 PR by @KevinHock.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.4.0 - 2017-11-08</h1><a id="user-content-140---2017-11-08" class="anchor" aria-label="Permalink: 1.4.0 - 2017-11-08" href="#140---2017-11-08"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-26" class="anchor" aria-label="Permalink: Features" href="#features-26"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Lazily install repositories.
<ul dir="auto">
<li>When running <code>pre-commit run &lt;hookid&gt;</code>, pre-commit will only install
the necessary repositories.</li>
<li>#637 issue by @webknjaz.</li>
<li>#639 PR by @asottile.</li>
</ul>
</li>
<li>Version defaulting now applies to local hooks as well.
<ul dir="auto">
<li>This extends #556 to apply to local hooks.</li>
<li>#646 PR by @asottile.</li>
</ul>
</li>
<li>Add new <code>repo: meta</code> hooks.
<ul dir="auto">
<li><code>meta</code> hooks expose some linters of the pre-commit configuration itself.</li>
<li><code>id: check-useless-excludes</code>: ensures that <code>exclude</code> directives actually
apply to <em>any</em> file in the repository.</li>
<li><code>id: check-hooks-apply</code>: ensures that the configured hooks apply to
at least one file in the repository.</li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="84713369" data-permission-text="Title is private" data-url="https://github.com/pre-commit/pre-commit-hooks/issues/63" data-hovercard-type="issue" data-hovercard-url="/pre-commit/pre-commit-hooks/issues/63/hovercard" href="https://github.com/pre-commit/pre-commit-hooks/issues/63">pre-commit/pre-commit-hooks#63</a> issue by @asottile.</li>
<li>#405 issue by @asottile.</li>
<li>#643 PR by @hackedd.</li>
<li>#653 PR by @asottile.</li>
<li>#654 PR by @asottile.</li>
</ul>
</li>
<li>Allow a specific repository to be autoupdated instead of all repositories.
<ul dir="auto">
<li><code>pre-commit autoupdate --repo ...</code></li>
<li>#656 issue by @KevinHock.</li>
<li>#657 PR by @KevinHock.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-57" class="anchor" aria-label="Permalink: Fixes" href="#fixes-57"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Apply selinux labelling option to docker volumes
<ul dir="auto">
<li>#642 PR by @jimmidyson.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.3.0 - 2017-10-08</h1><a id="user-content-130---2017-10-08" class="anchor" aria-label="Permalink: 1.3.0 - 2017-10-08" href="#130---2017-10-08"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-27" class="anchor" aria-label="Permalink: Features" href="#features-27"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add <code>pre-commit try-repo</code> commands
<ul dir="auto">
<li>The new <code>try-repo</code> takes a repo and will run the hooks configured in
that hook repository.</li>
<li>An example invocation:
<code>pre-commit try-repo https://github.com/pre-commit/pre-commit-hooks</code></li>
<li><code>pre-commit try-repo</code> can also take all the same arguments as
<code>pre-commit run</code>.</li>
<li>It can be used to try out a repository without needing to configure it.</li>
<li>It can also be used to test a hook repository while developing it.</li>
<li>#589 issue by @sverhagen.</li>
<li>#633 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.2.0 - 2017-10-03</h1><a id="user-content-120---2017-10-03" class="anchor" aria-label="Permalink: 1.2.0 - 2017-10-03" href="#120---2017-10-03"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-28" class="anchor" aria-label="Permalink: Features" href="#features-28"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add <code>pygrep</code> language
<ul dir="auto">
<li><code>pygrep</code> aims to be a more cross-platform alternative to <code>pcre</code> hooks.</li>
<li>#630 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-58" class="anchor" aria-label="Permalink: Fixes" href="#fixes-58"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Use <code>pipes.quote</code> for executable path in hook template
<ul dir="auto">
<li>Fixes bash syntax error when git dir contains spaces</li>
<li>#626 PR by @asottile.</li>
</ul>
</li>
<li>Clean up hook template
<ul dir="auto">
<li>Simplify code</li>
<li>Fix <code>--config</code> not being respected in some situations</li>
<li>#627 PR by @asottile.</li>
</ul>
</li>
<li>Use <code>file://</code> protocol for cloning under test
<ul dir="auto">
<li>Fix <code>file://</code> clone paths being treated as urls for golang</li>
<li>#629 PR by @asottile.</li>
</ul>
</li>
<li>Add <code>ctypes</code> as an import for virtualenv healthchecks
<ul dir="auto">
<li>Fixes python3.6.2 &lt;=&gt; python3.6.3 virtualenv invalidation</li>
<li>e70825ab by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.1.2 - 2017-09-20</h1><a id="user-content-112---2017-09-20" class="anchor" aria-label="Permalink: 1.1.2 - 2017-09-20" href="#112---2017-09-20"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-59" class="anchor" aria-label="Permalink: Fixes" href="#fixes-59"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>pre-commit can successfully install commit-msg hooks
<ul dir="auto">
<li>Due to an oversight, the commit-msg-tmpl was missing from the packaging</li>
<li>#623 issue by @sobolevn.</li>
<li>#624 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.1.1 - 2017-09-17</h1><a id="user-content-111---2017-09-17" class="anchor" aria-label="Permalink: 1.1.1 - 2017-09-17" href="#111---2017-09-17"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-29" class="anchor" aria-label="Permalink: Features" href="#features-29"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>pre-commit also checks the <code>ssl</code> module for virtualenv health
<ul dir="auto">
<li>Suggestion by @merwok.</li>
<li>#619 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-60" class="anchor" aria-label="Permalink: Fixes" href="#fixes-60"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>pre-commit no longer crashes with unstaged files when run for the first time
<ul dir="auto">
<li>#620 #621 issue by @Lucas-C.</li>
<li>#622 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.1.0 - 2017-09-11</h1><a id="user-content-110---2017-09-11" class="anchor" aria-label="Permalink: 1.1.0 - 2017-09-11" href="#110---2017-09-11"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-30" class="anchor" aria-label="Permalink: Features" href="#features-30"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>pre-commit configuration gains a <code>fail_fast</code> option.
<ul dir="auto">
<li>You must be using the v2 configuration format introduced in 1.0.0.</li>
<li><code>fail_fast</code> defaults to <code>false</code>.</li>
<li>#240 issue by @Lucas-C.</li>
<li>#616 PR by @asottile.</li>
</ul>
</li>
<li>pre-commit configuration gains a global <code>exclude</code> option.
<ul dir="auto">
<li>This option takes a python regular expression and can be used to exclude
files from <em>all</em> hooks.</li>
<li>You must be using the v2 configuration format introduced in 1.0.0.</li>
<li>#281 issue by @asieira.</li>
<li>#617 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.0.1 - 2017-09-07</h1><a id="user-content-101---2017-09-07" class="anchor" aria-label="Permalink: 1.0.1 - 2017-09-07" href="#101---2017-09-07"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Fixes</h3><a id="user-content-fixes-61" class="anchor" aria-label="Permalink: Fixes" href="#fixes-61"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix a regression in the return code of <code>pre-commit autoupdate</code>
<ul dir="auto">
<li><code>pre-commit migrate-config</code> and <code>pre-commit autoupdate</code> return 0 when
successful.</li>
<li>#614 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">1.0.0 - 2017-09-07</h1><a id="user-content-100---2017-09-07" class="anchor" aria-label="Permalink: 1.0.0 - 2017-09-07" href="#100---2017-09-07"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">pre-commit will now be following <a href="https://semver.org/" rel="nofollow">semver</a>.  Thanks to all
of the <a href="https://github.com/pre-commit/pre-commit/graphs/contributors">contributors</a>
that have helped us get this far!</p>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Features</h3><a id="user-content-features-31" class="anchor" aria-label="Permalink: Features" href="#features-31"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>
<p dir="auto">pre-commit's cache directory has moved from <code>~/.pre-commit</code> to
<code>$XDG_CACHE_HOME/pre-commit</code> (usually <code>~/.cache/pre-commit</code>).</p>
<ul dir="auto">
<li><code>pre-commit clean</code> now cleans up both the old and new directory.</li>
<li>If you were caching this directory in CI, you'll want to adjust the
location.</li>
<li>#562 issue by @nagromc.</li>
<li>#602 PR by @asottile.</li>
</ul>
</li>
<li>
<p dir="auto">A new configuration format for <code>.pre-commit-config.yaml</code> is introduced which
will enable future development.</p>
<ul dir="auto">
<li>The new format has a top-level map instead of a top-level list.  The
new format puts the hook repositories in a <code>repos</code> key.</li>
<li>Old list-based configurations will continue to be supported.</li>
<li>A command <code>pre-commit migrate-config</code> has been introduced to "upgrade"
the configuration format to the new map-based configuration.</li>
<li><code>pre-commit autoupdate</code> now automatically calls <code>migrate-config</code>.</li>
<li>In a later release, list-based configurations will issue a deprecation
warning.</li>
<li>An example diff for upgrading a configuration:</li>
</ul>
<div class="highlight highlight-source-diff notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="+repos:
 -   repo: https://github.com/pre-commit/pre-commit-hooks
     sha: v0.9.2
     hooks:"><pre><span class="pl-mi1"><span class="pl-mi1">+</span>repos:</span>
 -   repo: https://github.com/pre-commit/pre-commit-hooks
     sha: v0.9.2
     hooks:</pre></div>
<ul dir="auto">
<li>#414 issue by @asottile.</li>
<li>#610 PR by @asottile.</li>
</ul>
</li>
</ul>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Updating</h3><a id="user-content-updating-4" class="anchor" aria-label="Permalink: Updating" href="#updating-4"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Run <code>pre-commit migrate-config</code> to convert <code>.pre-commit-config.yaml</code> to the
new map format.</li>
<li>Update any references from <code>~/.pre-commit</code> to <code>~/.cache/pre-commit</code>.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.18.3 - 2017-09-06</h1><a id="user-content-0183---2017-09-06" class="anchor" aria-label="Permalink: 0.18.3 - 2017-09-06" href="#0183---2017-09-06"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Allow --config to affect <code>pre-commit install</code></li>
<li>Tweak not found error message during <code>pre-push</code> / <code>commit-msg</code></li>
<li>Improve node support when running under cygwin.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.18.2 - 2017-09-05</h1><a id="user-content-0182---2017-09-05" class="anchor" aria-label="Permalink: 0.18.2 - 2017-09-05" href="#0182---2017-09-05"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix <code>--all-files</code>, detection of staged files, detection of manually edited
files during merge conflict, and detection of files to push for non-ascii
filenames.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.18.1 - 2017-09-04</h1><a id="user-content-0181---2017-09-04" class="anchor" aria-label="Permalink: 0.18.1 - 2017-09-04" href="#0181---2017-09-04"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Only mention locking when waiting for a lock.</li>
<li>Fix <code>IOError</code> during locking in timeout situation on windows under python 2.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.18.0 - 2017-09-02</h1><a id="user-content-0180---2017-09-02" class="anchor" aria-label="Permalink: 0.18.0 - 2017-09-02" href="#0180---2017-09-02"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add a new <code>docker_image</code> language type.  <code>docker_image</code> is intended to be a
lightweight hook type similar to <code>system</code> / <code>script</code> which allows one to use
an existing docker image that provides a hook.  <code>docker_image</code> hooks can
also be used as repository <code>local</code> hooks.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.17.0 - 2017-08-24</h1><a id="user-content-0170---2017-08-24" class="anchor" aria-label="Permalink: 0.17.0 - 2017-08-24" href="#0170---2017-08-24"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix typos in help</li>
<li>Allow <code>commit-msg</code> hook to be uninstalled</li>
<li>Upgrade the <code>sample-config</code></li>
<li>Remove undocumented <code>--no-stash</code> and <code>--allow-unstaged-config</code></li>
<li>Remove <code>validate_config</code> hook pre-commit hook.</li>
<li>Fix installation race condition when multiple <code>pre-commit</code> processes would
attempt to install the same repository.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.16.3 - 2017-08-10</h1><a id="user-content-0163---2017-08-10" class="anchor" aria-label="Permalink: 0.16.3 - 2017-08-10" href="#0163---2017-08-10"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>autoupdate attempts to maintain config formatting.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.16.2 - 2017-08-06</h1><a id="user-content-0162---2017-08-06" class="anchor" aria-label="Permalink: 0.16.2 - 2017-08-06" href="#0162---2017-08-06"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Initialize submodules in hook repositories.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.16.1 - 2017-08-04</h1><a id="user-content-0161---2017-08-04" class="anchor" aria-label="Permalink: 0.16.1 - 2017-08-04" href="#0161---2017-08-04"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Improve node support when running under cygwin.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.16.0 - 2017-08-01</h1><a id="user-content-0160---2017-08-01" class="anchor" aria-label="Permalink: 0.16.0 - 2017-08-01" href="#0160---2017-08-01"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Remove backward compatibility with repositories providing metadata via
<code>hooks.yaml</code>.  New repositories should provide <code>.pre-commit-hooks.yaml</code>.
Run <code>pre-commit autoupdate</code> to upgrade to the latest repositories.</li>
<li>Improve golang support when running under cygwin.</li>
<li>Fix crash with unstaged trailing whitespace additions while git was
configured with <code>apply.whitespace = error</code>.</li>
<li>Fix crash with unstaged end-of-file crlf additions and the file's lines
ended with crlf while git was configured with <code>core-autocrlf = true</code>.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.15.4 - 2017-07-23</h1><a id="user-content-0154---2017-07-23" class="anchor" aria-label="Permalink: 0.15.4 - 2017-07-23" href="#0154---2017-07-23"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add support for the <code>commit-msg</code> git hook</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.15.3 - 2017-07-20</h1><a id="user-content-0153---2017-07-20" class="anchor" aria-label="Permalink: 0.15.3 - 2017-07-20" href="#0153---2017-07-20"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Recover from invalid python virtualenvs</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.15.2 - 2017-07-09</h1><a id="user-content-0152---2017-07-09" class="anchor" aria-label="Permalink: 0.15.2 - 2017-07-09" href="#0152---2017-07-09"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Work around a windows-specific virtualenv bug <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="241556839" data-permission-text="Title is private" data-url="https://github.com/pypa/virtualenv/issues/1062" data-hovercard-type="issue" data-hovercard-url="/pypa/virtualenv/issues/1062/hovercard" href="https://github.com/pypa/virtualenv/issues/1062">pypa/virtualenv#1062</a>
This failure mode was introduced in 0.15.1</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.15.1 - 2017-07-09</h1><a id="user-content-0151---2017-07-09" class="anchor" aria-label="Permalink: 0.15.1 - 2017-07-09" href="#0151---2017-07-09"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Use a more intelligent default language version for python</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.15.0 - 2017-07-02</h1><a id="user-content-0150---2017-07-02" class="anchor" aria-label="Permalink: 0.15.0 - 2017-07-02" href="#0150---2017-07-02"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add <code>types</code> and <code>exclude_types</code> for filtering files.  These options take
an array of "tags" identified for each file.  The tags are sourced from
<a href="https://github.com/chriskuehl/identify">identify</a>.  One can list the tags
for a file by running <code>identify-cli filename</code>.</li>
<li><code>files</code> is now optional (defaulting to <code>''</code>)</li>
<li><code>always_run</code> + missing <code>files</code> also defaults to <code>files: ''</code> (previously it
defaulted to <code>'^$'</code> (this reverses e150921c).</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.14.3 - 2017-06-28</h1><a id="user-content-0143---2017-06-28" class="anchor" aria-label="Permalink: 0.14.3 - 2017-06-28" href="#0143---2017-06-28"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Expose <code>--origin</code> and <code>--source</code> as <code>PRE_COMMIT_ORIGIN</code> and
<code>PRE_COMMIT_SOURCE</code> environment variables when running as <code>pre-push</code>.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.14.2 - 2017-06-09</h1><a id="user-content-0142---2017-06-09" class="anchor" aria-label="Permalink: 0.14.2 - 2017-06-09" href="#0142---2017-06-09"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Use <code>--no-ext-diff</code> when running <code>git diff</code></li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.14.1 - 2017-06-02</h1><a id="user-content-0141---2017-06-02" class="anchor" aria-label="Permalink: 0.14.1 - 2017-06-02" href="#0141---2017-06-02"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Don't crash when <code>always_run</code> is <code>True</code> and <code>files</code> is not provided.</li>
<li>Set <code>VIRTUALENV_NO_DOWNLOAD</code> when making python virtualenvs.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.14.0 - 2017-05-16</h1><a id="user-content-0140---2017-05-16" class="anchor" aria-label="Permalink: 0.14.0 - 2017-05-16" href="#0140---2017-05-16"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add a <code>pre-commit sample-config</code> command</li>
<li>Enable ansi color escapes on modern windows</li>
<li><code>autoupdate</code> now defaults to <code>--tags-only</code>, use <code>--bleeding-edge</code> for the
old behavior</li>
<li>Add support for <code>log_file</code> in hook configuration to tee hook output to a
file for CI consumption, etc.</li>
<li>Fix crash with unicode commit messages during merges in python 2.</li>
<li>Add a <code>pass_filenames</code> option to allow disabling automatic filename
positional arguments to hooks.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.13.6 - 2017-03-27</h1><a id="user-content-0136---2017-03-27" class="anchor" aria-label="Permalink: 0.13.6 - 2017-03-27" href="#0136---2017-03-27"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix regression in 0.13.5: allow <code>always_run</code> and <code>files</code> together despite
doing nothing.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.13.5 - 2017-03-26</h1><a id="user-content-0135---2017-03-26" class="anchor" aria-label="Permalink: 0.13.5 - 2017-03-26" href="#0135---2017-03-26"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>0.13.4 contained incorrect files</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.13.4 - 2017-03-26</h1><a id="user-content-0134---2017-03-26" class="anchor" aria-label="Permalink: 0.13.4 - 2017-03-26" href="#0134---2017-03-26"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add <code>--show-diff-on-failure</code> option to <code>pre-commit run</code></li>
<li>Replace <code>jsonschema</code> with better error messages</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.13.3 - 2017-02-23</h1><a id="user-content-0133---2017-02-23" class="anchor" aria-label="Permalink: 0.13.3 - 2017-02-23" href="#0133---2017-02-23"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add <code>--allow-missing-config</code> to install: allows <code>git commit</code> without a
configuration.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.13.2 - 2017-02-17</h1><a id="user-content-0132---2017-02-17" class="anchor" aria-label="Permalink: 0.13.2 - 2017-02-17" href="#0132---2017-02-17"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Version the local hooks repo</li>
<li>Allow <code>minimum_pre_commit_version</code> for local hooks</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.13.1 - 2017-02-16</h1><a id="user-content-0131---2017-02-16" class="anchor" aria-label="Permalink: 0.13.1 - 2017-02-16" href="#0131---2017-02-16"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix dummy gem for ruby local hooks</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.13.0 - 2017-02-16</h1><a id="user-content-0130---2017-02-16" class="anchor" aria-label="Permalink: 0.13.0 - 2017-02-16" href="#0130---2017-02-16"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Autoupdate now works even when the current state is broken.</li>
<li>Improve pre-push fileset on new branches</li>
<li>Allow "language local" hooks, hooks which install dependencies using
<code>additional_dependencies</code> and <code>language</code> are now allowed in <code>repo: local</code>.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.12.2 - 2017-01-27</h1><a id="user-content-0122---2017-01-27" class="anchor" aria-label="Permalink: 0.12.2 - 2017-01-27" href="#0122---2017-01-27"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix docker hooks on older (&lt;1.12) docker</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.12.1 - 2017-01-25</h1><a id="user-content-0121---2017-01-25" class="anchor" aria-label="Permalink: 0.12.1 - 2017-01-25" href="#0121---2017-01-25"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>golang hooks now support additional_dependencies</li>
<li>Added a --tags-only option to pre-commit autoupdate</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.12.0 - 2017-01-24</h1><a id="user-content-0120---2017-01-24" class="anchor" aria-label="Permalink: 0.12.0 - 2017-01-24" href="#0120---2017-01-24"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>The new default file for implementing hooks in remote repositories is now
.pre-commit-hooks.yaml to encourage repositories to add the metadata.  As
such, the previous hooks.yaml is now deprecated and generates a warning.</li>
<li>Fix bug with local configuration interfering with ruby hooks</li>
<li>Added support for hooks written in golang.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.11.0 - 2017-01-20</h1><a id="user-content-0110---2017-01-20" class="anchor" aria-label="Permalink: 0.11.0 - 2017-01-20" href="#0110---2017-01-20"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>SwiftPM support.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.10.1 - 2017-01-05</h1><a id="user-content-0101---2017-01-05" class="anchor" aria-label="Permalink: 0.10.1 - 2017-01-05" href="#0101---2017-01-05"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>shlex entry of docker based hooks.</li>
<li>Make shlex behaviour of entry more consistent.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.10.0 - 2017-01-04</h1><a id="user-content-0100---2017-01-04" class="anchor" aria-label="Permalink: 0.10.0 - 2017-01-04" href="#0100---2017-01-04"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add an <code>install-hooks</code> command similar to <code>install --install-hooks</code> but
without the <code>install</code> side-effects.</li>
<li>Adds support for docker based hooks.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.9.4 - 2016-12-05</h1><a id="user-content-094---2016-12-05" class="anchor" aria-label="Permalink: 0.9.4 - 2016-12-05" href="#094---2016-12-05"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Warn when cygwin / python mismatch</li>
<li>Add --config for customizing configuration during run</li>
<li>Update rbenv + plugins to latest versions</li>
<li>pcre hooks now fail when grep / ggrep are not present</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.9.3 - 2016-11-07</h1><a id="user-content-093---2016-11-07" class="anchor" aria-label="Permalink: 0.9.3 - 2016-11-07" href="#093---2016-11-07"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix python hook installation when a strange setup.cfg exists</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.9.2 - 2016-10-25</h1><a id="user-content-092---2016-10-25" class="anchor" aria-label="Permalink: 0.9.2 - 2016-10-25" href="#092---2016-10-25"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Remove some python2.6 compatibility</li>
<li>UI is no longer sized to terminal width, instead 80 characters or longest
necessary width.</li>
<li>Fix inability to create python hook environments when using venv / pyvenv on
osx</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.9.1 - 2016-09-10</h1><a id="user-content-091---2016-09-10" class="anchor" aria-label="Permalink: 0.9.1 - 2016-09-10" href="#091---2016-09-10"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Remove some python2.6 compatibility</li>
<li>Fix staged-files-only with external diff tools</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.9.0 - 2016-08-31</h1><a id="user-content-090---2016-08-31" class="anchor" aria-label="Permalink: 0.9.0 - 2016-08-31" href="#090---2016-08-31"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Only consider forward diff in changed files</li>
<li>Don't run on staged deleted files that still exist</li>
<li>Autoupdate to tags when available</li>
<li>Stop supporting python2.6</li>
<li>Fix crash with staged files containing unstaged lines which have non-utf8
bytes and trailing whitespace</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.8.2 - 2016-05-20</h1><a id="user-content-082---2016-05-20" class="anchor" aria-label="Permalink: 0.8.2 - 2016-05-20" href="#082---2016-05-20"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix a crash introduced in 0.8.0 when an executable was not found</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.8.1 - 2016-05-17</h1><a id="user-content-081---2016-05-17" class="anchor" aria-label="Permalink: 0.8.1 - 2016-05-17" href="#081---2016-05-17"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix regression introduced in 0.8.0 when already using rbenv with no
configured ruby hook version</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.8.0 - 2016-04-11</h1><a id="user-content-080---2016-04-11" class="anchor" aria-label="Permalink: 0.8.0 - 2016-04-11" href="#080---2016-04-11"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix --files when running in a subdir</li>
<li>Improve --help a bit</li>
<li>Switch to pyterminalsize for determining terminal size</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.7.6 - 2016-01-19</h1><a id="user-content-076---2016-01-19" class="anchor" aria-label="Permalink: 0.7.6 - 2016-01-19" href="#076---2016-01-19"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Work under latest virtualenv</li>
<li>No longer create empty directories on windows with latest virtualenv</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.7.5 - 2016-01-15</h1><a id="user-content-075---2016-01-15" class="anchor" aria-label="Permalink: 0.7.5 - 2016-01-15" href="#075---2016-01-15"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Consider dead symlinks as files when committing</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.7.4 - 2016-01-12</h1><a id="user-content-074---2016-01-12" class="anchor" aria-label="Permalink: 0.7.4 - 2016-01-12" href="#074---2016-01-12"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Produce error message instead of crashing on non-utf8 installation failure</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.7.3 - 2015-12-22</h1><a id="user-content-073---2015-12-22" class="anchor" aria-label="Permalink: 0.7.3 - 2015-12-22" href="#073---2015-12-22"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix regression introduced in 0.7.1 breaking <code>git commit -a</code></li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.7.2 - 2015-12-22</h1><a id="user-content-072---2015-12-22" class="anchor" aria-label="Permalink: 0.7.2 - 2015-12-22" href="#072---2015-12-22"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add <code>always_run</code> setting for hooks to run even without file changes.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.7.1 - 2015-12-19</h1><a id="user-content-071---2015-12-19" class="anchor" aria-label="Permalink: 0.7.1 - 2015-12-19" href="#071---2015-12-19"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Support running pre-commit inside submodules</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.7.0 - 2015-12-13</h1><a id="user-content-070---2015-12-13" class="anchor" aria-label="Permalink: 0.7.0 - 2015-12-13" href="#070---2015-12-13"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Store state about additional_dependencies for rollforward/rollback compatibility</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.6.8 - 2015-12-07</h1><a id="user-content-068---2015-12-07" class="anchor" aria-label="Permalink: 0.6.8 - 2015-12-07" href="#068---2015-12-07"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Build as a universal wheel</li>
<li>Allow '.format('-like strings in arguments</li>
<li>Add an option to require a minimum pre-commit version</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.6.7 - 2015-12-02</h1><a id="user-content-067---2015-12-02" class="anchor" aria-label="Permalink: 0.6.7 - 2015-12-02" href="#067---2015-12-02"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Print a useful message when a hook id is not present</li>
<li>Fix printing of non-ascii with unexpected errors</li>
<li>Print a message when a hook modifies files but produces no output</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.6.6 - 2015-11-25</h1><a id="user-content-066---2015-11-25" class="anchor" aria-label="Permalink: 0.6.6 - 2015-11-25" href="#066---2015-11-25"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add <code>additional_dependencies</code> to hook configuration.</li>
<li>Fix pre-commit cloning under git 2.6</li>
<li>Small improvements for windows</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.6.5 - 2015-11-19</h1><a id="user-content-065---2015-11-19" class="anchor" aria-label="Permalink: 0.6.5 - 2015-11-19" href="#065---2015-11-19"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Allow args for pcre hooks</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.6.4 - 2015-11-13</h1><a id="user-content-064---2015-11-13" class="anchor" aria-label="Permalink: 0.6.4 - 2015-11-13" href="#064---2015-11-13"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix regression introduced in 0.6.3 regarding hooks which make non-utf8 diffs</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.6.3 - 2015-11-12</h1><a id="user-content-063---2015-11-12" class="anchor" aria-label="Permalink: 0.6.3 - 2015-11-12" href="#063---2015-11-12"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Remove <code>expected_return_code</code></li>
<li>Fail a hook if it makes modifications to the working directory</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.6.2 - 2015-10-14</h1><a id="user-content-062---2015-10-14" class="anchor" aria-label="Permalink: 0.6.2 - 2015-10-14" href="#062---2015-10-14"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Use --no-ri --no-rdoc instead of --no-document for gem to fix old gem</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.6.1 - 2015-10-08</h1><a id="user-content-061---2015-10-08" class="anchor" aria-label="Permalink: 0.6.1 - 2015-10-08" href="#061---2015-10-08"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix pre-push when pushing something that's already up to date</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.6.0 - 2015-10-05</h1><a id="user-content-060---2015-10-05" class="anchor" aria-label="Permalink: 0.6.0 - 2015-10-05" href="#060---2015-10-05"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Filter hooks by stage (commit, push).</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.5.5 - 2015-09-04</h1><a id="user-content-055---2015-09-04" class="anchor" aria-label="Permalink: 0.5.5 - 2015-09-04" href="#055---2015-09-04"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Change permissions a few files</li>
<li>Rename the validate entrypoints</li>
<li>Add --version to some entrypoints</li>
<li>Add --no-document to gem installations</li>
<li>Use expanduser when finding the python binary</li>
<li>Suppress complaint about $TERM when no tty is attached</li>
<li>Support pcre hooks on osx through ggrep</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.5.4 - 2015-07-24</h1><a id="user-content-054---2015-07-24" class="anchor" aria-label="Permalink: 0.5.4 - 2015-07-24" href="#054---2015-07-24"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Allow hooks to produce outputs with arbitrary bytes</li>
<li>Fix pre-commit install when .git/hooks/pre-commit is a dead symlink</li>
<li>Allow an unstaged config when using --files or --all-files</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.5.3 - 2015-06-15</h1><a id="user-content-053---2015-06-15" class="anchor" aria-label="Permalink: 0.5.3 - 2015-06-15" href="#053---2015-06-15"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix autoupdate with "local" hooks - don't purge local hooks.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.5.2 - 2015-06-02</h1><a id="user-content-052---2015-06-02" class="anchor" aria-label="Permalink: 0.5.2 - 2015-06-02" href="#052---2015-06-02"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix autoupdate with "local" hooks</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.5.1 - 2015-05-23</h1><a id="user-content-051---2015-05-23" class="anchor" aria-label="Permalink: 0.5.1 - 2015-05-23" href="#051---2015-05-23"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix bug with unknown non-ascii hook-id</li>
<li>Avoid crash when .git/hooks is not present in some git clients</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.5.0 - 2015-05-19</h1><a id="user-content-050---2015-05-19" class="anchor" aria-label="Permalink: 0.5.0 - 2015-05-19" href="#050---2015-05-19"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add a new "local" hook type for running hooks without remote configuration.</li>
<li>Complain loudly when .pre-commit-config.yaml is unstaged.</li>
<li>Better support for multiple language versions when running hooks.</li>
<li>Allow exclude to be defaulted in repository configuration.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.4.4 - 2015-03-29</h1><a id="user-content-044---2015-03-29" class="anchor" aria-label="Permalink: 0.4.4 - 2015-03-29" href="#044---2015-03-29"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Use sys.executable when executing virtualenv</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.4.3 - 2015-03-25</h1><a id="user-content-043---2015-03-25" class="anchor" aria-label="Permalink: 0.4.3 - 2015-03-25" href="#043---2015-03-25"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Use reset instead of checkout when checkout out hook repo</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.4.2 - 2015-02-27</h1><a id="user-content-042---2015-02-27" class="anchor" aria-label="Permalink: 0.4.2 - 2015-02-27" href="#042---2015-02-27"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Limit length of xargs arguments to workaround windows xargs bug</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.4.1 - 2015-02-27</h1><a id="user-content-041---2015-02-27" class="anchor" aria-label="Permalink: 0.4.1 - 2015-02-27" href="#041---2015-02-27"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Don't rename across devices when creating sqlite database</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.4.0 - 2015-02-27</h1><a id="user-content-040---2015-02-27" class="anchor" aria-label="Permalink: 0.4.0 - 2015-02-27" href="#040---2015-02-27"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Make ^C^C During installation not cause all subsequent runs to fail</li>
<li>Print while installing (instead of while cloning)</li>
<li>Use sqlite to manage repositories (instead of symlinks)</li>
<li>MVP Windows support</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.3.6 - 2015-02-05</h1><a id="user-content-036---2015-02-05" class="anchor" aria-label="Permalink: 0.3.6 - 2015-02-05" href="#036---2015-02-05"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li><code>args</code> in venv'd languages are now property quoted.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.3.5 - 2015-01-15</h1><a id="user-content-035---2015-01-15" class="anchor" aria-label="Permalink: 0.3.5 - 2015-01-15" href="#035---2015-01-15"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Support running during <code>pre-push</code>.  See <a href="https://pre-commit.com/#advanced" rel="nofollow">https://pre-commit.com/#advanced</a> 'pre-commit during push'.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.3.4 - 2015-01-13</h1><a id="user-content-034---2015-01-13" class="anchor" aria-label="Permalink: 0.3.4 - 2015-01-13" href="#034---2015-01-13"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Allow hook providers to default <code>args</code> in <code>hooks.yaml</code></li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.3.3 - 2015-01-06</h1><a id="user-content-033---2015-01-06" class="anchor" aria-label="Permalink: 0.3.3 - 2015-01-06" href="#033---2015-01-06"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Improve message for <code>CalledProcessError</code></li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.3.2 - 2014-10-07</h1><a id="user-content-032---2014-10-07" class="anchor" aria-label="Permalink: 0.3.2 - 2014-10-07" href="#032---2014-10-07"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix for <code>staged_files_only</code> with color.diff = always #176.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.3.1 - 2014-10-03</h1><a id="user-content-031---2014-10-03" class="anchor" aria-label="Permalink: 0.3.1 - 2014-10-03" href="#031---2014-10-03"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix error clobbering #174.</li>
<li>Remove dependency on <code>plumbum</code>.</li>
<li>Allow pre-commit to be run from anywhere in a repository #175.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.3.0 - 2014-09-18</h1><a id="user-content-030---2014-09-18" class="anchor" aria-label="Permalink: 0.3.0 - 2014-09-18" href="#030---2014-09-18"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Add <code>--files</code> option to <code>pre-commit run</code></li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.2.11 - 2014-09-05</h1><a id="user-content-0211---2014-09-05" class="anchor" aria-label="Permalink: 0.2.11 - 2014-09-05" href="#0211---2014-09-05"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix terminal width detection (broken in 0.2.10)</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.2.10 - 2014-09-04</h1><a id="user-content-0210---2014-09-04" class="anchor" aria-label="Permalink: 0.2.10 - 2014-09-04" href="#0210---2014-09-04"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Bump version of nodeenv to fix bug with ~/.npmrc</li>
<li>Choose <code>python</code> more intelligently when running.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.2.9 - 2014-09-02</h1><a id="user-content-029---2014-09-02" class="anchor" aria-label="Permalink: 0.2.9 - 2014-09-02" href="#029---2014-09-02"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix bug where sys.stdout.write must take <code>bytes</code> in python 2.6</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.2.8 - 2014-08-13</h1><a id="user-content-028---2014-08-13" class="anchor" aria-label="Permalink: 0.2.8 - 2014-08-13" href="#028---2014-08-13"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Allow a client to have duplicates of hooks.</li>
<li>Use --prebuilt instead of system for node.</li>
<li>Improve some fatal error messages</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.2.7 - 2014-07-28</h1><a id="user-content-027---2014-07-28" class="anchor" aria-label="Permalink: 0.2.7 - 2014-07-28" href="#027---2014-07-28"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Produce output when running pre-commit install --install-hooks</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.2.6 - 2014-07-28</h1><a id="user-content-026---2014-07-28" class="anchor" aria-label="Permalink: 0.2.6 - 2014-07-28" href="#026---2014-07-28"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Print hookid on failure</li>
<li>Use sys.executable for running nodeenv</li>
<li>Allow running as <code>python -m pre_commit</code></li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.2.5 - 2014-07-17</h1><a id="user-content-025---2014-07-17" class="anchor" aria-label="Permalink: 0.2.5 - 2014-07-17" href="#025---2014-07-17"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Default columns to 80 (for non-terminal execution).</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.2.4 - 2014-07-07</h1><a id="user-content-024---2014-07-07" class="anchor" aria-label="Permalink: 0.2.4 - 2014-07-07" href="#024---2014-07-07"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Support --install-hooks as an argument to <code>pre-commit install</code></li>
<li>Install hooks before attempting to run anything</li>
<li>Use <code>python -m nodeenv</code> instead of <code>nodeenv</code></li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.2.3 - 2014-06-25</h1><a id="user-content-023---2014-06-25" class="anchor" aria-label="Permalink: 0.2.3 - 2014-06-25" href="#023---2014-06-25"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Freeze ruby building infrastructure</li>
<li>Fix bug that assumed diffs were utf-8</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.2.2 - 2014-06-22</h1><a id="user-content-022---2014-06-22" class="anchor" aria-label="Permalink: 0.2.2 - 2014-06-22" href="#022---2014-06-22"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix filenames with spaces</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.2.1 - 2014-06-18</h1><a id="user-content-021---2014-06-18" class="anchor" aria-label="Permalink: 0.2.1 - 2014-06-18" href="#021---2014-06-18"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Use either <code>pre-commit</code> or <code>python -m pre_commit.main</code> depending on which is
available</li>
<li>Don't use readlink -f</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.2.0 - 2014-06-17</h1><a id="user-content-020---2014-06-17" class="anchor" aria-label="Permalink: 0.2.0 - 2014-06-17" href="#020---2014-06-17"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fix for merge-conflict during cherry-picking.</li>
<li>Add -V / --version</li>
<li>Add migration install mode / install -f / --overwrite</li>
<li>Add <code>pcre</code> "language" for perl compatible regexes</li>
<li>Reorganize packages.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.1.1 - 2014-06-11</h1><a id="user-content-011---2014-06-11" class="anchor" aria-label="Permalink: 0.1.1 - 2014-06-11" href="#011---2014-06-11"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Fixed bug with autoupdate setting defaults on un-updated repos.</li>
</ul>
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">0.1.0 - 2014-06-07</h1><a id="user-content-010---2014-06-07" class="anchor" aria-label="Permalink: 0.1.0 - 2014-06-07" href="#010---2014-06-07"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>Initial Release</li>
</ul>
</article></div><div class="d-none"></div></section></div></div></div> </div> <!-- --> </div></div></div></div></div></div><div class="ScrollMarksContainer-module__scrollMarksContainer__Eu7uU" id="find-result-marks-container"></div><div class="d-none"></div><div class="d-none"></div></div> <!-- --> <!-- --> </div>
</react-app>




  </div>

</turbo-frame>

    </main>
  </div>

  </div>

          <footer class="footer f6 color-fg-muted color-border-subtle tmp-pt-7 tmp-pb-6 p-responsive" role="contentinfo"  >
  <h2 class='sr-only'>Footer</h2>

  


  <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap">
    <div class="d-flex flex-items-center flex-shrink-0 mx-2">
      <a aria-label="GitHub Homepage" class="footer-octicon mr-2" href="https://github.com">
        <svg aria-hidden="true" data-component="Octicon" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github">
    <path d="M10.226 17.284c-2.965-.36-5.054-2.493-5.054-5.256 0-1.123.404-2.336 1.078-3.144-.292-.741-.247-2.314.09-2.965.898-.112 2.111.36 2.83 1.01.853-.269 1.752-.404 2.853-.404 1.1 0 1.999.135 2.807.382.696-.629 1.932-1.1 2.83-.988.315.606.36 2.179.067 2.942.72.854 1.101 2 1.101 3.167 0 2.763-2.089 4.852-5.098 5.234.763.494 1.28 1.572 1.28 2.807v2.336c0 .674.561 1.056 1.235.786 4.066-1.55 7.255-5.615 7.255-10.646C23.5 6.188 18.334 1 11.978 1 5.62 1 .5 6.188.5 12.545c0 4.986 3.167 9.12 7.435 10.669.606.225 1.19-.18 1.19-.786V20.63a2.9 2.9 0 0 1-1.078.224c-1.483 0-2.359-.808-2.987-2.313-.247-.607-.517-.966-1.034-1.033-.27-.023-.359-.135-.359-.27 0-.27.45-.471.898-.471.652 0 1.213.404 1.797 1.235.45.651.921.943 1.483.943.561 0 .92-.202 1.437-.719.382-.381.674-.718.944-.943"></path>
</svg>
</a>
      <span>
        &copy; 2026 GitHub,&nbsp;Inc.
      </span>
    </div>

    <nav aria-label="Footer">
      <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3>

      <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading">


          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a>
          </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a>
          </li>


            <li class="mx-2">
              <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a>
            </li>

            <li class="mx-2">
              <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a>
            </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to community&quot;,&quot;label&quot;:&quot;text:community&quot;}" href="https://github.community/" data-view-component="true" class="Link--secondary Link">Community</a>
          </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to docs&quot;,&quot;label&quot;:&quot;text:docs&quot;}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a>
          </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a>
          </li>

          
<li class="mx-2" >
  <cookie-consent-link>
    <button
      type="button"
      class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent"
      data-action="click:cookie-consent-link#showConsentManagement"
      data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;cookies&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;cookies_link_subfooter_footer&quot;}"
    >
      Manage cookies
    </button>
  </cookie-consent-link>
</li>

  <li class="mx-2">
    <cookie-consent-link>
      <button
        type="button"
        class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent text-left"
        data-action="click:cookie-consent-link#showConsentManagement"
        data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;dont_share_info&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;dont_share_info_link_subfooter_footer&quot;}"
      >
        Do not share my personal information
      </button>
    </cookie-consent-link>
  </li>

      </ul>
    </nav>
  </div>
</footer>



    <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999"
      data-locale="en"
      data-initial-cookie-consent-allowed=""
      data-cookie-consent-required="true"
    ></ghcc-consent>




  <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden>
    <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg>
    <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
    </button>
    You can’t perform that action at this time.
  </div>

    <template id="site-details-dialog">
  <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open>
    <summary role="button" aria-label="Close dialog"></summary>
    <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal">
      <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog>
        <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
      </button>
      <div class="octocat-spinner tmp-my-6 js-details-dialog-spinner"></div>
    </details-dialog>
  </details>
</template>

    <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;">
  <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;">
  </div>
</div>

    <template id="snippet-clipboard-copy-button">
  <div class="zeroclipboard-container position-absolute right-0 top-0">
    <clipboard-copy aria-label="Copy code to clipboard" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w">
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2 tmp-m-2">
    <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
</svg>
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2 tmp-m-2">
    <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
</svg>
    </clipboard-copy>
  </div>
</template>
<template id="snippet-clipboard-copy-button-unpositioned">
  <div class="zeroclipboard-container">
    <clipboard-copy aria-label="Copy code to clipboard" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w">
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon">
    <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
</svg>
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none">
    <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
</svg>
    </clipboard-copy>
  </div>
</template>




    </div>
    <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div>
    <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div>
  </body>
</html>

