Exactly

Latest version: v0.15.0

Safety actively analyzes 621907 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.15.0

Added

- Type `files-source` - Produces a set of files (for populating a directory)
- Instruction `dir` - Populate a dir with contents given by a `files-source`
- Instruction `file` - Append contents to existing file
- Instruction `def` - `string` - Form `:> TEXT-UNTIL-END-OF-LINE`
- Type `text-source` - Form `:> TEXT-UNTIL-END-OF-LINE`
- Syntax element `REGEX` - Form `:> TEXT-UNTIL-END-OF-LINE`
- Syntax element `PROGRAM-ARGUMENT` - Form `HERE-DOCUMENT`

Changed

- Default timeout - Set to 60s
- Instruction `dir` - Fails if the directory already exists (breaking)
- Type `string` - Reserved words
- Type `list` - `)` ends list
- Type `list` - Multi line list using backslash
- Syntax elements `PROGRAM-ARGUMENT` - Reserved words
- Syntax elements `PROGRAM-ARGUMENT` - `)` ends list
- Syntax elements `PROGRAM-ARGUMENT` - Multi line list using backslash

Removed

- Syntax element `PATH` - Optional surrounding by parentheses

0.14.0

Added

- Instruction `setup`/`env` - Ability to set variables separately for the `action to check`
- Instruction `timeout` - Ability to set no-timeout
- Type `text-source` (together with improvements of corresponding element `TEXT-SOURCE`)
- Type `text-transformer` - `grep` - Shortcut for `filter contents matches`
- Type `text-transformer` - `replace` - `-at LINE-MATCHER` - Limits replacement to certain lines

Changed

- Instruction `setup`/`env` - VALUE argument is a `text-source`
- Instruction `conf`/`timeout` - Move to later phases (breaking)
- Type `string-matcher` - Rename to `text-matcher` (breaking)
- Type `string-transformer` - Rename to `text-transformer` (breaking)

Removed

- Support of Python v 3.5

0.13.0

Added

- Interpreter actors - interpreter `% STRING [PROGRAM-ARGUMENT]...`
- Interpreter actors - interpreter `-python [PROGRAM-ARGUMENT]...`
- Instruction `conf`/`actor` - Ability to set the "null" actor
- Instruction `%`
- Instruction `copy` - Available in all phases
- Instruction `exit-code` - Option to check exit code from arbitrary program
- Type `file-matcher` - `path` - matches the absolute path of files
- Type `file-matcher` - `stem` - matches the "stem" part of file names
- Type `file-matcher` - `suffixes` - matches the "suffixes" part of file names
- Type `file-matcher` - `suffix` - matches the "suffix" part of file names
- Type `line-matcher` - `contents` - matches text contents using a `string-matcher`
- Type `string-transformer` - `char-case`
- Type `string-transformer` - `replace-test-case-dirs`
- Type `string-transformer` - `strip`
- Type `string-transformer` - `filter` - `-line-nums` Matches lines against line number ranges
- Type `string-matcher` - Add alias `~` for `matches`
- Type `string-matcher` - Add alias `==` for `equals`
- Type `program` - `-stdin` - Ability to set stdin
- Type `integer-matcher`
- Syntax element `STRING-SOURCE`
- Builtin symbol - string `NEW_LINE`

Changed

- Syntax of type expressions in nested expressions - May not contain binary operators (unless inside parentheses) (breaking)
- Syntax of type expressions - Precedences of `||` and `&&` (breaking)
- Type `files-matcher` - rename `-prune` -> `-with-pruned` (breaking)
- Type `files-matcher` - rename `empty` -> `is-empty` (breaking)
- Type `file-matcher` - `name` - match base name (also for the GLOB-PATTERN variant) (breaking)
- Type `file-matcher` - `name` / `path` - Use `~` for regex matching (breaking)
- Type `string-transformer` - `replace` - Include new-lines in processed lines, unless `-preserve-new-lines` is given (breaking)
- Type `string-transformer` - `filter`/`LINE-MATCHER` - Optimize by deriving interval of applicable lines
- Type `string-matcher` - `equals` - Expected value is `STRING-SOURCE`
- Type `string-matcher` - rename `empty` -> `is-empty` (breaking)
- Syntax element `STRING-SOURCE` - Option `-file` -> `-contents-of` (breaking)
- Syntax element `PATH` - Add optional surrounding by parentheses
- Syntax element `PATH` - Introduces "reserved words" that must be quoted if used as a file name (breaking)
- Syntax element `PROGRAM` - Add optional surrounding by parentheses
- Interpreter actors - interpreter `EXECUTABLE [ARGUMENT]...` requires `EXECUTABLE` to be a file
- Actor - `file interpreter` - arguments to source file are `PROGRAM-ARGUMENT`
- Exit codes - rename `IMPLEMENTATION_ERROR` -> `INTERNAL_ERROR` (breaking)
- Exit codes - Syntax error in `[act]` - `VALIDATION_ERROR` -> `SYNTAX_ERROR`
- Exit codes - Values of all non-zero exit codes (breaking)
- Instruction `conf`/`actor` - Remove "-" prefix from actor names (breaking)
- Instruction `setup`/`stdin` - Contents value is `STRING-SOURCE`
- Instruction `assert`/`contents` - Syntax - add `:` between path and matcher (breaking)
- Instruction `assert`/`dir-contents` - Syntax - add `:` between path and matcher (breaking)
- Builtin symbol - `string-transformer` - `TO_LOWER_CASE` -> Replaced with `char-case` (breaking)
- Builtin symbol - `string-transformer` - `TO_UPPER_CASE` -> Replaced with `char-case` (breaking)
- Builtin symbol - `string-transformer` - `REPLACE_TEST_CASE_DIRS` -> Replaced with `replace-test-case-dirs` (breaking)
- Builtin symbol - `string` - `LINE_SEP` -> Rename to `OS_LINE_SEP` (breaking)
- Syntax of `instruction description` - Delimiter is backtick (`) (breaking)
- Phase `conf` - Invalid HDS path gives `VALIDATION_ERROR`

Removed

- Interpreter actors - interpreter `$ SHELL-COMMAND`
- Type `line-matcher` - `matches` - replaced by `contents`

Fixed

- Syntax error messages - Include instruction name
- Help text of instruction `[assert]`/`exists`
- CLI case: `--preprocessor` - Detection of invalid argument syntax
- CLI case: `--actor` - Detection of invalid argument syntax
- CLI suite: `--actor` - Detection of invalid argument syntax
- Type `string-transformer` - `replace` - handling of new-lines in replacement string
- Instruction `assert`/`exists` - Handling of paths with non-last component that is not a directory

0.12.3

Added

- Builtin symbol - string `LINE_SEP`
- Builtin symbol - string `TAB`

Changed

- Actor `command-line` - Executes a `PROGRAM`

Fixed

- Type `files-matcher` / `matches -full` - Crash rendering err msg for recursive model w too few files.
- Test - tests not working for CWD=/ or CWD=/sub
- Test - tests not working for Python >= 3.8 (comparison of XML-strings generated from objects with dicts)

0.12.2

Added

- Type `file-matcher` - primitive `run`
- Type `string-matcher` - primitive `run`
- Type `string-transformer` - primitive `run`
- Instruction `file` - `-ignore-exit-code` option
- Instruction `run` - `-ignore-exit-code` option

Fixed

- Instructions `contents`, `stdout`, `stderr`: Detection of HARD_ERROR from string matcher

0.12.1.1

Added

- Type `files-condition`
- Type `files-matcher` - primitive `matches`

Changed

- Improves meaning of parentheses in expressions

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.