May 2026. Changes . fixed a bug that crashed lsp when a file passed the 'is it a database file' test but contained non-database keyword blocks like EQUILIBRUM_PHASES. Now simply reports their presence . the ripgrep (rg) app is now used for preliminary file filtering . improved filtering, both regex and set ("element"), both with 'and' and 'or' logic . the -f set filter: the colon separator (:) is now the 'or' separator when filtering elements since the regex filer now uses | for 'or' . added new keywords MEAN_GAMMAS, RATE_PARAMETERS_HERMANSKA, RATE_PARAMETERS_PK, RATE_PARAMETERS_SVD, GAS_BINARY_PARAMETERS . can now change starting directory with the file mask . new canonicalize, encoding detection and tidy routines . Updated WinMergeU to 2.16.36.0 . updated PhreeqcRM to 3.8.8-17347 . added a checksum for RATES blocks and a full printout of the block with the -e option . file mask: @ will read a list of files to process rather than using the normal file mask . f4 file extension is .txt by default with default separator tab to allow commas in phase names . the command line will now accept multilingual input; searching is now based on UTF-8 strings for better multilingual searches . low level code page detection and changing including per file on the fly auto change of code page . the tilde is now used to separate interaction pairs rather than the underscore to minimize conflicts . colour highlighting of matches when searching . added ability to force output of any blocks and individual items to filter output, e.g. useful when using -f2 to add RATES, LLNL parameters etc . Linux version available . updated help and installers New options -a=0, -a=1, -a=2, -a=x, -a=2x for examining the results of the file filtering -fpre : additional prelim file filter based on a regex - eliminates non-database files quickly without detailed file analysis -xs : rapidly eliminates any files containing a 'SOLUTION_SPECIES' block (like ordinary input files rather than database files) -kw : add a list of 'unknown' PHREEQC keyword blocks (i.e. those that lsp does not recognise so will quietly skip - future proofing) -cd : changes the current directory to this directory before running -@ : options file for reading options -m : muliple END option else stops on first END -g : code page now working with Windows API, default is -65001 (UTF-8) -fl : long species filter: search in the whole species string not just the species name -fr : fast line-by-line regex filter lsp.ini automatically checks for a file containing initial file options See help for more details, eg. lsp -f for option -f, lsp -h1 for one-line help summaries or lsp -h for full help.