Changelog

Track the evolution of Code Pathfinder with detailed release notes and updates.

Release v0.0.26

v0.0.26September 9, 2024
View on GitHub

What's New?

  • You can now query multiple entities in a single query and compare with them in conditions and filter them like CodeQL 🚀 Example:
    FIND method_declaration AS md, method_invocation AS mi
    WHERE md.getName() == mi.getName() &&
    md.getVisibility() != "private"
    
  • The pathfinder cli now fresh look with code, line number, file name formatted
  • If you make any mistakes in query, pathfinder cli advises you error message exactly line number and doesn't crash the program
  • Posthog had issues in previous release due to breaking changes in golang sdk from posthog, which is now fixed.
<img width="1079" alt="Screenshot 2024-08-28 at 9 46 54 PM" src="https://github.com/user-attachments/assets/3b1910c1-d092-435b-8f0a-b07a892478b9">

Changelog

Full Changelog: https://github.com/shivasurya/code-pathfinder/compare/v0.0.25...v0.0.26

Release v0.0.25

v0.0.25August 25, 2024
View on GitHub

Code PathFinder 🥉 v0.0.25 (Quarter century 🏏 release)

This release has major improvements in cli capabilities, added extra core entities, able to execute queries as .cql file

  1. Introduced BinaryExpr as core entity. You could now search for AddExpr, AndBitwiseExpr, ComparisonExpr, AndLogicalExpr, DivExpr, EqExpr, NEExpr , LeftShiftExpr, MulExpr, OrBitwiseExpr, OrLogicalExpr, RemExpr, RightShiftExpr, SubExpr, UnsignedRightShiftExpr, XorBitwiseExpr expressions in codebase. It has both LeftOperandString() and RightOperandString() as API

    Example:

      FIND add_expression AS ad WHERE ad.getBinaryExpr().GetLeftOperandString() != "int a"
    
  2. Code Pathfinder queries now can be stored as .cql file and execute with pathfinder cli 💻

      $ pathfinder query --project ~/src/code-pathfinder/test-src/android --query-file ../pathfinder-rules/example.cql
    
  3. Code Pathfinder command-line interface has been freshly revamped with spf13/cobra based library.

      Code Pathfinder is designed for identifying vulnerabilities in source code.
      Usage:
          pathfinder [command]
    
      Available Commands:
        ci          Scan a project for vulnerabilities with ruleset in ci mode
        completion  Generate the autocompletion script for the specified shell
        help        Help about any command
        query       Execute queries on the source code
        scan         Scan a project for vulnerabilities with ruleset
        version     Print the version and commit information
    
      Flags:
         --disable-metrics   Disable metrics collection
         -h, --help                 help for pathfinder
    
       Use "pathfinder [command] --help" for more information about a command.
    
  4. Pathfinder queries (*.cql) will be available under pathfinder-rules directory in this repo.

What's New?

New Contributors

Full Changelog: https://github.com/shivasurya/code-pathfinder/compare/v0.0.24...v0.0.25

Release v0.0.24

v0.0.24August 11, 2024
View on GitHub

Method chaining is powerful feature to write models and expose methods to support runtime filtering instead of compile time/construction time of source code graph

from now on 🚀 you'll be able to chain methods for JavaDoc object and methods. More support for entities and methods coming soon in future releases.

FIND method_declaration AS md WHERE md.getDoc().GetCommentAuthor() == "shivasurya"

What's Changed

Full Changelog: https://github.com/shivasurya/code-pathfinder/compare/v0.0.23...v0.0.24

Release v0.0.23

v0.0.23August 4, 2024
View on GitHub

What's Changed 🚀

Introducing methods, alias and variety condition support (using expr-lang) in this release. From now on you could query the codebase, 🎉

FIND method_declaration AS md WHERE md.getName() == "main" && "@Override" in md.getAnnotation()
  • Pathfinder now uses ANTLR for verifying queries, expr-lang to support variety of operators for condition based filtering support.
  • Pathfinder now finds vulnerable configs in Android project codebase. Checkout pathfinder ruleset published in website
  • Pathfinder is now available in npm. You could download using npm i codepathfinder

Detailed changes

Full Changelog: https://github.com/shivasurya/code-pathfinder/compare/v0.0.22...v0.0.23

Release v0.0.22

v0.0.22July 14, 2024
View on GitHub
Showing 26-30 of 30 releases

Stay Updated

Watch our GitHub repository to get notified about new releases.

Star on GitHub