Changelog
=========

+ Version 1.45 (2023.11.22)

  - Adding support to known files: .txtar, .wat
  - Adding .ipynb_checkpoints to IGNORED_DIRS (#74)
  - Clean up testing setup; support newer Python versions

+ Version 1.44 (2022.06.28)

  - Fixed a bug in --smart-case with Python 3 (#67)
  - Added Rust to known types
  - Python 2.7 support dropped; pss Python 3-only now.

+ Version 1.43 (2021.01.05)

  - Added new types: QML, TypeScript, go.mod, Toml, Dockerfile.
  - Support for multiple include and exclude patterns (#56)
  - Improve compatibility with newer versions of Python 3
  - Updated version of colorama which fixed some old-standing issues with color
    output.

+ Version 1.42 (2018.08.06)

  - Added a new option: --exclude-pattern to exclude files matching a regex.
    This is the inverse of -G, since negative regexes are sometimes tricky to
    craft. Also -G got a synonym: --include-pattern
  - Added new types: JSX, TypeScript, SCSS, R, Jinja2, Terraform, Dart
  - Added options to suppress printing line numbers (#41)
  - Made --hs a synonym for --haskell
  - Added support for universal newlines (#36)

+ Version 1.41 (2016.09.10)

  - Added --julia, --vhdl and --verilog types (pull requests #29, #30).
  - Added support for Bazel types (BUILD, .bzl), Clojure, Markdown, Protobuf.
  - Colorama updated to newer version (#33).

+ Version 1.40 (2014.11.03)

  - Added .metadata directory to ignore list (issue #17).
  - Added the .haml extension for Ruby
  - Added new types: CUDA (.cu), OpenCL (.cl)
  - Added --td as a short-name for --tablegen
  - Use new capabilities of setuptools if available, when creating a
    distribution for Windows (pull request #18)
  - Added Bash completion script in tools/pss-bash-completion.bash, along with a
    special option for pss to dump the list of types for it.
  - Exit with a return code similarly as ack and grep (issue #24).
    0: Match found or help/version printed. 1: No match. 2: Error.

+ Version 1.39 (2013.09.20)

  - Fixed a number of problems with mixing regex pattern and extensions in file
    searching (see Github issues #2 and #3).
  - Sped up searching for multiple regex file patterns (such as
    '--cmake --make') by ~10%.
  - Fixed a colorama bug that caused intermittent coloring problems on 64-bit
    Windows (pull request #7 by Ben Hoyt).
  - Added --color-line option to specify custom line number coloring (issue #11
    by Ben Hoyt).
  - Added the .pyw extension to Python patterns (issue #12).
  - Added the .go extension for Go (issue #14).

+ Version 1.38 (2013.03.23)

  - Issue #39: Fix regex matching which was broken by the non-regex optimization
    in v1.37

+ Version 1.37 (2013.03.21)

  - Fixed the output of --help-types to describe file patterns more faithfully.
  - Issue #35: Fix the -w option to work properly on Python 3
  - Added '.tox' to the set of directories ignored by default.
  - Issue #34: Support for --cython
  - Added support for the .el extension for Emacs Lisp
  - Issue #36: Fixed the --match option.
  - Issue #37: Allow comma-separated lists in --ignore-dirs
  - Optimize the files-with-matches option by looking for a single match within
    a file instead of all matches.
  - Issue #38: Optimize matching of non-regex patterns, which is very common.
    Measured speedup of 10-20%.

+ Version 0.36 (2012.12.27)

  - Issue #28: additional patterns for Makefile searches.
  - Issue #30: added option to search in files without extensions.
  - Added patterns for searching within LLVM IR, Tablegen, SCons, separated
    include and inline files (.inc, .inl), .S assembly and JSON files.
  - Issue #32: handle path separators in --ignore-dir.

+ Version 0.35 (2012.03.09)

  - Speedup (~20%) for matching file contents (pull request #7 by Neil
    Chintomby)
  - Set --noheading and --nobreak for non-tty output. This aids using pss
    instead of grep in editor plugins. Addresses Issue #25.
  - Added --py and --rb command line type synonyms for Python and Ruby,
    respectively.
  - Added --cfg command line type for configuration files.
  - Issue #25: fix crash when attempting to read a file without
    read permissions.
  - Issue #26: additional patterns for CMake searches.

+ Version 0.34 (2011.11.16)

  - Added --noheading and --nobreak options (pull request #4 by Bernhard
    Leiner).
  - Issue #13: added the '-t/--textonly/--nobinary' option to restrict the
    search to textual files.
  - Issue #23: added 'txt' type for '.txt' and '.text' extensions
  - Added 'rst' type for '.rst' and '.rest' extensions (Restructured Text)
  - Issue #17: customize the colors used by pss for matches and filenames.
  - Added __pycache__ to the list of directories ignored by default.
  - Issue #20: Make -g cooperate with -a as expected.
  - Issue #16: Add F90 and F95 extensions for Fortran.
  - Issue #3: Allow specifying file types using patterns, not just extensions.
    Also adds new types: make, rake, cmake.

+ Version 0.33 (2011.10.21)

  - Issue #7: allow simple invocation of pss without installing, by directly
    passing the source directory to a Python interpreter.
  - Fixed a problem with the max-count option that was broken in some cases.
  - Fixed some encoding issues, and better handling of non-ASCII files when
    running on Python 3 (also reported in Issues #10 and #12).
  - Issue #2: pss will now ignore broken symlinks (won't list them or try to
    read them).
  - Issue #5: When the output of pss is redirected, by default colors won't
    be applied (unless forced with --color). Pull request #2 by Pekka Klärck.
  - Issue #6: Support -l and -L options (only show files with/without matches)
  - Issue #8: When Ctrl+C is hit, print a succinct error message instead of
    the full stack trace.

+ Version 0.32 (2011.10.14)

  - Move pss.py from scripts/ to psslib/, leaving just a wrapper call to
    pss.py's main() in scripts/pss.py and scripts/pss. This is better than
    the previous solution of having a symlink in scripts/ because pip on
    Python 2.6 doesn't handle symlinks too well.

+ Version 0.31 - Initial public release (2011.10.14)
