Release notes

Version Updates

Codebase Cartography Version update log

All versions

What's new

Version 1.0.1 ·

More accurate maps and smoother exports

Version 1.0.1 focuses on analysis accuracy, more complete Content Maps, and smoother exports. Project and Feature Maps contain fewer misleading relationships, Content Maps capture more supported interface controls, and your annotations are matched more safely to their source files. This update also improves analysis for developers working on Adobe Photoshop plugins built with UXP, Adobe's plugin platform, and makes Generate All results easier to identify and review.

Highlights

AreaWhat changedTangible results
Code analysisBetter detection of imports, functions, state changes, database usage, runtime/framework identity and supported Photoshop plugin operations.Fewer misleading labels and relationships to investigate.
Complexity scoresJavaScript, TypeScript, supported HTML scripts and Python use the structure of the code to count decisions.Comments and quoted text no longer inflate these estimates.
Content MapsMore supported controls are recognized, with clearer visibility and condition reporting.A more useful inventory of interface content within your selected scan scope.
Your annotationsContent-master matching considers both source file and content key.Repeated keys in different files are less likely to mix up your notes.
Export workflowConsistent default filename timestamps, elapsed-time confirmation and optional Console-log saving.Easier identification and review of completed export runs.
Optimizations and streamliningLess repeated matching work and no separate Content scan of excluded files in Generate All.Less unnecessary work while preparing your maps.

1. Improved code analysis

The analyzers better distinguish relevant source code from comments, examples and ordinary text. Improvements cover imports, function and method names, changes to stored values, and SQL, the language used for database queries. Runtime and framework labels also require clearer evidence of the software environment and libraries a file uses.

For developers building Adobe Photoshop plugins with UXP, (or similar React-based javascript apps,) the maps now identify more supported requests to read or change Photoshop data, issue commands, use modal execution, and select or access files. (Modal-scoped execution is Photoshop's controlled scope method for plugin operations... opening nested UI popup windows, for example.) These findings help you locate host interactions for review; they describe requests found in source code.

Event relationships are more selective too. An event is a signal that another part of a program can respond to. Matching names such as click or close alone no longer establish a connection between unrelated targets or test and production code.

2. More accurate complexity scores

Complexity is an estimate of the decisions in a file, such as branches and loops, that can help you choose code to review. For JavaScript, TypeScript, Python and supported executable scripts written directly inside HTML, analysis now reads the structure of the code before counting those decisions. Comments and literal text, such as quoted examples, do not contribute to the score.

Scores can therefore change when you scan unchanged code again. A successfully analyzed file with no counted decisions scores a 1. If the syntax cannot be analyzed or an analysis limit is reached, Project Map leaves the value blank and Feature Map uses its existing 0-score marker for unavailable results.

Reading the results: a Feature Map score of 0 means unavailable or not analyzed. Other supported languages still use the earlier text-based estimate. Compare scores across languages with care.

3. Richer Content Maps within your selected scope

Content Maps now follow the same selected file inventory used when the user selects to Generate all exported basemaps. Files excluded from that inventory are no longer brought back by a separate Content scan. Included test or generated files can still contribute content when they are part of your selected scope.

The map also recognizes supported Spectrum interface controls, including buttons and text fields, and more controls inside static HTML fragments embedded in JavaScript. Static fragments are markup written directly in the source rather than assembled while the program runs.

Visibility and condition reporting now make the available evidence clearer:

  • Hidden: the source contains supported evidence that hides the element.
  • Conditional: a detected branch or template requirement affects when the content appears.
  • Unknown: the source does not provide enough supported evidence to decide.

Unknown replaces assumptions that content is always visible. Stylesheet rules, dynamically assembled interfaces and custom component behavior can still require inspection in the running application.

4. Safer preservation of your Content-Map annotations

A Content master is the spreadsheet you provide to retain your own content entries and annotations. Matching now considers both Source File and Content Key, the identifier assigned to a content entry. This helps keep notes attached to the right source when different files reuse the same key.

Unmatched or ambiguous master rows are retained for review. Invalid master files must be corrected before export can continue. The existing map columns remain compatible; this update does not add support for arbitrary extra Content-master columns.

5. Smoother exports and an optional Console log

When date and time naming is enabled, the default Project, Feature and Content Map filenames now consistently receive timestamps, including after restoring a saved project. Custom filenames remain under your control.

the 'Generate All' selection displays a themed completion message with elapsed processing time. This covers scanning, analysis and map exports, excluding time spent waiting for your export decisions and the final optional log write.

The Output pane now includes Save Console.log, checked by default. After all three maps finish exporting, Generate All saves a timestamped Console log in the selected export folder. Uncheck it to skip that step. Existing logs are preserved if a filename would otherwise collide.

The saved log contains the retained Console session, which may include earlier activity. If saving the log fails, your exported maps remain available and the app directs you to Console > Save Log for recovery.

6. Optimizations and streamlining

Analysis reuses common matching patterns when looking for software-interface calls and streamlines event matching. Content extraction also stays within the selected scan inventory, avoiding unnecessary work on excluded files.

Actual processing time depends on your project, settings and computer. Some of the more accurate source analysis requires additional work, so these improvements do not imply that every project or analysis stage will finish faster.

7. Other refinements

  • Playing a fully rewound dynamic background replays the same drawing before later plays generate another variation.
  • A timer confirmation message upon completed exports displays the run duration.