Commercial Demos

Statical Prism for AL 5.0.1 SE

Author
Statical  
Category
Commercial Demos
Date
06/10/2026
First release
09/05/2023
Size
435,23 MB
Downloads
838
MD5 digest
2D72DA2B394F235637F9796839CFE9E6
Popularity
Downloaded 15 times in the last two weeks

Statical Prism for AL gives you and your AI agent deep code insight into Microsoft Dynamics 365 Business Central. It reads your whole solution, including the apps you only have as packages, and turns it into one code graph. You use it to understand and review code, and your agent uses it for the questions a text search cannot answer.

MCP server for your AI agent
GitHub Copilot, Claude Code or any other MCP-capable agent can query the same code graph you browse.

Total solution overview
Module details and dependency graph, table relations graph and more.

Extensive code graph
Run powerful code queries on your workspace-as-a-graph — leave no stone unturned.

Semantic search
Find usages, find system function usages, semantic filtering, and much more.

Rich code browsing experience
Extended object view with inlined extensions, semantic code coloring, Visual Studio Code integration, etc.


Read more on https://stati-cal.com/PrismForAL.

 

History:

5.0.1:

  • ID-3568  Feature  Prism's MCP server appears in VS Code automatically, without editing mcp.json
  • ID-3582  Feature  Prism for AL Connector extension tells Copilot in VS Code to use Prism's MCP tools for AL questions
  • ID-3573  Bugfix   Opening a workspace fails when an installed app contains a report extension and ships without source
  • ID-3574  Bugfix   Opening a workspace fails with a redundant dependency error when the package cache holds a newer app version from earlier in the session
  • ID-3575  Bugfix   One object that cannot be indexed aborts the entire workspace load
  • ID-3629  Bugfix   Symbols load from the wrong package versions when a multi-root workspace sets a relative al.packageCachePath
  • ID-3579  Bugfix   Choosing a package cache path in Settings fails with an internal error about shlwapi.dll
  • ID-3597  Bugfix   Object pills, procedure extension markers and namespace expand buttons never appear or stay disabled
  • ID-3580  Bugfix   MSIX installation fails on Windows 10 and Windows Server
  • ID-3569  Bugfix   MCP Server page: Configuration advice for Visual Studio Code was incorrect for .code-workspace files
  • ID-3566  Bugfix   Copy buttons are cut off in the Show mcp.json popup on a maximized window at 200% display scaling

5.0:

  • ID-2734  Feature  Agentic Prism (MCP)
  • ID-3498  Feature  Major MCP server changes since Preview: outline, source-read, find-references and reachability-set tools, stdio support, and one vocabulary across all 26 tools
  • ID-3092  Feature  Improved procedural flow graph window
  • ID-3057  Feature  Improved module graph page
  • ID-3058  Feature  Improved table relations explorer
  • ID-3009  Feature  Symbol search dialog
  • ID-3159  Feature  Show AL source when included in .app file
  • ID-3193  Feature  Show inherited procedures on an interface that extends another interface
  • ID-3492  Feature  BC29: Support for interface methods that carry a default implementation
  • ID-3500  Feature  BC29: Support for TestHandlerContext and DataSourceContext data types
  • ID-2907  Feature  Open from BC: Online download via published Statical Prism BC app without need for tenant's admin consent
  • ID-2894  Feature  Optimize loading of very large workspaces
  • ID-2934  Feature  Optimize code graph index memory consumption for full graph
  • ID-2832  Feature  Optimize procedural graph model
  • ID-3000  Feature  Share package cache between UI and PrismCmd
  • ID-3511  Feature  List and clear cached AL packages from PrismCmd
  • ID-3515  Feature  Deleting cached packages shows no progress, and a blocked deletion does not identify the program holding the package
  • ID-3378  Feature  Install a licence key and show the licence status from the command line
  • ID-3017  Feature  Topological sort: objects
  • ID-2606  Feature  Detect and warn about nested modules
  • ID-3218  Feature  Find Usages: Support for XmlPort `textelement` and `textattribute`
  • ID-3125  Feature  Mark flowfields in Outline with a green `f`
  • ID-2929  Feature  Cascading AL settings visualization (user, workspace, module)
  • ID-2948  Feature  TransferFields filter for mapping state
  • ID-2954  Feature  Solution overview: Ctrl+C copies module publisher, name and version to the clipboard for the selected module
  • ID-3034  Feature  Search field for recent items
  • ID-2969  Feature  Discovery page search field
  • ID-2968  Feature  Package cache page search field
  • ID-2970  Feature  Launch settings section
  • ID-2972  Feature  DirectoryAppProps.json workspace metadata
  • ID-2971  Feature  DirectoryAppProps.json metadata tracing where each value comes from
  • ID-2941  Feature  PrismPath is now strict about requiring a namespace when navigating to objects in a namespace
  • ID-3038  Feature  Allow opening workspace with dependency that is missing a dependency constraint (Workspace resolver threw on dependencies without a version constraint)
  • ID-3202  Bugfix   Code graph build aborts on Business Central's SOA Setup page
  • ID-3081  Bugfix   Module resolution fails when the setting al.packageCachePath in .code-workspace files use relative paths
  • ID-3089  Bugfix   Multi-root `.code-workspace` with ancestor folder entry causes `DuplicateModuleId`
  • ID-3090  Bugfix   A path in a .code-workspace file must be ignored, if the path does not contain an app.json file directly
  • ID-2981  Bugfix   Objects not shown when symbol files are downloaded with "Download symbols from global sources"
  • ID-2992  Bugfix   Setting to enable software rendering (UCEERR_RENDERTHREADFAILURE (0x88980406) mitigation experiment)
  • ID-3192  Bugfix   Code graph reverses interface inheritance: IFoo extends IBar, not IBar extends IFoo
  • ID-3112  Bugfix   Procedure does not resolve in (IFoo as IBar).MyProcedure
  • ID-3204  Bugfix   References are not resolved when "is" or "as" is combined with a boolean operator
  • ID-3497  Bugfix   SubPageLink field does not resolve when the sub-page's SourceTable needs a using directive from its own file
  • ID-3122  Bugfix   Subscribers of InternalEvents not found
  • ID-3113  Bugfix   Extended view for extended interfaces is wrong
  • ID-3200  Bugfix   Parse error: `fileuploadaction` nested in a page action `group(...)`
  • ID-3024  Bugfix   RIMD analysis: Record methods GetBySystemId, IsEmpty and Next should classify as Read
  • ID-2976  Bugfix   Prism Path cannot navigate to object with '.' char in name
  • ID-3155  Bugfix   Free text search does not trim whitespace in the search expression, silently dropping matches
  • ID-3016  Bugfix   Server should not drop connection untimely
  • ID-3491  Bugfix   Opening an interface briefly freezes the window while inherited procedures load
  • ID-3531  Bugfix   The page a window opens on is not marked in the navigation pane, and clicking it rebuilds the page
  • ID-3502  Bugfix   Open from BC: Connect button stays disabled after entering the download folder
  • ID-3096  Bugfix   In result tree views (e.g. flows), non-existing object id are presented as 'ValueNone'
  • ID-3053  Bugfix   Double-click on selected item does not re-navigate in field search, procedure search and usages window
  • ID-2987  Bugfix   Wipe package cache always shows error label
  • ID-2977  Bugfix   Indentation of Clear(record) was sometimes wrong
  • ID-2906  Bugfix   Some menu items are blank in the dependency view context menu for object details

4.5:

  • ID-2920  Feature  BC28: Support for analysisview elements in pages
  • ID-2930  Bugfix   Procedural flow visualization: Some join transitions were not displayed
  • ID-2927  Bugfix   Namespace explorer: Double-click did not find any object pairs as evidence


4.4:

  • ID-1170  Feature  Show system fields: SystemId, SystemRowVersion and audit fields System{Created|Modified}{By|At}
  • ID-2884  Feature  Find usages of system fields
  • ID-2908  Feature  Separate colours for parameter and return identifiers
  • ID-2918  Feature  Dotted underlining of parameters/variables of type temporary record
  • ID-2917  Feature  Open namespaces page in separate window
  • ID-2913  Feature  Manual refresh button after graph availability changes (avoid disrupting user flow)
  • ID-2912  Feature  Module dependency graph images should be saved with in higher resolution
  • ID-2900  Feature  Show bookmark in object header
  • ID-2891  Feature  Recent navigation: Remember last code line navigation
  • ID-2879  Bugfix   Fields in calls to LoadField related methods are not resolved
  • ID-2887  Bugfix   RIMD overview: Tables are not ordered; should be ordered by object id
  • ID-2899  Bugfix   Toggle object bookmark context menu item does not work on object header
  • ID-2890  Bugfix   Recent navigation state: restoring on re-open sometimes fails
  • ID-2881  Bugfix   Recent item Open from BC creates a open folder recent item
  • ID-2880  Bugfix   Recent item Open from BC always opens the workspace without re-download
  • ID-2915  Bugfix   Some windows related to a workspace do not close when the workspace closes
  • ID-2911  Bugfix   Filter icon sometimes indicates filter is excluding items when it isn't
  • ID-2641  Bugfix   Scroll left when navigating in code
  • ID-2901  Bugfix   PrismCmd: Error message when using open without a "goto file" parameter 

4.3:

  • ID-2794  Feature  BC27: Support for Directory.App.Props.json
  • ID-2836  Feature  BC27: Support for ReadyToRun app manifest package structure
  • ID-2844  Feature  Open from BC: Provide in-app guidance on Azure error code AADST90099 (application authorization required for customer tenant)
  • ID-0822  Feature  Resolution and tooltips of option values
  • ID-2820  Feature  Open from BC: Support for COSMO Alpaca
  • ID-2823  Feature  BC27: Treat new table Truncate method as a delete(false) in RIMD analysis
  • ID-2850  Feature  BC27: Support for MaskType property
  • ID-2818  Feature  Outline: Trigger filter switch should toggle both triggers and trigger events
  • ID-2852  Bugfix   Features page error following click on Learn-link
  • ID-2846  Bugfix   Generate event subscriber code generates invalid code for option typed parameters
  • ID-2841  Bugfix   Find built-in function usages: Error in header text
  • ID-2848  Bugfix   Regression: Open Dependencies in new Window does nothing
  • ID-2848  Bugfix   Regression: Open Dependencies in new Window does nothing
  • ID-2839  Bugfix   Objects panel filter icon does not reset
  • ID-2825  Bugfix   Free text search: skipped lines not always marked as such 

4.2:

  • ID-2556  Feature  Immediate insights: Reachable from user actions interfaces in the procedural flow-graph (visual graph)
  • ID-2766  Feature  Open event subscriber source generator directly from the context menu of database and page event triggers
  • ID-2779  Feature  Find Inbound Actions (Find Inbound Procedural Flow with filter)
  • ID-2717  Feature  Open from BC cloud solution, simplify GUI
  • ID-2770  Feature  Open from BC: Clear credentials
  • ID-2767  Feature  Open from BC: Add link to troubleshooting page
  • ID-2706  Feature  Add button to synchronize object index with current object
  • ID-2799  Feature  View/Show workspace menu with toggles for toolbar, objects and outline panels
  • ID-2796  Feature  Improved button and search box layout in workspace window
  • ID-2748  Feature  Quick copy event subscriber code with default settings
  • ID-2739  Feature  [Experimental] Search boxes: match when search characters occur in correct order (like in Visual Studio Code's command field)
  • ID-2721  Feature  Optional case-sensitive free text search
  • ID-2679  Feature  Add CompilationUnit to tooltips also when object not in workspace
  • ID-2789  Feature  Error notifications: Link to session log
  • ID-2786  Feature  Immediate insights: UserAction (user actions can reach declaration) and EventPublisher (declaration reaches event publishers)
  • ID-2781  Feature  Show an interface icon before methods defined in  
  • ID-2774  Feature  Persist outline settings
  • ID-2773  Feature  Remove field index padding to save horizontal space (improves usability when enabled in outline on small screens)
  • ID-2758  Feature  New setting to control if object numbers are shown or not
  • ID-2776  Bugfix   Open from BC failed authorization on customer's tenant
  • ID-2812  Bugfix   Cannot start graph server when module of last navigation is absent
  • ID-2805  Bugfix   Mouse back navigation triggers page navigation instead of object navigation
  • ID-2798  Bugfix   Parse error when CalcFormula or TableRelation has a filter like this: filter(MyEnum::ValueA ..)
  • ID-2787  Bugfix   Graph server failed to start on BC14
  • ID-2769  Bugfix   Namespaces: remove false-positive namespace usages for the global namespace (the usage details window showed an empty table anyway)
  • ID-2768  Bugfix   Sorting by column was mistakenly removed from object index settings in 4.0.0
  • ID-2709  Bugfix   Name resolution fails for some enum values in non-atomic table relation filter expressions
  • ID-2613  Bugfix   Resolution in const condition expressions 

4.1:

  • ID-2416  Feature  Namespace explorer
  • ID-2752  Feature  Namespaces tab for selected module in solution view, showing namespaces declared in the module
  • ID-2729  Feature  Save flow results to Excel file (was: copy flow results to clipboard)
  • ID-2715  Feature  Move expand/collapse and filter panel buttons closer to search results (usages, flows, free-text search)
  • ID-2736  Bugfix   Open from BC: Error connecting to OData services on businesscentral.dynamics.com - Unauthorized
  • ID-2760  Bugfix   Open from BC: Failed to download System app from sandbox
  • ID-2747  Bugfix   Syntax error in generated event subscriber code (missing quotes around object name)
  • ID-2745  Bugfix   Fixes to resolution of objects names when ObsoleteState is Moved
  • ID-2740  Bugfix   NullReferenceException when opening a workspace with "Search package cache" checked

4.0:

  • ID-2364 Feature Fluent Theme (Dark and Light modes)
  • ID-2467 Feature Open from BC
  • ID-1692 Feature Event subscriber source generator
  • ID-2499 Feature  From Prism, open object from symbol file in Visual Studio Code as .dal file
  • ID-2630 Feature Show static analysis for database trigger events
  • ID-2682 Feature Show object bookmark in object index and provide filter options
  • ID-2681 Feature Show object ObsoleteState in object index and provide filter options
  • ID-2680 Feature Show object history mark in object index and provide filter options
  • ID-2622 Feature Show object numbers in declaration tooltips (use it to disambiguate search results)
  • ID-2670 Feature BC26 (runtime 15): More app metadata
  • ID-2648 Feature BC26 (runtime 15): Support for fields moved between extensions - take field obsoletion into account
  • ID-2619 Feature BC26 (runtime 15): Multiline text literals
  • ID-2719 Feature BC26 (runtime 15): Support for 'continue' keyword in loops
  • ID-2733 Feature BC26 (runtime 15): Support for data types HttpRequestType, TestHttpRequestMessage and TestHttpResponseMessage
  • ID-2732 Feature BC26 (runtime 15): Support for TestHttpRequestPolicy property
  • ID-2657 Feature Memory settings for graph loading
  • ID-871  Feature Find Field Usages: Categorize function call with field as actual parameter as an Assign if formal parameter is by reference (VAR)
  • ID-2609 Feature All options (Options expander) in the control panel should have a corresponding setting
  • ID-2645 Feature Support for properties ClearActions, ClearLayout and ClearViews
  • ID-2635 Feature Merge triggers in report extensions for data items
  • ID-2713 Feature Object outline should have expand/collapse buttons like object index
  • ID-2685 Feature Focus on search fields in Field Search, Procedure Search and Event Publisher Search
  • ID-2622 Feature Show object numbers in declaration tooltips (use it to disambiguate search results)
  • ID-2615 Bugfix Graph server fails to start on some machines
  • ID-2701 Bugfix UnsatisfiableVersionConstraintException: Unexpected unsatisfiable new version constraint for already resolved module with module ref Application
  • ID-2700 Bugfix TransferFields mapping wrongly shows merge/extension symbol when target is missing
  • ID-2697 Bugfix On-prem usages report requires the full graph and should warn about it
  • ID-2678 Bugfix Parse error on Enum value range in CalcFormula filter
  • ID-2677 Bugfix Regression: Prism for AL Connector blocks while opening workspace
  • ID-2624 Bugfix Free text search does not (always) navigate to actual result
  • ID-2598 Bugfix Graph translation error when On{Before|After}Validate triggers are added in field modifications of an unresolved field
  • ID-2673 Bugfix Free text search result order: Unnatural order for match in header
  • ID-2668 Bugfix Regression: When workspace is opened from Visual Studio Code with "View in Prism for AL", "Start action" setting must be ignored
  • ID-2666 Bugfix Object index "Go to module" context menu item does nothing (internal?)
  • ID-2655 Bugfix When graph loading finishes, object reloading should not trigger page change
  • ID-2604 Bugfix Conditional compilation symbols are ignored, when not at line start
  • ID-2599 Bugfix Graceful handling of unexpected graph server process exit during graph server startup
  • ID-2631 Bugfix Static analysis fails when initiated from declarations in extensions
  • ID-2616 Bugfix Wrong indentation when code contains TAB characters
  • ID-2592 Bugfix RecentItems shortcut keys are out of order
  • ID-2718 Bugfix Error opening workspace: Null reference error when parsing invalid XLIFF files
  • ID-2701 Bugfix UnsatisfiableVersionConstraintException: Unexpected unsatisfiable new version constraint for already resolved module with module ref Application
  • ID-2700 Bugfix TransferFields mapping wrongly shows merge/extension symbol when target is missing
  • ID-2697 Bugfix On-prem usages report requires the full graph and should warn about it
  • ID-2678 Bugfix Parse error on Enum value range in CalcFormula filter
  • ID-2677 Bugfix Regression: Prism for AL connector, navigateTo blocks while opening workspace
  • ID-2624 Bugfix Free text search does not (always) navigate to actual result
  • ID-2598 Bugfix Graph translation error when On{Before|After}Validate triggers are added in field modifications of an unresolved field
  • ID-2730 Bugfix Properties Subtype and ObsoleteState must be case insensitive like other properties

3.1.0:

  • ID-2544  Feature  Show inbound flow-graph
  • ID-2580  Feature  Procedural flow-graph visualization enabled for database and page event triggers
  • ID-2548  Feature  Prism Path (custom URI scheme for specifying declaration links)
  • ID-1689  Feature  Find usages tree view
  • ID-2566  Feature  BC25 (runtime 14): SymbolReference.json omits zero valued attributes, e.g. "Kind" for control and action areas
  • ID-2547  Feature  Free text search tree view
  • ID-2538  Feature  Moved 'extends' and 'customizes' from object header to first group in object view
  • ID-2537  Feature  Moved namespace and usings further down in object view
  • ID-2564  Feature  File | Explorer menu: Order items by name
  • ID-2516  Feature  RIMD overview window should show original declaration
  • ID-2533  Feature  BC25 (runtime 14): Support for conditional expressions (condition ? ifTrue : ifFalse)
  • ID-2532  Feature  BC25 (runtime 14): Support for new PageStyle type
  • ID-2529  Feature  BC25 (runtime 14): Code graph flow logic for Query.SaveAsJson
  • ID-2521  Feature  BC25 (runtime 14): Support for .alpackages subfolders
  • ID-2513  Feature  BC25 (runtime 14): Support for new OptimizeForTextSearch property
  • ID-2502  Feature  BC25 (runtime 14): Support for ProfileExtensions
  • ID-2496  Feature  BC25 (runtime 14): Support for <interface> as <interface> expressions
  • ID-2495  Feature  BC25 (runtime 14): Support for <interface> is <interface> expressions
  • ID-2494  Feature  BC25 (runtime 14): Support for interface extending interfaces
  • ID-2468  Feature  BC25 (runtime 14): Resolution of 'this'
  • ID-2582  Bugfix   Find inbound flow to enum value fails with message "Unexpected empty tree context" when referred from table relation filter expression
  • ID-2579  Bugfix   Inbound and outbound flow to/from OnValidate trigger in extension object failed
  • ID-2569  Bugfix   Fixed resolution of objects that have ObsoleteState Moved or Removed
  • ID-2546  Bugfix   Parse error when AllowedFileExtensions property has multiple comma-separated values
  • ID-2545  Bugfix   Tooltips sometimes lack information
  • ID-2541  Bugfix   Prism cache optimization script uses wrong path
  • ID-2531  Bugfix   Parse error when ColumnSpan property value is negative
  • ID-2530  Bugfix   Graph loading - name resolution error when codeunit has TableNo property and record function is implicitly scoped
  • ID-2525  Bugfix   Setting "Confirm Closing Workspace" does not work when closing the control panel window
  • ID-2515  Bugfix   Setting "Confirm Closing Workspace" should also apply when reloading a workspace
  • ID-2487  Bugfix   Procedural graph Commit node does not have a tooltip

3.0.0:

  • ID-2465  Feature  Procedural graph visualization (outgoing procedural flows)
  • ID-2469  Feature  Immediate insights: RIMD analysis for procedure and triggers in object
  • ID-2471  Feature  RIMD overview for a procedure/trigger
  • ID-2478  Feature  Reachable RIMDing procedures, triggers and dispatch nodes
  • ID-2102  Feature  Immediate insights: Commit analysis for procedure and triggers in object
  • ID-2479  Feature  Reachable commiting procedures and triggers
  • ID-2477  Feature  Build compact or full graph
  • ID-2461  Feature  Generate graph on startup
  • ID-2506  Feature  Graph views can be saved to a PNG image file
  • ID-2505  Feature  Graph views are touch sensitive (pan and zoom in module relations, table relations and procedural graph)
  • ID-1020  Feature  TransferFields mapping should include extended fields
  • ID-2501  Feature  Solution overview export to Excel
  • ID-2498  Feature  Module graph - export as image (png/jpg/svg)
  • ID-2486  Feature  BC25 (runtime 14): Parsing support for properties FileUploadAction and FileUploadRowAction
  • ID-2462  Feature  Flows from and Flows to: Enable also when compact graph is available
  • ID-2455  Feature  Show TransferFields Mapping (context menu item)
  • ID-2452  Feature  Unresolved modules should have tabs in row details
  • ID-2451  Feature  Show related module discoveries for resolved modules
  • ID-2450  Feature  Show related module discoveries for unresolved modules
  • ID-2428  Feature  Workspace troubleshooting (reproduce workspace without .al code)
  • ID-2363  Feature  Search procedure and event publishers: Find all when search field is empty
  • ID-2497  Bugfix   Graph loading: Name Resolution - The given key was not present in the dictionary
  • ID-2460  Bugfix   Runtime package not detected
  • ID-2436  Bugfix   Do not crash when feature metrics file is corrupted; transactionally save feature metrics file
  • ID-2435  Bugfix   Cannot open .code-workspace when al.packageCachePath is not found on disk
  • ID-2427  Bugfix   Error opening workspace (UnsatisfiableVersionConstraintException)