--- title: "Release Notes" slug: "monomer-service-release-notes" status: "update" updated: 2026-11-03T16:08:53Z published: 2026-11-03T16:08:53Z canonical: "docs.discngine.com/monomer-service-release-notes" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.discngine.com/llms.txt > Use this file to discover all available pages before exploring further. # Release Notes What changed in each release of Biotoolkit Monomers, newest first. Every entry describes something you can see or do; internal changes are mentioned only where they change behaviour. Each entry carries a tag for the part of the application it concerns: | Tag | Area | | --- | --- | | `[Catalogue]` | The Home dashboard and the Monomers page: report, filters, drawings, counters | | `[Form]` | The monomer form: create, edit, preview, cap groups | | `[Import]` | Bulk import and the import file | | `[Version Log]` | Version history (called Version Log before 2026.11.02): history, deletion and revive | | `[Chemistry]` | Structure handling, canonical forms, attachment points, aliases | | `[Integration]` | Behaviour seen through other Discngine applications and the service interface | ## 2026.11.02, released on 3 November 2026 ### New Features - `[Catalogue]` **A redesigned application.** Biotoolkit Monomers moves to APEX 26 and the Discngine design system. **Home** is now a dashboard: service status, library counts, recent changes and quick actions. The catalogue becomes the **Monomers** page, filtered with chips (scope, polymer type, stereo, and terminal for peptides) and an **Actions** column to open, alias or delete a monomer. See [Start here](/public/docs/biotoolkit-monomer-service). - `[Chemistry]` **Aliases.** One monomer can carry several symbols, so a library that names a residue `MeNle` and another that names it `NMeNle` resolve to the same structure instead of two duplicates. Aliases have their own **Aliases** page, are shown and searched on the Monomers page, and can be registered by an import. See [Monomer Aliases](/public/docs/monomer-aliases) and [How to Manage Monomer Aliases](/public/docs/how-to-manage-monomer-aliases). - `[Chemistry]` **Enhanced stereochemistry.** A centre declared racemic (`&1`) or unknown (`or1`) is kept in the drawing, the SMILES shown and exported, and the duplicate key: the racemate, the unknown and the pure enantiomer of one drawing are three monomers. See [Enhanced Stereochemistry](/public/docs/enhanced-stereochemistry). - `[Chemistry]` **Double bonds of unknown geometry.** A double bond written without `/` or `\` is kept undefined instead of being stored as trans, so a cis/trans mixture is no longer refused as a duplicate of its trans isomer. - `[Form]` **Isomer label.** Two separated fractions that share a drawing with an unknown centre are registered as two monomers, `A` and `B`. The field appears as soon as the structure carries an *or* group. - `[Form]` **Duplicate and resolve stereo.** From a monomer with a racemic or unknown centre, one action opens the form prefilled for its assigned form, linked to it as *Resolved from*. The service checks that the new structure is one of the isomers the unknown stands for, and the monomer page shows the link, the resolved centres and a stereo comment. See [How to Resolve the Stereochemistry of a Monomer](/public/docs/how-to-resolve-the-stereochemistry-of-a-monomer). - `[Catalogue]` **Attachment point columns.** The Monomers page shows one column per attachment point (`R1`, `R2`, …) with its cap group, so a monomer's connectivity can be read and filtered without opening it. - `[Catalogue]` **Drawings with R-groups or with caps applied.** A monomer can be shown either with its `R1`, `R2` placeholders or as the molecule it becomes once its cap groups are applied. - `[Catalogue]` **Export.** Tick monomers on the Monomers page, or take the whole report as filtered, and download them as an SD file, CSV, Excel, SMILES or JSON, with either the R-group placeholders or the cap groups applied as the main structure; the other form travels in each record as a CXSMILES property, and enhanced stereo survives in both. The same export is `POST /monomer/export` on the service interface. See [How to Export Monomers](/public/docs/how-to-export-monomers). - `[Integration]` **Stereo fields on the service interface and the import.** `isomerLabel`, `resolvedFrom` and `resolvedFromId` on the monomer object, `ISOMER_LABEL` and `RESOLVED_FROM` in the import file, a stereo analysis per monomer, and the list of a monomer's registered stereoisomers. See [REST API](/public/docs/monomer-service-rest-api). - `[Integration]` **Automatic refresh across the toolkit.** Registering or changing a monomer, an alias or a cap group propagates without manual action: the web service reloads its monomer library, then every tool that depends on the monomers, such as PepSea and PepFuNN, refreshes in turn, for the organisation concerned only. - `[Integration]` **The structure editor stays current.** It loads its monomer library from a manifest at start-up, checks it every minute, and offers to reload when the library has changed. - `[Chemistry]` **A molfile without the chiral flag is read as the MDL standard says.** Wedges without the flag mean a racemate (`&1`). The form asks when it meets such a molfile, the import page has an option, on by default, and the service interface a `chiralFlagAbsent` parameter. See [Enhanced Stereochemistry](/public/docs/enhanced-stereochemistry#a-molfile-without-the-chiral-flag). - `[Import]` **SD files without a SMILES field.** A record is read from its molfile when it has no `SMILES` field, so an SD file saved by a drawing tool imports as it is. See [Import File Format](/public/docs/monomer-import-file-format). - `[Integration]` **An organisation can work without the public library.** On request, an organisation can be configured without the shipped public monomers, for organisations that maintain their own reference set: it then sees, searches and registers only its own monomers. Cap groups and monomer types stay shared. - `[Chemistry]` **Cap group vocabulary managed per organisation.** Administrators add, retire and describe their organisation's cap groups on the new **Cap groups** page, and the service exposes the same vocabulary to integrations. The public cap groups are the five the HELM toolkit ships (`H`, `OH`, `NH2`, `Azide`, `Ethynyl`); halide and vinyl caps (`Br`, `Cl`, `I`, `Ethenyl - Vinyl`) are cap groups of the organisations that use them. A private cap group takes a symbol of its own. A cap group that monomers use can be deactivated, not deleted. See [How to Manage Your Organisation's Cap Groups](/public/docs/how-to-manage-your-organisations-cap-groups). ### Improved - `[Version Log]` **Version history** replaces the Version Log page: archived versions are shown as cards, filtered with chips (all, edits, deletions, to revive), with what happened and what changed for each. See [How to Review a Monomer's Version History](/public/docs/how-to-review-a-monomer-version-history). - `[Import]` **The import page shows its progress:** the rows processed while a file runs, and per file in the import history the imported and refused rows. See [How to Import Monomers in Bulk](/public/docs/how-to-import-monomers-in-bulk). - `[Form]` **Chemical monomers show *Not applicable*** as their natural analog, instead of `- - Not applicable`. - `[Form]` **Molfiles in the form.** A pasted molfile stays in the field until **Preview**, which reads it: R-group atoms, `R1` and `R2` labels and Ketcher attachment points become attachment points. See [How to Create or Edit a Monomer](/public/docs/how-to-create-or-edit-a-monomer). - `[Form]` **The capped view follows the form.** The structure with its cap groups applied reflects the cap groups being chosen, before saving, and is available on a new monomer. - `[Form]` **Defaults for a monomer created by hand:** monomer type `Backbone`, natural analog `X - Unknown/Any`, now first in its list. - `[Import]` **A confirmation before the import starts**, recalling how the rows will be registered under the options chosen. - `[Chemistry]` **Meso compounds are one monomer.** A stereo group on a meso compound is read as absolute, so its `abs`, `&1` and `or1` forms are one monomer instead of three. See [Enhanced Stereochemistry](/public/docs/enhanced-stereochemistry#what-is-not-covered). - `[Chemistry]` **Stereochemistry the library cannot store is refused with a reason**, instead of being stored as something else: enhanced stereo on double bonds (`STEB` collections) and axial chirality (atropisomers, allenes, spiro[3.3]heptanes). See [Enhanced Stereochemistry](/public/docs/enhanced-stereochemistry#what-is-not-covered). - `[Version Log]` **Every change carries the user's identity.** Edits, imports and writes through the service interface are attributed to the person who made them, in the **By** column of the version history and in the audit columns, instead of `System`. Changes made before this release, and the few writes no user starts, read `System`. See [Versioning and Deletion](/public/docs/monomer-versioning-and-deletion#who-changed-it). ### Fixed - `[Integration]` **The monomer list served to other Discngine applications is filtered by organisation.** It could include private monomers of other organisations. - `[Integration]` **Revive and purge through the service interface** work again; they failed with an internal error. - `[Chemistry]` **Tetrahedral stereo is kept** when a SMILES is stored, in the form and in the import. A `[C@H]` centre could be lost. - `[Form]` **A racemic CXSMILES previews**: `|&1:n|` was answered *Invalid SMILES*, and the preview now shows the `abs`, `and` and `or` labels. - `[Form]` **Pasting a Ketcher molfile with `R1`, `R2` labels** gave an invalid SMILES. - `[Form]` **Preview keeps the zoom, fit and full-screen buttons**, and the first preview of a typed SMILES no longer answers that RDKit is still loading. - `[Form]` **The aliases field keeps the focus** after **Enter**, so the next alias can be typed at once. - `[Chemistry]` **Public library corrections.** `m3U` loses a methyl it should not carry, `m3T` is renamed *3-Methylthymine*, `hArg` gets its guanidine C=N, `Pqa` is drawn as the quinazolinone its name describes, and `D-Phg-ol` gets the (R) centre that makes it D-phenylglycinol, the mirror image of `Phg-ol`. `io7c7A` and `phoxC`, which duplicated `c7io7A` and `tCo`, are now aliases of them, so sequences that use either symbol still resolve. - `[Integration]` **An unknown monomer type is refused.** Registering or editing a monomer with a monomer type that does not exist succeeded and stored the monomer without a type; it is now refused with `409`. - `[Integration]` **Structure conversion right after a restart.** It could fail with *Monomer library is empty* until the organisation's library had been loaded; the library is now loaded when the first request needs it. ## 2026.09.10 ### New Features - `[Catalogue]` **Structure viewer.** Click a drawing in the Home report or the Version Log to open it full size, cropped to the molecule, with zoom, pan and full screen. The same viewer shows the structure in the monomer form. - `[Catalogue]` **Catalogue totals** in the report toolbar and footer: the overall count and the count per polymer type, next to the pager, which reads *1 - 50 of N* so the filtered count sits beside the overall one. - `[Catalogue]` **Compact rows** toggle in the report toolbar, remembered by your browser. - `[Catalogue]` **Structure column can be hidden**, through *Actions › Columns*, for a denser table. Thumbnails load lazily, so a hidden column costs nothing. - `[Catalogue]` **Dates are shown as `YYYY-MM-DD`** (created and updated dates; archived dates in the Version Log carry the time), and the CSV export follows, so the columns stay sortable in a spreadsheet. - `[Form]` **Structure and monomer type can be edited** on a private monomer. They were locked once a monomer existed, a precaution from before versioning; every edit is now archived, so the lock is gone. Symbol and polymer type stay fixed, because they identify the monomer in HELM notations. See [How to Create or Edit a Monomer](/public/docs/how-to-create-or-edit-a-monomer). - `[Version Log]` **Deleted monomers are remembered.** Registering a symbol or a structure that matches a deleted monomer is held until an Administrator revives it, instead of silently creating a second one. See [Versioning and Deletion](/public/docs/monomer-versioning-and-deletion). - `[Import]` **SDF files accept a single `rgroups` field**, in the `R1:H;R2:OH` syntax of the tabular formats, in place of the per-label `R1`, `R2` fields, and every field name is matched ignoring case, spaces, underscores and hyphens. - `[Integration]` **Conflict details on a duplicate.** When a registration is refused because the symbol or the structure already exists, the response names the existing monomer in dedicated fields in addition to the message, so a calling application can point at it. - `[Integration]` **Version endpoint.** The service reports its build and the version of the notation toolkit it runs, so a support request can state both in one call. - `[Version Log]` **Version Log** for Administrators: every material edit and every deletion is archived with its before and after structure, and a deleted monomer can be revived with its metadata and set memberships. See [How to Review a Monomer's Version History](/public/docs/how-to-review-a-monomer-version-history). - `[Form]` **Structure preview**: the SMILES is drawn with its R-group labels before saving, and the cap group of each attachment point is chosen from the vocabulary. - `[Import]` **Bulk import** from CSV, Excel and SDF, with a file history, progress, and a downloadable error file. See [How to Import Monomers in Bulk](/public/docs/how-to-import-monomers-in-bulk). - `[Catalogue]` **Public and Private saved views** on the Home page. - `[Chemistry]` **Canonical structure key**: duplicate detection compares canonical isomeric SMILES within a polymer type, and checks private monomers against the public library by symbol and by structure. See [Canonical SMILES and Duplicate Detection](/public/docs/canonical-smiles-and-duplicate-detection). - `[Chemistry]` **Cap group vocabulary** `H`, `OH`, `NH2`, `Azide`, `Ethynyl`, resolved from SMILES templates. An unknown cap is rejected instead of being replaced by a hydroxyl. ### Improved - `[Version Log]` **Version Log** is listed in the navigation menu only for Administrators. - `[Catalogue]` **Delete confirmation** says that an Administrator can restore the monomer from the Version Log, instead of claiming the deletion cannot be undone. - `[Form]` **Name is required**, and validation messages are shown as plain sentences instead of a technical envelope. - `[Import]` **Import help and import checks agree.** Symbol, name, SMILES, polymer type and monomer type are mandatory, and natural analog for `PEPTIDE` and `RNA`. A missing name or monomer type is reported up front with a plain message. See [Import File Format](/public/docs/monomer-import-file-format). ### Fixed - `[Catalogue]` **Filtering works with large drawings.** Applying a filter, for example *Polymer Type = CHEM*, failed with a *character string buffer too small* error as soon as a monomer with a large drawing was on the page. Drawings are now served as images, and the reports filter on any column. - `[Import]` **CSV and Excel imports work again.** Every row of a tabular import was rejected with *Monomer has no Molfile*; a SMILES is enough, as documented. - `[Chemistry]` **Multi-atom cap groups are accepted.** `Azide` and `Ethynyl` were always rejected because the cap name was pasted into the SMILES as if it were an atom. Caps are now built from their structure, in the import, the form and the structure editor, where `Alkynyl` used to become an aluminium atom. See [Attachment Points and CAP Groups](/public/docs/attachment-points-and-cap-groups). - `[Import]` **Chemical monomers no longer need a natural analog.** A `CHEM` row was rejected unless `NATURAL_ANALOG` was exactly `-`, while real libraries carry category values such as `Linker`. Whatever is submitted is stored as `-`. See [Monomer Types, Polymer Types and Natural Analogs](/public/docs/monomer-types-polymer-types-and-natural-analogs). - `[Chemistry]` **Symbols with a `+`** no longer break structure conversion. - `[Integration]` **The structure editor loads the monomer library again** when it contains characters outside ASCII. Not included: case-insensitive filtering in the reports. ### Known limitations - `[Chemistry]` Enhanced stereo groups in CXSMILES are not part of the canonical key: an enantiomer pair declared in an *and* group collides. Declare the centre as absolute.