Changelog

What changes, and when.

Every Optical Form release, with what's added, what improved and what got fixed. If something you reported shows up here, it's already live in your store — updates roll out on their own.

1.6 24 October 2026 Published

Add-ons and colors created from the app, and contact lenses by model

Two big additions. Treatments, lens types and colors no longer have to be created first in Shopify one by one: you type the price in the option and the app creates the product on save, and if you already have your products, they keep working as before. And for opticians who sell contact lenses, one model per lens assigned to the products that sell it: the configurator offers exactly the prescriptions that are made.

  • New
    Charge an extraIn any option, one button: type the name it will have in Shopify, the price per unit and the quantity (2 if it's per lens), and on save the app creates the product: unlisted, published to the Online Store and with no inventory tracking, ready to sell. View in Shopify opens it in your admin. The first time, Shopify asks for a permission to publish products; accept it once and that's it.
  • New
    Add colorAn option's colors are created by the app too: name, swatch (tap the circle and pick the color from a palette) and a price per color. Each color is a variant of a product the app keeps for you.
  • New
    Add groupColors grouped by family, like Classic, Fashion and Gradient: each group with its title, its description, one price for all its colors and its colors. The app creates one product per group. In the store, the option opens with the groups and their prices, like the big eyewear stores.
  • Improved
    Prices, both waysChange an extra's price in the app and it changes in Shopify. Change it in Shopify and the app respects it and shows it to you. And if the same extra is in several forms, the app warns you before changing it everywhere.
  • Improved
    Prices with their currencyEvery add-on, color and accessory shows its price the way you read it ("$15.00", "tax included", "the customer pays $30.00"), and View in Shopify replaces the ID number that used to show.
  • Improved
    The option, ordered for non-technical peopleFirst what the customer sees (title, description, features, image), then how the price is shown, then what is charged (add-ons and colors, each section with a line saying what it does) and finally where it leads. Field names say the outcome: Title, Features, Text instead of the price.
  • Improved
    When this option is chosenOne question at the end of each option with every exit: continue, finish and add to cart, go to another step, or show a message and a button without adding to cart (what used to be the "Enable external action" checkbox).
  • Improved
    Advanced step settings, foldedRequired, the price mode and the visibility in the summary and in the cart live in a folded box at the end of the step, with one line summarising what's on. What you use every day stays on top.
  • Improved
    Steps and options are born namedA new step is called "Step 2" and its option "Option 1", with their internal IDs already set; also when duplicating and in the blank form. Nothing to fill in before the step makes sense.
  • New
    Lens modelsUnder Lens models you describe each lens: sphere by ranges (−6 to +6 in 0.25 steps, −6.50 to −12 in 0.50 steps…), cylinders with the axes they exist in, additions, D/N design, base curve, diameter, colours and boxes. Twenty-two presets from CooperVision, Johnson & Johnson, Alcon and Bausch + Lomb, transcribed from the manufacturers' parameter guides, to copy and adjust; import and export your own too.
  • New
    The "Contact lenses" by-model stepA new step type. Assign the model to the products or to a collection and the step asks only for that model's fields: a toric, sphere, cylinder and axis; a multifocal, sphere, addition and design; a spherical, just the sphere. Choosing a cylinder leaves only the axes that exist with it; changing the sphere prunes what is no longer made and says so. Boxes per eye, one eye only if you allow it, and a single order line with the prescription readable.
  • New
    Coloured lenses with a photo or a swatchEach colour of a model can carry an eye photo or a colour swatch, and the step shows them in a mosaic: one tile dresses both eyes in a tap, or each eye picks its own. Six layouts to choose from in the step's Presentation card (collapsed, mosaic, compact, carousel, sheet or dropdown) and columns on desktop and on mobile.
  • New
    Full or compact lens prescription in the cartUnder Design › Cart lines, "Contact lens prescription in the cart": Full (abbreviation and value of each field, base curve and diameter included) or Compact (only what the customer chose). Each optician decides; glasses do not change.
  • New
    Five models and a contact lens form to start withA new store starts with five models copied from the presets (one of each kind, three brands) and the sample "Contact lenses" form; the "Contact lenses" template under New form already uses the by-model step.
  • Improved
    The PD warns next to the fieldA value out of range is flagged as soon as the customer leaves the field, with the range or with what probably happened: 65 in each eye is almost always the total PD typed twice. Pressing Next with the PD wrong or blank moves the focus to the failing field.
  • Improved
    Prescription lines in the cart, more compactThe OD/OI lines and the other details the form writes on a cart line print at 12px. A new embed setting, on; switch it off under App embeds › Optical Form Drawer.
  • Improved
    Step title and description alignmentUnder Design › Typography: centred, as always, or left or right for every step.
  • Improved
    The block starts below the buy buttonA newly added block sits below your theme's "Add to cart", visible from the first moment; blocks already added do not move, and the position stays yours in the Position setting.
  • New
    Dwell joins the tested themesDrawer, theme cart and forms tested end to end on Dwell 4.3, on desktop and mobile.
  • New
    Removing a lens from the cart removes the whole setWhen the customer removes a lens, a treatment or a colour from your theme's cart, the frame and the rest of its add-ons go with it, with a short notice ("The frame and its lenses go together: the set was removed from the cart. Configure it again to add it back"). Accessories — solutions, cases — don't count: removing one touches nothing else. If in your store a frame can be bought on its own, the new embed setting When a lens or treatment is removed has the option Keep the frame and show a notice, which leaves the frame marked with the notice, as before.
  • Improved
    The embed ships with the options that cause no troubleAdd-ons in the cart now comes as Visible without controls and Hide the quantity selector of contact lenses switched on: a remove button on the lens line only ever broke the set, and a stepper on contact lenses only undid what the configurator fixed. If you had the embed enabled already, you keep what you chose.
1.5 11 September 2026 Published

Labels next to the name, and nothing sold out gets sold

A release about stock, about themes and about how each option reads. The product-page button and the configurator know what can be sold before the customer picks it; when Shopify refuses an add, the drawer says which line failed and what to do; and Split joins the tested themes. Since 19 September, the subscription plan chosen on the product page also travels with the order, and Horizon 4.2.0 joins the tested themes; and since 6 October, a checkbox the customer selects before adding to the cart.

  • New
    A label next to the option's nameThe Choose label button, beside "Add benefit", opens a catalogue of ten ready-made ones — Recommended, Most popular, Best value, Bestseller, New, Premium, Limited stock, On sale, In store only and Fast delivery — each with its colour and translated into the customer's language. If none fits, write your own and pick its colour. One per option, on any options step.
  • Improved
    "Recommended" becomes one more labelThe checkbox is gone: if you had it ticked, it's already in place and there's nothing to do. And it's no longer limited to one per step or to single-choice steps.
  • New
    You write how a surcharge readsUnder Design › Interface texts › Prices and summary, the "Option surcharge" box. Empty, it shows "+$70.00" as always. With {price} extra it reads "$70.00 extra", and with Add {price}, "Add $70.00". It also covers colours with a surcharge, and it's written per language.
  • Improved
    Option images show wholeThey used to be cropped to fill the square, so a wide illustration lost its edges. Now it fits whole. If you prefer the crop, which usually suits photos better, it's under Design › Options › Image fit.
  • New
    Sold-out frame: the button says soWith the selected variant out of stock, the product-page button shows disabled with "Sold out", or hides if you prefer (block setting When the frame is sold out). It follows the variant live, like your theme's own button, and the configurator never sends a frame that can't be bought to the cart.
  • New
    Sold-out add-ons, colours and accessories show before they're chosenOn opening, the configurator checks the stock of everything the form offers. What can't be sold shows disabled with "Sold out"; for colours, the dot is struck through like your theme's variant picker. Under Design › Options you can hide it instead. And in the editor, Check prices badges whatever is sold out or in draft.
  • Improved
    When an add fails, the drawer says why"The frame X is sold out. Please choose another frame", "X is not available right now. Please let the store know" or "You already have the maximum available of X in your cart", in the store's language, instead of "Could not add to cart. Please try again". The wording is editable under Design › Texts, and Analytics counts these cases under "Add-to-cart errors".
  • Improved
    A product off the Online Store channel shows before anyone picks itAn add-on, colour or accessory that isn't on the Online Store sales channel, or that was deleted from Shopify, can't be added to the cart. It now shows disabled with "Sold out", just like anything out of stock. The editor checks on its own when you open the form: a warning above the steps says which products can't be added and why, and each row carries its badge ("Not on Online Store", "Deleted", "Draft" or "Sold out"). And if something stops being available after the customer already picked it, the drawer says so, "X is no longer available. Go back and choose another option", and waits for them to choose another.
  • New
    The button wherever you want it next to your theme's "Add to cart"New Position setting on the block: above or below your theme's button, or side by side half and half, left or right, with the gap you choose and stacked on mobile. Nothing to change in the theme: the app finds the button on its own in the tested themes, with an advanced selector for the rest.
  • New
    Split (KrownThemes) among the tested themesThe app recognises its cart drawer on its own: the frame and its add-ons land inside, nested, and deleting the frame takes them along. With Compact the add-on lines in the cart the add-ons lose their controls and the set is bought as one unit. Recipe in the docs.
  • Improved
    Opening a form and the Analytics tab, fasterThe editor no longer waits on Shopify to open and asks for each piece of data once; Analytics keeps the report for ten minutes, so the second visit answers at once. Figures are recalculated at most every ten minutes.
  • Improved
    Ten new spacing settings under DesignGap between the step title and its description; on each option, the space to the right of the text, the title-to-description gap, the space above the chips, the image gap and corner radius; the benefit chips' shape, padding and gap; the gap between color dots; and the accessory card's padding. All default to what you had: nothing changes until you touch them.
  • Improved
    "From" only when the price can still riseIn the Starting price mode, an option that ends the form, or is only followed by free steps, shows its total with no "From". The word follows each option depending on what is left to choose.
  • New
    A fourth price mode: just what the option costsUnder "Price shown on the options", on the step or on a single option, the Option price only mode makes the card say what that option costs — "$59.00" — with no "+" and without adding the frame or anything chosen on earlier steps. For steps where each option is a package with its own price. The footer total still adds everything up, and your forms don't change unless you pick it.
  • Improved
    "Remember a half-finished configuration" is now your callThe box under Design › Navigation now comes unchecked: turn it on if you want to offer "Continue where you left off". Whoever already had it on keeps it.
  • New
    The chosen subscription plan travels with the orderIf you sell contact lenses (or frames) with a subscription app — Shopify Subscriptions, Appstle or any other that puts its selector on the product page — the plan the customer ticks before opening the configurator applies to the main line: the drawer shows the plan price in the footer, on the buttons and in the summary, and the cart charges that same amount. Add-ons and accessories stay one-time purchases. With no plan, everything works as before.
  • New
    Horizon 4.2.0 among the tested themesTested end to end on the new Horizon: button on the product page, configurator and nested lines in the cart drawer. If you update the theme from the Theme Store, place the "Optical Form" block on the product template again: Shopify doesn't carry it over to the new theme.
  • New
    A checkbox the customer selects before adding to the cartUnder Design › Agreement checkboxes, Add checkbox: write the text (“I have read and accept the terms and conditions”), select a few words and use Insert link to link them to your Terms of service, your Privacy, Refund or Shipping policy, or any page. The checkbox shows above “Add” on the final step; if it's required and left unselected, the button doesn't add and says so: “Please select the checkbox above to add to cart”. With Save it in the order, the order carries a line “Terms accepted: Yes”. It also works for a confirmation (“I confirm this prescription is from my latest eye exam”), and you can have more than one.
  • New
    For integrators: the plan on the event, plus a hookopticalform:addtocart:success carries sellingPlanId (or null), and window.OpticalFormHooks.getSellingPlanId(triggerEl) lets you name the plan yourself on themes whose selector doesn't use name="selling_plan".
1.4 6 September 2026 Published

Where your customers leave, and how to win them back

A release about conversion. The app tells you on which step your customers leave and what to change; whoever closes the configurator half-way can pick up where they left off when they return; and you can flag the option you recommend with a mark instead of writing it into the title.

  • New
    “This is where they stop”: the step that loses customers, and what to doAbove each form's funnel, Analytics points at the step that loses the most customers in proportion to those who reach it (“41% of the 20 customers who reach this step close here”), with advice for that type of step and two buttons: Edit the form and How to improve it. It only shows with enough data — from 20 customers on the step and 25% leaving; otherwise it tells you why there is no signal. The strongest one also shows on the app's home page, below your forms, and can be dismissed.
  • New
    Continue where you left offIf the customer closes the configurator before finishing and comes back to the same product within 7 days, they see “You left a configuration half-way” with two buttons: Continue where you left off and Start over. Continuing brings back what they had chosen — at today's prices, and only the options that still exist — and lands them on the first step they still have to answer. The prescription, the reading Rx, contact lenses and files are never remembered: they enter them again. Everything lives in the customer's browser, not on our servers. Under Design › Navigation you switch it off or choose from how many completed steps it is offered (2 by default); the prompt's texts are under Design › Texts. Analytics counts how many resume.
  • New
    Recommended optionOn a single-choice step, tick Recommended option on the option you advise and the customer sees a “Recommended” mark next to it, alongside its price. One per step; it does not choose for them or change the order. The mark's text is edited under Design › Texts.
  • New
    “Reading the analytics” guideWhat every figure in the Analytics tab means, what the signal is and what to change in your form depending on the step that loses. Linked from the tab itself.
  • New
    For integrators: the opticalform:resume eventWhen a customer resumes a configuration, your theme or your analytics get an event with how many steps came back — never with what they answered. All nine events, with examples, in the documentation.
  • Improved
    Analytics per formEach form says how many customers used it and, when no step loses more than 25%, says so too instead of leaving you guessing.
1.3 August 30, 2026 Published

Colours, full screen and a prescription that reads itself

The biggest release since launch. The configurator gains selectable colours and a full-screen mode; the prescription explains itself, gets reviewed before paying and reaches the order with every value labelled; and the cart, the prices and the wording adapt to your store: your theme, your markets, your way of speaking.

  • New
    Selectable colours on an optionAn option can carry a row of colour swatches — a tint, a polarised lens — and the customer picks one; only that one is charged. The colours and their photos come from your product's variants, and each colour can carry its own help.
  • New
    Full screen on desktopA third position mode: the screen split in two, with the product photo and the summary with its total on the left and the steps on the right. With an opening animation of your choice. On mobile the side panel stays.
  • New
    Help per option and per groupA "?" next to the option title opens a longer explanation, so the description can stay short. With its own design section, "Tooltips and help".
  • New
    The prescription explains itselfEvery prescription field carries a "?" in plain words — what it is, which sign it takes, where it sits on the prescription — and the "How to read your prescription" link opens a sample prescription built with your own labels.
  • Improved
    Review the prescription before payingThe confirmation step shows the prescription as a table with your headers, one row per eye and the PD underneath — the same layout as the sample prescription, so nobody has to guess the order of the numbers.
  • New
    PD as a dropdownChoose whether the pupillary distance is typed or picked from a list that only offers plausible values.
  • Improved
    The prescription reaches the order labelledIn the cart, at checkout, in the confirmation email and on the order, every value carries its field name, in the customer's language: "OD: SPH -2.25 · CYL -0.75 · AX 90° · ADD +1.50". An eye without a cylinder has no axis: "AX —". Your practice software keeps receiving its usual format.
  • New
    Add-on prices per marketIf you sell with Shopify Markets, treatments and extras show at the visitor's market price — the same one the cart charges afterwards.
  • New
    Interface texts, your wayIn Design › Interface texts you rewrite "Next", "Add to cart", "Total" and the rest, per language. Empty the box and your store's wording comes back.
  • New
    A product tag switches the configurator offPut optical-form-off — or the tag you choose — on a product and it never shows the button, even inside an assigned collection. For display frames or models you only sell without lenses.
  • New
    Skip the single-option stepA checkbox per step: if a product is left with only one option, the app picks it and moves on, and the option reaches the order with its label.
  • New
    Space kept free at the right of the footerSo your chat bubble (WhatsApp, Tidio, Gorgias…) does not land on top of "Next".
  • New
    Frame-without-lenses noticeIf the customer removes the lenses from your theme's cart, the frame gets flagged with a notice before paying, and your theme receives an event in case you want to act. And while the cart rearranges itself right after an add, the pay button waits a moment.
  • New
    The set's quantity, from the cartWhen the customer raises the frame's quantity in your theme's cart, the lenses and treatments multiply with it; an add-on changed on its own goes back to its place, and contact lenses go back to their boxes with a notice. In the app embed you choose "Scale" or "Lock", and which controls each line of the set shows: add-ons with or without controls or hidden, accessories without a remove button, contact lenses without a stepper. Nothing changes until you touch it. Measured on Horizon, Dawn and Split, with discounts too.
  • Improved
    A step that only asks no longer says "Included"When no option of a step carries a price — how you send us your prescription, for instance — the cards stop showing "Included": that word only appears next to a surcharge, where it means something. Text badges and "Show €0" still take precedence.
  • Improved
    Browser BackGoes back one step, like the "Previous" button; on the first step it closes the panel without leaving the product page. The phone's back gesture does what the customer expects.
  • Improved
    AccessibilityThe panel is a real modal dialog: the rest of the page is inert while it is open, the progress bar announces the step, focus shows on any background, and anyone with "reduce motion" on sees everything without sliding.
  • Improved
    The cart, polished on Dawn and HorizonAdd-ons nested under the frame: on Horizon out of the box, on Dawn 15 and 16 with a ready-to-paste CSS. New "Tested themes" guide with what we verified on desktop and mobile, and the "After add to cart" setting does what it says on Dawn too: open the drawer, go to the cart or do nothing.
  • Improved
    The editor shows what your customer seesLabel boxes come up empty with your language's wording in grey: what you type replaces it, what you leave blank translates itself. Long help texts live in an ⓘ so the editor can breathe.
  • New
    What's new, one click awayAt the foot of every page in the app, next to the documentation link, a link to this very page: what changes in each release, without going looking for it.
1.2 August 23, 2026 Released

Every order leaves with the full prescription and with your codes

Everything in this release pushes the same way: what your customer writes down reaches whoever makes the lenses, intact. One thing asks two minutes of you; the rest is already running in your store.

  • Improved
    Your practice software codes travel with the formWhen you import a form, the codes your software expects for each option come inside it and arrive complete. If you imported a form before August 21, 2026, import it again and check the Integrations tab: earlier imports don't carry them, and without them the order reaches your lab without the reference it needs to manufacture.
  • New
    Integrations tells you if the prescription won't reach your softwareWhen a form isn't set up to send the prescription through to your practice software, the Integrations tab says so and points at the step, before the first order goes out. You agree that detail with your provider; making sure it doesn't slip past you is the app's job.
  • Improved
    The axis is asked for when it matters, and only thenOn each eye, the axis field stays inactive while that eye carries no cylinder. The moment it does, choosing the axis is required to continue: no order is completed with an axis nobody chose.
  • Improved
    Each eye starts blankSphere, cylinder and axis wait empty for your customer to copy their prescription across, with no number set in advance. And the axis reads the way it does on their paper, unsigned: «90°», not «+90°». Dioptres keep the sign: there it tells two opposite lenses apart.
  • New
    Your theme can react to the configuratorSeven events so your analytics, your help chat or your cart recovery know when the configurator opens, which step your customer is on, and whether they finished or dropped out. If you don't use them, nothing changes. Documented at docs.getoptical.app, under For developers.
1.1 August 16, 2026 Published

Contact lenses, with the manufacturer's real catalogue

Selling contact lenses stops being a hand-written form: the step reads the catalogue of combinations your product can actually be built in, and offers only those.

  • New
    Contact lens stepPack, the eyes the customer is ordering and a prescription per eye. Only the powers the manufacturer actually makes are shown.
  • New
    Manufacturer reference on the orderThe app resolves the exact catalogue combination and sends it on the line, so your lab can order without translating anything.
  • New
    Boxes per eyeThe customer orders three boxes for one eye and one for the other, and the total reflects exactly what gets charged.
  • New
    Template and sample formInstalling already leaves you a contact lens form in draft, and "Create form" ships its template.
1.0 July 31, 2026 Published

First public release

Sell prescription eyewear on Shopify without leaving the product page: the shopper configures their lens, the prescription travels with the order, and your lab receives it exactly as entered.

  • New
    Multi-step configuratorLens type, index, treatments and add-ons. You define the steps, options and prices — no code.
  • New
    Prescription captureShoppers type their prescription or upload a photo, with value validation so no unmakeable order reaches you.
  • New
    Pupillary distanceA single value or one per eye, whichever your lab asks for.
  • New
    Grouped cartTreatments and extras sit nested under the frame instead of loose. Remove the frame and they go with it.
  • New
    Assign by product or by collectionAssign a form to a collection and products added later inherit it on their own — nothing to sync.
  • New
    Multi-languageSteps, options, labels, add-ons and the button text, with a value per language. The storefront resolves the visitor's.
  • New
    Appearance, per screen size48 style variables with independent values for mobile and desktop: header, width, type, options, navigation and summary.
  • New
    Import and export formsOne file. Clone a form, move it between stores, or keep a copy before you edit it.
  • New
    Works with your themeUses Shopify's standard layer where the theme supports it, with adapters for Dawn, Horizon and custom themes. No developer needed.
  • New
    Setup guideThe app checks what's missing — block not active, no form assigned, products left unconfigured — and takes you where to fix it.

Missing something?

Only what's already shipped and running in your store shows up here. What comes next is largely decided by the merchants who ask for it: if you sell something Optical Form can't configure yet, tell us. Knowing who's waiting for what is what changes the order of work.

Request a feature