Release Notes - 2.4


  • 2.4.5-funcrel

    2.4.5-funcrel
    Fixes two analysis crashes on Entity Framework fluent-mapping and self-tracking-entities code that previously stopped analysis, so affected applications are now fully analyzed without errors
    Resolves missing entities and call links for EF6 Database-First models whose entity classes are not code-generated, so applications relying solely on an EDMX file (no generated DbContext) now get their entities detected correctly
    Fixes relyonLink sometimes pointing an entity to the wrong same-named class when a solution contains multiple classes sharing that name, so the reported relation now reflects the class that actually defines the entity.
    Generic-repository EF queries whose entity type is only known generically were silently producing no link at all; Fixes links these calls to Select of an “Unknown Entity” πŸ“ 59696
  • 2.4.4-funcrel

    2.4.4-funcrel
    Fixes an issue where Entity Framework (ObjectContext/Database-First) applications were not analyzed correctly β€” entities, SQL query objects, and links from EDMX-based models were missing.
    Adds support for Entity Framework Core 10.0, including its new LeftJoin()/RightJoin() LINQ operators.
    Fixes a crash during analysis of applications using LINQ query-comprehension syntax (from x in DbSet select x) over an Entity Framework DbSet.
    Fixes a crash during analysis that could silently drop entity call links and counts when a LINQ query resolved to certain entity object types
    Fixes a crash and missing entity-operation links for applications using ObjectContext.AddObject() (ObjectContext/EDMX model) where a single CLR entity type is exposed through multiple EntitySets.
  • 2.4.3-funcrel

    2.4.3-funcrel
    Fixes duplicate entity creation for database entities mapped through multiple EF6 ObjectContexts, improving the accuracy of analysis results.
    Improves entity call-link accuracy by removing incorrect links from in-memory entity navigation access and restoring missing links for valid DbContext-based entity queries.
    Improves entity query detection by preventing incorrect links from in-memory LINQ operations and ensuring reliable links for database entities in supported Entity Framework patterns.
  • 2.4.2-funcrel

    2.4.2-funcrel
    Enables create, update, and delete operations through Entity Framework state-based entity tracking
    Fixes excessive analysis time caused by slow evaluation of LINQ expressions in Entity Framework.
    Improves LINQ heuristics resulting in better performance
    Upgrades internal evaluation engine leading to an overall enhancement of CRUD Operations and Queries resolution, thus providing better/accurate results.
    Improves entity Select link detection for LINQ-based foreach loops and prevents incorrect links from being created for in-memory collections.
  • 2.4.1-funcrel

    2.4.1-funcrel
    Fixes an issue where execution stopped during analysis while evaluating a method. Execution now completes with the correct objects and links. πŸ“ 56416
    Fixes an issue where execution stopped during analysis while evaluating a method. Execution now completes with the correct objects and links. πŸ“ 56366
    Fixes an issue in the Entity Extension that could cause a crash due to an internal attribute error πŸ“ 56627
    Fixes an issue where execution stopped during analysis while evaluating a method. Execution now completes with the correct objects and links. πŸ“ 56653
    Fixes an issue where links were not created for complex Entity Framework query during analysis. πŸ“ 57133
    Fixes tracebacks observed in logs that were interrupting analysis execution. Ensures accurate mapping between the entity operation object and underlying table when Fluent API is used. πŸ“ 57132
    Ensures accurate and complete entity linkage in analysis for applications using C#12 primary constructor syntax πŸ“ 56366
    Improves reliability of analysis runs involving Entity extension. πŸ“ 56816
    Adds support for executing SQL queries using the SqlQuery method in the database class
    Upgrades internal evaluation engine leading to an overall enhancement of CRUD Operations and Queries resolution, thus providing better/accurate results.
  • 2.4.0-funcrel

    2.4.0-funcrel
    Improved handling of edge-case data to prevent unexpected processing errors
    Adds a quality rule for Avoid Full Entity Projection in Entity Framework Queries (1019418)
    Adds a quality rule to Avoid Unnecessary .Include() Calls (1019410)
    Adds a quality rule for Use .AsSplitQuery() When Including Multiple Collections (1019412)
    Adds a quality rule for Ensure using AsNoTracking for Select operations (1019414)
    Add a quality rule for Avoid using Count() when Any() is sufficient (1019416)
    Adds a quality rule for Avoid doing bulk changes without disabling Entity changes Tracking (1019420)
    Upgrades internal evaluation engine leading to an overall enhancement of CRUD Operations and Queries resolution, thus providing better/accurate results.
    Unknown SQL Query objects are now created per C# method, versus .Net Analysis Unit
  • 2.4.0-beta1

    2.4.0-beta1
    Eliminates unnecessary warning messages from the logs, providing clearer and more reliable log information. πŸ“ 54299
    Supports FlexLabs.EntityFrameworkCore apis resulting in more transactions being captured
    Adds a quality rule: πŸ’Ž 1019400. It results in a violation if EntityDbContext.SaveChanges() is called inside loops
    Adds a quality rule: πŸ’Ž 1019402. It results in a violation if EntityDbContext.Update() is used in loops
    Adds a quality rule: πŸ’Ž 1019406. It results in a violation if DbSet queries ToList() / ToArray()/ToDictionary are used in the foreach clause
    Adds a quality rule: πŸ’Ž 1019408. It results in a violation if LINQ operators are used after ToList()/ToArray()
    Adds a quality rule: πŸ’Ž 1019404. It results in a violation if Add() is used inside a loop when AddRange() is applicable.
    Upgrades internal evaluation engine leading to an overall enhancement of CRUD Operations and Queries resolution, thus providing better/accurate results.