Releases: Crypt32/Asn1Editor.WPF
ASN.1 Editor v25.8.7
What's New
Introduced side-by-side ASN.1 document view with synchronized scollbars. You need to have at least two tabs in ASN.1 Editor, then you can add another tab into current tab view as a split-view, or side-by-side view. Right-click on a tab header and you will see a list of tabs available to see side-by-side:
After that, you will have something like this:

Scrollbars (both, vertical and horizontal) are synchronized on a relative (percentage) offset basis. That is, if you have two documents of different sizes, another scollbar will scroll same percentage as original document, not the same number of items.
Note: this is NOT a full-blown diff view, it is just a way to place two documents side by side and scroll them together. Full-blown diff is a substantial work and may require heavy app refactoring.
This functionality currently comes with a limitation: once the document is opened on a compare (right) side, it is set into read-only mode, you cannot edit document until you exit from side-by-side view. Left document doesn't have such restriction as long as it is not opened anywhere on a compare side. I will look forward if I can unlock this restriction. This requires some heavy refactoring work.
Future considerations: I'm planning to make scrollbar synchronization optional, but it depends on a feedback with example use cases.
Changes Summary
- Addressed scrollbar double click issue by @Crypt32 in #113
- Added side-by-side ASN.1 document view by @Crypt32 in #114
- Improved AsnHexViewer performance by @Crypt32 in #115
- Expanded/Collapsed nodes are not reset with tab switch
Full Changelog: v25.8.7...v25.12.2
ASN.1 Editor v25.8.7
What's Changed
Full Changelog: v25.7.9...v25.8.7
ASN.1 Editor v25.7.9
What's new
- New MSI installer experience
Thanks to Advance Installer license, ASN.1 Editor binaries are now delivered using MSI installer (wrapped in .exe bootstrapper). This eliminates the hassle of managing ZIP package.
There are several UI improvements:
- New Ribbon menu. See #106
- New dialog which shows cryptographic hashes of selected node. See #103
- Added TreeViewItem virtualization, which should improve app performance with large tree
What's Changed
- Added virtualization to TreeViewItem. by @Crypt32 in #95
- added missing return statement by @Crypt32 in #100
- base64 in base64 fix by @thunderquack in #98
- Added Node Hashes dialog by @Crypt32 in #103
- Updated branding and copyrights back to my name/company by @Crypt32 in #104
- Migrated projects to SDK-style format by @Crypt32 in #105
- Implemented ribbon menu by @Crypt32 in #106
- Implemented app log maintenance by @Crypt32 in #107
New Contributors
- @thunderquack made their first contribution in #98
Full Changelog: v25.3.14...v25.7.9
ASN.1 Editor v25.3.14
This release brings big internal changes, performance and quality improvements.
What's new
- Updated tab selection using Open File or Decode commands. Previously, they always created new tad despite the fact that currently active tab is blank and can be re-used.
- several WPF user controls are converted to templated controls and moved to Asn1Editor.Wpf.Controls assembly, so can be reused in 3rd party projects and customized with your own control templates or styles. The work is in progress and more stuff is planned to offload from main executable.
- Updated New ASN.1 Node dialog, so it defaults to SEQUENCE CONSTRUCTED. SET is Constructed by default. Selecting universal types, CONSTRUCTED bit is reset.
- Converted long-running actions (which are noticeable when dealing with large files) to asynchronous tasks and will show UI indicator that some background task is in progress. Added some conditional logic to exclude unnecessary operations. For example, when editing OID database, or change INTEGER view options, only affected nodes are updated instead of refreshing entire tree.
- Added new label to status bar that shows the number of child nodes for selected node. This is useful, when you deal with CRLs, CTLs, catalog files, etc. that may have lots of nested content.
- Added ASCII pane coloring in Hex Viewer to match the original tool's behavior
- Added an option to disable coloring in Hex Viewer. Hex Viewer coloring may be slow on large files, which affects tree navigation experience.
- Fixed numerous existing bugs and new ones detected during this release (see below for the full list).
What's Changed (GitHub autogenerated)
- Converted AsnHexViewer user control to templated control. by @Crypt32 in #63
- addressed OidResolver.ResolveFriendlyName wrong return value. by @Crypt32 in #65
- Abstracted system UI dialogs using interface by @Crypt32 in #66
- New ASN.1 Node dialog respects font size by @Crypt32 in #68
- Created AutoSizeTextBox by @Crypt32 in #70
- Fixed issue when TextViewer doesn't respect requested width setting #69 by @Crypt32 in #71
- Implemented dynamic Constructed bit selection by @Crypt32 in #73
- Fixed bug when node offsets are incorrectly calculated. by @Crypt32 in #75
- Replaced BusyIndicator user control with templated control. by @Crypt32 in #76
- Fixed bug with tab opening UI behavior by @Crypt32 in #78
- Replaced AsnTreeView user control with templated control by @Crypt32 in #80
- Addressed slow Hex Viewer open/close by @Crypt32 in #82
- Implemented ASCII pane coloring by @Crypt32 in #85
- Addressed numerous issues with BIT_STRING by @Crypt32 in #89
- Improved long-running actions UI handling by @Crypt32 in #87
- Fixed misplaced icons #90 by @Crypt32 in #91
- Addressed multiple Date/Time bugs by @Crypt32 in #93
- Fixed comment semicolon placement bug in certutil renderer by @Crypt32 in #94
Full Changelog: v25.3.3...v25.3.14
ASN.1 Editor v25.3.3
What's new
Added an option to view selected node in binary converter dialog to use it in external apps:

What's Changed
- addressed bug #55 by @Crypt32 in #56
- Made '-path' CLI parameter implicit by @Crypt32 in #58
- Added support to view selected node in Binary Converter window by @Crypt32 in #60
- Fixed bug in UniversalString encoder by @Crypt32 in #62
Full Changelog: v24.8.28...v25.3.3
ASN.1 Editor v24.8.28
What's new
- Introduced a re-designed new tree node creation dialog which allows to specify type tag using different approaches:

- added support for RELATIVE_OID type editor
Other quality improvements and bug fixes
- includes ASN.1 binary parser bugs fixed in parser library.
- replaced individual ASN type icons with single sprite sheet by @Crypt32 in #37
- Added CA/Browser forum OIDs by @Crypt32 in #43
- Fixed TextViewer INTEGER and BIT_STRING rendering bugs by @Crypt32 in #44
- implemented #45 by @Crypt32 in #46
- Re-design new node creation dialog by @Crypt32 in #50
- Added editor support for RELATIVE_OID by @Crypt32 in #52
Full Changelog: v23.12.17...v24.8.28
ASN.1 Editor v23.12.17
This release implements the long-requested feature to view some implicit context-specific types as text rather than in hex. This is extremely useful when viewing/editing Subject Alternative Names (SAN) extension, where all alternative name types use CHOICE and ASN.1 Editor showed them as hex dump. Now, I'm trying to figure out if context-specific type consist of ASCII printable characters and if they do, convert them to text.
And you can view/edit these types in text mode:

In addition, Node Content Editor UI is updated. Text radio button is enabled only when node supports content editing in text mode:

In this case, node content contains non-printable characters, thus Text radio is disabled.
ASN.1 Editor v23.11.24
What's new?
This release adds OID lookup table editor:

In this dialog, you can search, edit and delete OID mappings.
OID lookup editor is accessible from both, main toolbar:

Or from OID node's context menu in ASN tree view:

Or from Edit menu. When you use context or Edit menu item, selected OID is automatically placed into editor form. All you need is to provide friendly name and hit Enter to save. All custom OID mappings are saved in current user's roaming AppData folder and have precedence over built-in OID mappings.
You can edit existing mappings. To edit existing item, you need to delete it first. Press Del button (or context menu on selected OID entry), it will be removed from the list and existing values will be copied directly to form. Provide new friendly name and hit Enter to save it in user dictionary.
Bug fixes
ASN.1 Editor v23.10.24
.NET Framework requirements
ASN.1 Editor is now compiled under .NET Framework 4.7.2 (previously, it was .NET 4.5 and previous release was mistakenly compiled under .NET 4.8).
Tabbed Documents
This release adds tabbed document support. Now, you can view and edit multiple ASN.1-encoded files in single window:

Now, New command creates a new tab instead of resetting entire window.
Tabbed documents support common shortcuts:
- Create new tab:
Ctrl+NorCtrl+T(either will work) - Close active tab:
Ctrl+F4 - Save all tabs:
Ctrl+Shift+S - Switch to next tab:
Ctrl+Tab
There are three navigation buttons on a left side of tab strip: 
- Left and right scroll bar buttons to scroll the tab strip (if all tabs overflow the visible area)
- Menu button to see all tabs and easily switch between them. Current active tab is highlighted with checkmark and bold font.
Note: there is a known issue that scrollbar isn't scrolling to a new selected tab if it is outside of the visible area. I'm working on it and hope to fix this issue.
Tab headers have its own context menu:

Nodes can be copied and pasted across different tabs. That is, you can copy ASN node in one document and paste in another. Node copy/paste functionality doesn't work across different instances of the editor.
Enhanced binary-to-string converter
With latest update of my ASN.1 Parser, ASN.1 Editor received additional cryptography-related PEM headers out of the box. As the result, radiobutton stack on a right side is deprecated and replaced with a dropdown list on a toolbar:

OID lookup
By default, ASN.1 Editor ships an OID.txt file with a list of OID <-> Friendly Name mappings that are used to resolve non-standard object identifiers. This list is fixed and replaced with every application update. Now, you can have custom lookup file in your user profile at the following location:
%AppData%\Sysadmins LV\Asn1Editor\OID.txt
The logic is as follows:
- Load OID map from
OID.txtfile stored along with the application - Try to lookup an
OID.txtfile under current user's profile (see above) and append mappings in runtime database. - User-defined mappings will overwrite all existing mappings (in case of duplicate OID definitions)
As a reminder: OID lookup database is used only when object identifier is not registered on your machine.
What's Changed
- Ref lib update by @Crypt32 in #25
- Ref lib update by @Crypt32 in #26
- Advanced bin2 string by @Crypt32 in #27
- downgraded from .NET 4.8 to .NET 4.7.2 for better compatibility by @Crypt32 in #28
- Tabbed documents by @Crypt32 in #29
- implemented #12 by @Crypt32 in #30
Full Changelog: v23.10.20...v23.10.24
ASN.1 Editor v23.10.20
What's Changed
- Update OID.txt by @PorucikPihrt in #3
- Show English friendly names for OIDs by @RufusJWB in #7
- Added OID: commonPKI certHash by @matheller in #23
- Fix of parent window detection in Debug build by @denchukanov in #21
- Asn1 editor v next by @Crypt32 in #24
New Contributors
- @PorucikPihrt made their first contribution in #3
- @RufusJWB made their first contribution in #7
- @matheller made their first contribution in #23
- @denchukanov made their first contribution in #21
- @Crypt32 made their first contribution in #24
Full Changelog: https://github.com/PKISolutions/Asn1Editor.WPF/commits/v23.10.20


