0x7c13/Notepads
54.9
Weak · 23 September 2026
28.7k
lines of production code
C#
primary language
5
measurements over time
What this system is
Notepads is a multi-instance text editor application that provides a modular, interface-driven architecture for managing and editing text files. It features a comprehensive suite of editing tools including find-and-replace, markdown preview, diff viewing, and print support, all supported by a robust session management system for state persistence. The application also includes extensive localization for numerous languages and handles complex UI interactions through a dedicated command handling infrastructure.
How it got here
2019 — Notepads feature expansion and localization
31 changes.
This period focused on expanding the Notepads editor with new features such as multi-instance support, find-and-replace, and session management, while simultaneously refactoring the codebase into a modular, service-driven architecture. The work also included significant localization updates for multiple languages and the addition of governance documentation.
2020 — Localization and UI control expansion
22 changes.
This period focused on expanding internationalization support by adding and updating translations for Korean, Hindi, Odia, Georgian, Bulgarian, Croatian, and Traditional Chinese. The team also significantly broaded the UI component library by importing and integrating new controls from the Windows Community Toolkit, such as MarkdownTextBlock and DropShadowPanel, while refactoring the application's architecture to improve modularity and performance.
2021–2024 — internationalization and localization
5 changes.
This period focused on expanding the application's global reach by adding complete localization support for multiple new languages, including Portuguese (Portugal), Arabic (Yemen), Serbian (Latin and Cyrillic), Vietnamese, and Dutch. Each addition involved creating or updating resource files to translate UI elements, settings, and error messages, enabling the interface to be displayed in these specific regional variants.
Features
Add Georgian (ka-GE) translations for Notepads
Added the initial Georgian (ka-GE) localization files (Manifest.resw, Resources.resw, Settings.resw) to the Notepads application, enabling the interface to be displayed in Georgian for users with that language preference.
src/Notepads/Strings/ka-GE · high confidence
Add In-App Notification control
The InAppNotification control has been added to the Notepads.Controls library, enabling the display of local in-app notifications. This new component supports customizable animation durations, vertical and horizontal offsets, and stack modes (Replace, StackInFront, QueueBehind). Users can now trigger notifications via text, UI elements, or data templates, with options to show or hide the dismiss button and configure how multiple notifications are stacked.
src/Notepads.Controls/InAppNotification · high confidence
Add Odia (or-IN) translations for app strings
Added the Odia (or-IN) localization files (Manifest.resw, Resources.resw, Settings.resw) to the Notepads application. This change provides the first complete set of Odia translations for the editor's interface, including file type names, UI dialog messages, and settings labels, enabling users with that language preference to interact with the app in their native language.
src/Notepads/Strings/or-IN · high confidence
Added Bulgarian (bg-BG) localization for Notepads
Introduced Bulgarian (bg-BG) translations for the application's user interface, including settings, resource names, and error messages. This enables Bulgarian-speaking users to interact with the editor in their native language.
src/Notepads/Strings/bg-BG · high confidence
Added Go To Line control
A new 'Go To Line' feature has been introduced, allowing users to navigate directly to a specific line number in the document. The implementation includes a new \GoToControl\ UI component with a text input for the line number, a search button, and validation logic that restricts input to valid integers within the document's line range. This control is wired to trigger navigation events, enabling the core 'Go To' functionality.
src/Notepads/Controls/GoTo · high confidence
Added Serbian (Latin and Cyrillic) translations for Notepads
Added new localization files for Serbian (sr-Latn and sr-cyrl) covering manifest names, resource strings, and settings. This enables the application to display its interface in Serbian, including translations for file types, error messages, find-and-replace prompts, and about page content.
src/Notepads/Strings/sr-Latn, src/Notepads/Strings/sr-cyrl · high confidence
Added assembly metadata and runtime directives for Notepads
The Notepads project now includes an AssemblyInfo.cs file that defines the assembly title, description, copyright, and version (1.0.0.0). Additionally, a Default.rd.xml file has been added to configure .NET Native runtime directives, enabling full reflection for application assemblies.
src/Notepads/Properties · high confidence
Added helper classes for UI thread dispatching and theme change detection
The Notepads.Controls.Helpers namespace now includes DispatcherQueueHelper and ThemeListener. DispatcherQueueHelper provides extension methods to safely execute code on the UI thread using the Windows DispatcherQueue, handling both synchronous and asynchronous delegates. ThemeListener listens for changes to the application's theme or high-contrast mode and raises a ThemeChanged event, allowing the application to react to system theme updates.
src/Notepads.Controls/Helpers · high confidence
Added print functionality with header and footer support
Users can now print their documents with custom headers and footers. The new print feature includes UI components for the first page and continuation pages, allowing for formatted text output with configurable header and footer text that appears on every page.
src/Notepads/Controls/Print · high confidence
Arabic (Yemen) localization added
Users who select Arabic (Yemen) as their display language will now see the application's interface, settings, and error messages translated into Arabic. This change adds the complete set of localized strings for the ar-YE locale, covering the manifest, resources, and settings pages.
src/Notepads/Strings/ar-YE · high confidence
Dutch (nl-NL) localization strings added
The Dutch (nl-NL) localization files (Manifest.resw, Resources.resw, Settings.resw) have been added, providing translations for application strings including file type names, UI dialog text, settings labels, and about page content.
src/Notepads/Strings/nl-NL · high confidence
Imported Markdown parsing components from Windows Community Toolkit
The MarkdownTextBlock control now includes a comprehensive set of new classes for parsing various Markdown block elements, including code blocks, headers, horizontal rules, link references, lists, paragraphs, quotes, tables, and YAML headers. These components, sourced from the Windows Community Toolkit, enable the control to parse and render structured Markdown content such as nested lists, tabular data, and code snippets with language identification.
src/Notepads.Controls/MarkdownTextBlock/Markdown · high confidence
Imported MarkdownTextBlock control from Windows Community Toolkit
The MarkdownTextBlock control, along with its associated event args and styling resources, has been moved from the Windows Community Toolkit into the Notepads repository. This change brings the full implementation of the MarkdownTextBlock control—including its properties, events, and theme-specific XAML resources—directly into the project, allowing for better flexibility and maintenance of the markdown rendering component.
src/Notepads.Controls/MarkdownTextBlock · high confidence
Imported WCT controls: DropShadowPanel and GridSplitter
The Notepads application now includes the \DropShadowPanel\ and \GridSplitter\ controls from the Windows Community Toolkit. The \DropShadowPanel\ allows for easy addition of drop shadows to XAML elements, while the \GridSplitter\ enables users to resize columns and rows within a Grid layout. These components are now available for use in the application's UI to enhance visual depth and layout flexibility.
src/Notepads.Controls/DropShadowPanel, src/Notepads.Controls/GridSplitter · high confidence
Introduce Markdown preview extension with image caching
A new Markdown preview extension has been added to the application, providing a live preview of Markdown content alongside the editor. The implementation includes a dedicated XAML view and code-behind that binds to the text editor's state (text, font size, wrapping) to keep the preview synchronized. A key behavioral change is the integration of an ImageCache to handle image resolution, which improves performance by caching resolved images rather than fetching them repeatedly.
src/Notepads/Controls/Markdown · high confidence
Introduce session backup and restore functionality
The application now automatically saves and restores the state of all open tabs, including file paths, content, and selection, allowing users to recover their workspace after a crash or restart. This is managed by a new \SessionManager\ and \INotepadsCore\ interface, which handle serializing session data to JSON and managing backup files. Users can also access the backup folder directly from the UI.
src/Notepads/Core · high confidence
Introduced SetsView control with customizable tab/header layout and selection events
A new SetsView control has been added to manage a collection of sets (tabs or headers) with advanced layout and interaction capabilities. The control supports multiple width modes (Equal, Compact, Actual) to control how header widths are distributed, and provides events for selection, closing, and dragging sets. It also exposes properties for headers, templates, and closability, allowing developers to fully customize the appearance and behavior of the set strip.
src/Notepads.Controls/SetsView · high confidence
Introduced new session data models for text editors
Added NotepadsSessionDataV1 and TextEditorSessionDataV1 classes to define the structure for saving and loading session states. These models capture editor-specific metadata such as file paths, backup locations, and scroll positions, laying the groundwork for future data migration and session persistence improvements.
src/Notepads/Core/SessionDataModels · high confidence
Introduces multi-instance support and configurable app launch behavior
The Notepads application now supports running multiple independent instances simultaneously, allowing users to open separate editor windows for different files or sessions. This change introduces a new \Program.cs\ entry point that routes activation events to either redirect to an existing instance or spawn a new one, controlled by the \AlwaysOpenNewWindow\ setting. The \App.xaml.cs\ and \Package.appxmanifest\ files are updated to support this multi-instance architecture, including enabling the \SupportsMultipleInstances\ capability in the app manifest. Additionally, the app's startup logic now respects user preferences for window behavior, ensuring that the correct instance handles file activations and protocol launches.
src/Notepads · high confidence
Introduces new service classes for app activation, settings, and file handling
The Notepads application now includes several new service classes in the Services directory to handle core functionality. ActivationService manages app activation events such as file, command line, and protocol triggers. AppSettingsService and ThemeSettingsService manage user preferences including font, encoding, and theme settings. FileExtensionProvider defines supported file types, while MRUService handles the most recently used files list. Additional services include JumpListService for Windows jump lists, LoggingService for diagnostics, AnalyticsService for telemetry, NotepadsProtocolService for deep links, and NotificationCenter for UI notifications. These changes reorganize and expand the application's internal architecture to support multi-instance, recent files, and better activation handling.
src/Notepads/Services · high confidence
New Find and Replace control implementation
The Find and Replace functionality has been refactored into a dedicated \FindAndReplaceControl\ component. This update introduces a new UI for searching and replacing text, featuring options for case sensitivity, whole word matching, and regular expressions. Users can now navigate search results using the Enter key or F3, and the control supports both forward and backward search directions.
src/Notepads/Controls/FindAndReplace · high confidence
New command handling infrastructure for keyboard and mouse input
The application now uses a new command handling system in the Notepads.Commands namespace to manage keyboard and mouse inputs. This introduces new types including \CommandHandlerResult\, interfaces for \IKeyboardCommand\ and \IMouseCommand\, and concrete handlers (\KeyboardCommandHandler\, \MouseCommandHandler\) that process input events and determine whether they should be handled or swallowed. This refactors how commands are registered and executed, providing a more structured way to handle user input across the application.
src/Notepads/Commands · high confidence
New dialog controls for app lifecycle, file operations, and error handling
The \src/Notepads/Controls/Dialog\ directory now contains a suite of new dialog components to handle specific user interactions and error states. This includes \AppCloseSaveReminderDialog\ and \SetCloseSaveReminderDialog\ to manage unsaved changes when closing the app, and \FileRenameDialog\ to support renaming files with validation for existing files and supported extensions. Additionally, new error and confirmation dialogs have been added: \FileOpenErrorDialog\ and \FileSaveErrorDialog\ for I/O issues, \SessionCorruptionErrorDialog\ for data recovery, and \RevertAllChangesConfirmationDialog\ for discarding edits. A base \NotepadsDialog\ class was also introduced to standardize theme-aware styling and resource loading across these controls.
src/Notepads/Controls/Dialog · high confidence
New extension utilities and interfaces for content preview and scrolling
The Notepads.Extensions namespace now includes several new files that support content preview and scrolling features. IContentPreviewInterface and INotepadsExtensionProvider define the contract for retrieving content preview extensions, with NotepadsExtensionProvider implementing this to return a MarkdownExtensionView for Markdown files. Additionally, new utility classes are added: DispatcherExtensions for asynchronous UI thread execution, ScrollViewerExtensions for expression-based scroll synchronization, and StringExtensions for string manipulation and URI conversion.
src/Notepads/Extensions · high confidence
New utility classes for file, encoding, and session management
The Notepads application introduces a suite of new utility classes in the src/Notepads/Utilities directory to handle core functionality. These include BrushUtility for managing acrylic brush effects, DialogManager for handling content dialogs, Downloader for fetching data feeds, and EncodingUtility for managing text encodings (including ANSI and UTF variants). Additionally, the update adds FileSystemUtility for file system operations, FileTypeUtility for identifying file types, FontUtility for font management, FutureAccessListUtility for managing file access tokens, LanguageUtility for localization, LineEndingUtility for handling line endings, SearchEngineUtility for search engine integration, SessionUtility for managing session data, and ThreadUtility for thread checking. These utilities support features such as auto-guessing file encoding, opening files from command lines, managing session states, and handling UI elements like dialogs and fonts.
src/Notepads/Utilities · high confidence
Portuguese (Portugal) translations added for app resources
Added the initial Portuguese (Portugal) localization files (Manifest.resw, Resources.resw, Settings.resw) containing translations for file type names, UI dialogs, settings, and about page content, enabling the application to display the interface in pt-PT.
src/Notepads/Strings/pt-PT · high confidence
Vietnamese (Vietnam) localization added
The application now supports the Vietnamese (Vietnam) locale, providing translated text for the manifest, resources, and settings pages, including UI labels, error messages, and about page content.
src/Notepads/Strings/vi-VN · high confidence
Architecture
Refactor NotepadsMainPage into modular partial classes
The NotepadsMainPage class has been refactored into separate partial classes for distinct concerns: IO operations (file open/save), main menu and recent files, notifications, status bar, theme settings, and view modes. This structural change improves code organization and maintainability without altering the user-facing features.
src/Notepads/Views/MainPage · high confidence
Refactored TextEditor into a modular, interface-driven architecture
The TextEditor control has been refactored to use a new ITextEditor interface and a split TextEditorCore implementation. This change separates the editor's public API from its internal logic, introducing partial classes for features like date/time insertion, text duplication, external event handling, find-and-replace, font sizing, indentation, and text joining. This modular structure improves maintainability and allows for better testing and extension of the text editing capabilities.
src/Notepads/Controls/TextEditor · high confidence
Behavioural changes
Added English (en-US) localization strings for app settings, resources, and file type display names
The application now includes new English (en-US) resource files (Manifest.resw, Resources.resw, and Settings.resw) containing localized strings for the About page, advanced settings (status bar, accent color, background tint), and file type display names. This update ensures that UI elements, dialog messages, and settings descriptions are properly translated for English-speaking users.
src/Notepads/Strings/en-US · high confidence
Added assembly metadata and runtime directives for Notepads.Controls
The Notepads.Controls library now includes an AssemblyInfo.cs file that defines metadata such as title, product name, copyright (2019-2024 Jackie (Jiaqi) Liu), and version numbers (1.0.0.0). Additionally, a Notepads.Controls.rd.xml file has been added to configure .NET Native optimizer directives, ensuring that types accessed via reflection or dynamic code patterns are preserved during optimization.
src/Notepads.Controls/Properties · high confidence
Centralized application settings storage and configuration keys
The application now uses a dedicated \ApplicationSettingsStore\ class to manage persistent user preferences via the Windows \ApplicationData\ API, replacing previous storage mechanisms. A new \SettingsKey\ class defines the specific configuration keys for editor options (such as font style, line numbers, and smart copy), theme settings, and app behavior (like exiting when the last tab is closed). This change consolidates how settings are read, written, and removed, ensuring consistent access to user preferences across the application.
src/Notepads/Settings · high confidence
Croatian (hr-HR) translations updated
The Croatian (hr-HR) localization files (Manifest.resw, Resources.resw, Settings.resw) have been updated with new and revised translations. This includes string resources for file type names, UI dialogs (such as save/close reminders and error messages), and settings page labels, ensuring the interface is fully translated for Croatian-speaking users.
src/Notepads/Strings/hr-HR · high confidence
Customized UI styles for app bar buttons, checkboxes, radio buttons, and navigation items
The application now uses custom XAML resource dictionaries to define the visual appearance of key UI components. This includes a new style for AppBarButtons that supports label positioning and overflow states, custom templates for CheckBoxes and RadioButtons with specific foreground/background states, and specialized styles for NavigationViewItemPresenters to handle left and top pane layouts. These changes allow for a more consistent and tailored visual identity across the Notepads interface.
src/Notepads/Resource · high confidence
Czech (cs-CZ) localization updates
The Czech (cs-CZ) localization files (Manifest.resw, Resources.resw, Settings.resw) have been updated with new and revised translations. This includes UI strings for session snapshot/backup settings, full-screen and compact overlay modes, file open/save error dialogs, and the About page content, ensuring the Czech interface reflects the latest application features and terminology.
src/Notepads/Strings/cs-CZ · high confidence
Disable Acrylic effect in low-power or restricted-accessibility modes
The HostBackdropAcrylicBrush now checks for Energy Saver status and the system's AdvancedEffectsEnabled setting. When Energy Saver is active or advanced visual effects are disabled, the brush falls back to a simple color brush instead of rendering the acrylic effect. This ensures the application respects system-level power-saving and accessibility preferences, preventing unnecessary GPU usage and visual artifacts in those states.
src/Notepads/Brushes · high confidence
Finnish (fi-FI) localization resources added
The Finnish (fi-FI) language pack has been initialized with new resource files (Manifest.resw, Resources.resw, Settings.resw) containing translations for the application's UI strings, including settings, error messages, and about page content.
src/Notepads/Strings/fi-FI · high confidence
French (fr-FR) localization updated
The French (fr-FR) translation files (Manifest.resw, Resources.resw, and Settings.resw) have been updated with new and revised strings, ensuring the application's interface, settings, and file type descriptions are fully localized for French-speaking users.
src/Notepads/Strings/fr-FR · high confidence
German (Germany) translations updated for settings, resources, and file type names
The German (Germany) localization files (Manifest.resw, Resources.resw, Settings.resw) have been updated with new and revised translations. This includes German labels for file type names (e.g., C, CGI, Clojure, CMake, CoffeeScript, CSV), UI strings for dialogs (save reminders, error messages, find/replace), and settings page titles (about page, advanced settings, personalization).
src/Notepads/Strings/de-DE · high confidence
Hindi (hi-IN) localization updated
The Hindi (hi-IN) translation files (Manifest.resw, Resources.resw, Settings.resw) have been updated with new and revised string entries for various UI components, including file type names, dialog messages, and settings labels.
src/Notepads/Strings/hi-IN · high confidence
Hungarian (hu-HU) localization updates
The Hungarian translation files (Manifest.resw, Resources.resw, Settings.resw) have been updated with new and revised strings for the About page, personalization settings, and various application dialogs and features, ensuring the interface is fully localized for Hungarian users.
src/Notepads/Strings/hu-HU · high confidence
Italian localization updates for settings and resources
The Italian (it-IT) translation files (Manifest.resw, Resources.resw, Settings.resw) have been updated with new and revised strings. This includes translations for the app close/save reminder dialog, file open/save error dialogs, find-and-replace interface text, and various settings pages (About, Advanced, Personalization).
src/Notepads/Strings/it-IT · high confidence
Korean (ko-KR) translations added for app UI, settings, and file types
The Korean (ko-KR) localization files (Manifest.resw, Resources.resw, and Settings.resw) have been added, providing translations for the application's user interface, settings pages (including About, Advanced, and Personalization), and file type display names. This enables Korean-speaking users to see the app in their native language across menus, dialogs, and settings.
src/Notepads/Strings/ko-KR · high confidence
Polish (pl-PL) translation updates
The Polish language resources have been updated with new and corrected translations for the application's user interface. The changes include translations for file type display names (such as Aegisub, Assembly, ASP, AutoHotkey, Bash, BibTeX, C, CGI, Clojure, CMake, CoffeeScript, and CSV files), UI strings for dialogs (including save reminders, file open/save errors, and find-and-replace features), and settings page labels (covering about page, advanced settings, and personalization options).
src/Notepads/Strings/pl-PL · high confidence
Portuguese (Brazil) translations updated
The Portuguese (Brazil) localization files (Manifest.resw, Resources.resw, Settings.resw) have been updated with new and revised translations. This includes UI strings for file type display names, error dialogs, find-and-replace interface elements, and settings pages, ensuring the application's interface is fully translated for Portuguese (Brazil) users.
src/Notepads/Strings/pt-BR · high confidence
Project governance and documentation updates
The repository now includes a Code of Conduct, a Privacy Policy, and a Contributor Guide to clarify project standards and user data practices. Additionally, the README has been significantly expanded with badges, feature lists, and download instructions, while a .gitattributes file was added to enforce consistent line endings for source files.
(repo-wide) · high confidence
Refactored DiffViewer with synchronized scrolling and improved rendering
The DiffViewer control has been refactored to improve scrolling behavior and rendering performance. A new ScrollViewerSynchronizer class ensures that vertical and horizontal scrolling is synchronized across the side-by-side diff panes. The rendering logic has been reorganized into dedicated classes (BrushFactory, RichTextBlockDiffContext, RichTextBlockDiffRenderer) to manage text highlighting and block generation more efficiently. The SideBySideDiffViewer XAML and code-behind have been updated to integrate these new components, providing a smoother user experience when navigating diff views.
src/Notepads/Controls/DiffViewer · high confidence
Reorganizes file picker logic into a dedicated factory class
The file picker creation logic has been refactored into a new \FilePickerFactory\ class located in the \Notepads.Controls.FilePicker\ namespace. This change consolidates the creation of \FileOpenPicker\ and \FileSavePicker\ instances, ensuring that supported file extensions are sorted and prioritized (text documents first) in the UI. This improves the user experience by grouping common text document types at the top of the file selection dialogs.
src/Notepads/Controls/FilePicker · high confidence
Settings page reorganized into dedicated sub-pages
The Settings interface has been restructured into distinct sub-pages for Text and Editor, Personalization, Advanced, and About information. This change introduces new settings for Smart Copy, session snapshots, language preferences, and theme customization, while also adding a dedicated About page displaying app details, dependencies, and privacy policy.
src/Notepads/Views/Settings · high confidence
Spanish (Spain) localization updates
The Spanish (Spain) translation files (Manifest.resw, Resources.resw, Settings.resw) have been updated with new and revised strings for UI elements, including file type names, error messages, find-and-replace dialogs, and settings page labels.
src/Notepads/Strings/es-ES · medium confidence
Turkish (Turkey) localization updates
Added and updated Turkish (tr-TR) translations for the application's user interface, including settings, resources, and manifest strings. This ensures that users with Turkish language preferences see the correct text for menus, dialogs, and settings options.
src/Notepads/Strings/tr-TR · high confidence
Updated Chinese (zh-CN) translations for UI strings
The Chinese (zh-CN) localization files (Manifest.resw, Resources.resw, Settings.resw) have been updated with new and revised translations. This includes labels for file type displays, dialog messages (such as save reminders and error dialogs), find-and-replace interface text, and settings page titles (including About, Advanced, and Personalization pages).
src/Notepads/Strings/zh-CN · high confidence
Updated German (Switzerland) translations for UI and settings
The German (Switzerland) localization files (Manifest.resw, Resources.resw, and Settings.resw) have been updated with new and revised translations. This includes labels for the app close/save reminder dialog, find-and-replace interface, file open/save error messages, and various settings pages such as About, Advanced, and Personalization. Users will see the application interface and settings menus in their preferred language.
src/Notepads/Strings/de-CH · high confidence
Updated Japanese (ja-JP) translations for app strings
The Japanese localization files (Manifest.resw, Resources.resw, and Settings.resw) have been updated with new and revised translations. These changes ensure that UI elements, error messages, and settings labels in the Notepads application are correctly displayed in Japanese, covering areas such as file type names, dialog prompts, find-and-replace functionality, and personalization settings.
src/Notepads/Strings/ja-JP · high confidence
Updated Russian (ru-RU) translations for UI strings
The Russian localization files (Manifest.resw, Resources.resw, Settings.resw) have been updated with new and revised translations. This includes strings for file type display names, error dialogs, find-and-replace interface elements, and settings page labels, ensuring the application's user interface is fully translated into Russian.
src/Notepads/Strings/ru-RU · high confidence
Updated Traditional Chinese (zh-TW) translations
The Traditional Chinese (zh-TW) localization files (Manifest.resw, Resources.resw, and Settings.resw) have been updated with new and revised translations. This includes translations for file type names, UI elements for dialogs (such as save reminders and error messages), and settings page labels, ensuring the application's interface is fully localized for Traditional Chinese users.
src/Notepads/Strings/zh-TW · high confidence
Updated Ukrainian (uk-UA) localization strings
The Ukrainian language pack for Notepads has been updated with new and revised translations across multiple resource files. The update includes translations for the About page (disclaimers, author contacts, source code links), Advanced settings (status bar visibility), Personalization settings (accent color, background transparency), and various UI components such as the find-and-replace dialog, file open/save error messages, and file type display names. This ensures the Ukrainian interface reflects the latest feature additions and terminology.
src/Notepads/Strings/uk-UA · high confidence
Dependencies
Restructured project files and added new control components
The build configuration for the Notepads application and its controls library has been reorganized. The Notepads.Controls project now includes new components for handling in-app notifications, markdown text blocks, and drop shadows, while the main Notepads project has been updated to include new command handlers, dialog controls, find-and-replace controls, print controls, and settings views. These changes reflect a reorganization of the codebase to improve modularity and maintainability.
(dependencies) · medium confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 51 → 55 (+3.4)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 59 → 52 (-6.5)
- Architecture 86 → 86 (+0.5)
- Maturity 54 → 54 (+0.1)
- Readiness 58 → 54 (-4.2)
- Security 44 → 62 (+17.4)
Resolved (30)
- Build did not complete in the analyzer
- Duplicated block (11 lines × 2) (src/Notepads/Extensions/StringExtensions.cs)
- Duplicated block (12 lines × 2) (src/Notepads/Controls/Print/PrintArgs.cs)
- Duplicated block (16 lines × 2) (src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/HyperlinkInline.cs)
- Duplicated block (17 lines × 2) (src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/HyperlinkInline.cs)
- Duplicated block (17 lines × 2) (src/Notepads/Controls/TextEditor/TextEditorCore.FindAndReplace.cs)
- Duplicated block (17 lines × 2) (src/Notepads/Controls/TextEditor/TextEditorCore.Indentation.cs)
- Duplicated block (29 lines × 2) (src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/BoldItalicTextInline.cs)
- HackComment (src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/MarkdownRenderer.Inlines.cs)
- HackComment (src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/MarkdownRenderer.Inlines.cs)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- …and 10 more
New (60)
- AnalyzerSeverityNone (src/.editorconfig)
- AnalyzerSeverityNone (src/.editorconfig)
- AnalyzerSeverityNone (src/.editorconfig)
- AnalyzerSeverityNone (src/.editorconfig)
- AnalyzerSeverityNone (src/.editorconfig)
- AnalyzerSeverityNone (src/.editorconfig)
- AnalyzerSeverityNone (src/.editorconfig)
- AnalyzerSeverityNone (src/.editorconfig)
- AnalyzerSeverityNone (src/.editorconfig)
- AnalyzerSeverityNone (src/.editorconfig)
- AnalyzerSeverityNone (src/.editorconfig)
- AnalyzerSeverityNone (src/.editorconfig)
- AnalyzerSeverityNone (src/.editorconfig)
- AnalyzerSeverityNone (src/.editorconfig)
- CommentedOutCode (src/Notepads.Controls/Helpers/DispatcherQueueHelper.cs)
- CommentedOutCode (src/Notepads.Controls/MarkdownTextBlock/MarkdownTextBlock.cs)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (11 lines × 4) (src/Notepads/Controls/DiffViewer/SideBySideDiffViewer.xaml.cs)
- Duplicated block (11–12 lines × 2) (src/Notepads/Core/TabContextFlyout.cs)
- …and 40 more
Architecture
- Unchanged — 1 containers · 0 contexts · 0 edges
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
0x7c13/Notepads was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 23 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 6ec270c134b115d6bff38bc3966784e8893a419c — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-955b9cee9818.