Release Notes
What shipped, fixed, and improved — in order, week by week.
2026
Release October 8, 2026Norse v2.27.0
New
- Sites that use Matomo Tag Manager now receive events when visitors click a resource’s phone number, website or email address, or, on a search result, the Website button, the resource name or the View details link.
- Norse API has new endpoints that return a tenant’s topics and search suggestions as configured in the CMS (
/tenant-config/{tenantId}/topicsand/tenant-config/{tenantId}/suggestions), plus/tenant-config/{tenantId}, which returns the tenant’s full configuration (languages, filters, topics, suggestions and search settings) in one response.
Improved
- The location search box now shows a small spinner while it looks up places matching what you’ve typed.
- When you submit a search, the search button now shows its loading state and the search controls are disabled right away, including while your search location is being looked up, instead of only once the results page starts loading.
Bug Fix
- After moving between pages, the search results page (result count, page number, results list, map and filters), your favorites lists and the header search box now show the new page’s values straight away, instead of briefly showing the previous page’s values (such as “0 of 0”).
- On the search results page, the Sort and Distance dropdowns now show their selected value as soon as the page appears instead of starting out blank, and the Sort dropdown always names the order the results are actually in.
- When a site’s branding is saved in the CMS, its logo is now reliably carried over to the branded sign-in page, rather than sometimes being left out.
- Keyword and category searches, along with the category suggestions in the search bar, now return results in the same order every time you run the same search, so paging through results no longer skips or repeats listings.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.26.0...v2.27.0
Release October 2, 2026Norse v2.26.0
New
- The search API has a new optional
relevance_cutoff=onsetting for hybrid searches. It trims low-relevance results, keeping those that score at least a fifth of the top result. When more than 20 results match, the top 20 are always kept, and when more than 1,000 results would remain, it raises the bar step by step, up to half the top score. It returns everything when the scores are too flat to cut meaningfully, or when too many results would still remain. When results are trimmed, the total reflects the kept results, and a newrelevance_cutoffsection in the response reports how many matched before trimming. - The Norse API’s forward geocoding endpoint (
GET /geocoding/forward) has two new optional parameters.typeslimits results to place types such asaddressorpoi.proximity(longitude,latitude) favors results near a given point. Both work with the Mapbox provider, and sendingtypeswith the OpenCage provider returns an error. - New Norse API endpoint
GET /service/:id: it returns one service’s details for your tenant, including its parent organization and every location where it’s offered. Translated fields come back in the language set byaccept-language, falling back to English. A service ID that doesn’t belong to the tenant named inx-tenant-idreturns 404, and atenant_idquery parameter that doesn’t matchx-tenant-idis rejected, as on the other search and resource endpoints.
Improved
- The Pinned Resources Mode setting, which replaced the “Boost pinned resources” checkbox, now takes effect in search on sites that use the Hybrid or AI Classification search engine. “Ignore pinned status” treats pinned resources like any other, including in category searches, and hides the priority badge on their result cards. “Boost pinned resources in ranking” raises pinned resources in relevance without forcing them first. “Show pinned resources at the top” lists them before all other results. Boost is the default, so on sites that haven’t chosen a setting, pinned resources are no longer always listed first; to keep them at the top, an admin can select “Show pinned resources at the top”.
- Text searches now tolerate small spelling mistakes, such as a swapped or missing letter, so a search like “hosuing assistance” finds housing results instead of returning nothing. Exact spellings still carry far more weight than close ones.
- In hybrid search, a match on a service category’s alternate names now counts for half as much as before, so these matches rank lower compared with matches on a service’s own name and description.
- In hybrid search, searches of six or more words now give more weight to the service categories predicted for the search: twice the usual weight at six words, rising to five times at 15 words or more.
- Organization suggestions in the search bar no longer include organizations that have no service locations in your directory.
- The search results page title now shows the search query and location followed by the site’s title, instead of the number of results. The page description and link-preview text now use the site’s own description.
- Search suggestions and location lookups are now cached on the server, so repeated lookups for the same term or place are answered without being fetched again.
- In the admin panel, the Copyright field has moved from the Brand tab to the Footer tab, and the Feedback URL field has moved from the Brand tab to the Header tab. Existing values were carried over.
- The create, edit, delete and “Clear all” dialogs for favorites lists now show a loading indicator on the confirm button and disable Cancel while the change is being saved.
- The “Alert date” label shown with resource alerts is now translated into 38 languages, including Spanish, French, Arabic, Vietnamese and Chinese.
- The taxonomy search API (
GET /taxonomy) now returns a simplified list of matching terms (each term’s id, name and code) under API version 1, in place of the raw search-engine response. The separate version 2 of this endpoint has been retired. - Requests to the Norse API that leave out the
x-api-versionheader are now treated as version 1 instead of being rejected.
Bug Fix
- On sites that use Hybrid or AI Classification search, repeating the same typed search now returns results in the same order instead of alternating between orderings, and results stay consistent as you page through them.
- Topics CSV export and import now keep each topic’s image (in a new
imagecolumn) and the link on topics that have no subtopics. Before, both were lost when you exported topics and imported the file again. - Looking up an organization by ID through the API now only returns organizations that belong to the requesting tenant. An ID that belongs to a different tenant now returns “not found” instead of that tenant’s organization.
- The organization details endpoint (
GET /organization/:id) now returns taxonomy names only in the requested language, falling back to English, as its other translated fields already did. Before, it returned every stored language. - Search no longer hangs when the semantic search service stops responding. After 10 seconds it falls back to keyword-only results.
- Asking the search or organization search API for a page beyond the first 10,000 results now returns a clear error message instead of a server error.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.25.0...v2.26.0
Release September 21, 2026Norse v2.25.0
Improved
- Resource alerts now show the alert’s date, labeled “Alert date”, below the alert message when a date is available.
Bug Fix
- Keyword searches rank results by how well they match the search terms again, with prioritized resources still listed first. Running the same search twice, or paging through results, now gives a consistent order, so results are no longer skipped or repeated between pages.
- In the search dialog, a location you type and submit right away, before suggestions finish loading, is now used for the search. Before, it could be dropped or replaced by the location you had picked earlier.
- In the Get Directions and printable directory location fields, pressing Enter or leaving the field without choosing a suggestion now picks the first suggestion. Before, it could pick the second suggestion, or on Enter pick none at all.
- Clicking the magnifying-glass icon in the main search box now opens search, and clicking it in list filter boxes (such as favorites lists and printable directories) now puts the cursor in the box. Before, the icon blocked the click.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.24.1...v2.25.0
Patch September 16, 2026Norse v2.24.1
Bug Fix
- Fixed searches with a location being sorted nearest-first instead of by how well results match your search. When no sort is chosen, results are now ordered by best match, and where the sort menu is shown it now starts on best match instead of Nearest First.
- Fixed some older saved favorites lists failing to open. They now load again.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.24.0...v2.24.1
Release September 10, 2026Norse v2.24.0
New
- You can now turn on organization search with the new Enable Organization Search setting. The search bar then suggests matching organizations alongside its other suggestions, and picking one shows that organization’s resources. A separate Show Organization Location Badge setting adds each organization’s city and state to its suggestion. The heading above the group can be customized, and its default text is translated into every supported language. Both settings are off by default. For Norse API users,
/searchalso accepts a neworganization_idoption that narrows results to a single organization’s services, on every site. - Norse API: a new
GET /organization/:idendpoint returns an organization’s full details, including contact information, phones, locations and services. Translations are narrowed to the requested language, falling back to English when that language isn’t available.
Improved
- Norse API:
GET /suggestionnow returns taxonomy and organization matches as two separate lists,taxonomies(id, code and name) andorganizations, instead of the raw search response. The deprecatedcodeparameter has been removed. - Norse API: each resource in a favorites list from
GET /favorite-lists/:idis now returned in the same format as other resource lookups, with a singletranslationfor the requested language instead of atranslationslist.
Bug Fix
- Resources you favorite from search results without signing in now show up in My Saved Resources. The favorite button on a resource’s page now also recognizes resources you favorited from search results.
- Site alerts now show their English text, instead of an empty alert, when no translation exists for the visitor’s language. Editing an alert in English now also starts automatic translation into your other enabled languages.
- Search result cards now use your custom card layout for visitors browsing in languages other than English. Before, those visitors could see the default card layout unless the resource page also used a custom layout.
- On resource pages, the “Others” subheading in the Quality Information section is now translated into the visitor’s language instead of showing in the site’s default language.
- Search: hybrid searches now follow the chosen sort order (distance, name or organization) instead of ignoring it, and nearby services now count for more when hybrid results are ranked by relevance. Sorting by distance with no location set now falls back to relevance order instead of alphabetical order.
- Fixed saved resources sometimes missing when opening a favorites list. A favorites list now opens only on the site it was created on.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.23.0...v2.24.0
Release August 27, 2026Norse v2.23.0
New
- Sites that require login can now leave selected pages open to visitors who aren’t signed in: the home page, search results, resource details and public favorite lists. Connect211 sets this up per site. Share links now follow the same rules: if a link leads to a page that’s open, it works without signing in; otherwise the visitor is asked to sign in first.
- Connect211 can now hide an individual site from Google and other search engines without affecting other sites. Site admins can see the new “Hide this site from search engines” setting under SEO Settings, but only Connect211 staff can change it. When it’s on, the site asks search engines not to list any of its pages. Staging and preview sites are always kept out of search results.
Improved
- The Quality Information section on resource pages now shows its links under subheadings when the resource provides them. When some links have subheadings, any without one are grouped under “Others”.
- The search dialog now hides the rest of the page from screen readers while it is open, so assistive-technology users stay inside the dialog.
Bug Fix
- After you click a search result’s title, the loading bar at the top of the page now stays visible until the resource page has loaded, instead of finishing straight away.
- Search links that use “Everywhere” as the location are no longer treated as a real place name and matched to an actual address. They now search with no location filter.
- Fixed the filter panel on search results moving out of position as you scroll. It now starts just below the header, and a filter panel that fits on screen stays there instead of sliding down the page.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.22.0...v2.23.0
Release August 20, 2026Norse v2.22.0
New
- Search result cards can now show a service’s hours of operation when that element is added to the site’s search card layout. Cards in saved favorites lists show it too.
Improved
- The Share dialog now creates its short link when you open it, not when the page loads. Until the link is ready, the copy-link button is disabled and shows “…” in place of the link.
- On sites that use AI search, search links that have to be re-routed for AI search now redirect before a search runs. Before, a full search ran first and its results were discarded.
- The printable directory share dialog and the save-to-printable-directory options are now translated in all supported non-English languages.
- On resource pages, the heading above a service’s contacts now reads “Additional Contact Information” instead of “To access this service, contact:”, in every supported language.
- The search page’s filter panel now readjusts its position right away when the window is resized or the panel changes height, instead of waiting for the next scroll.
- In My Saved Resources, the “Clear all” button is now a compact icon button like the Print button next to it. Both buttons show a tooltip on hover.
Bug Fix
- Page view events sent to your site’s Google Tag Manager or Matomo container now fire for each new search URL. Before, a new search from the search results page didn’t send a page view, so it was recorded under the earlier search’s URL.
- Fixed saved favorite lists showing resources without their summary, description, service name, hours and other details.
- Norse API: searches with
geo_type=proximitynow return resources within the requested distance of the given coordinates, without also requiring the resource’s service area to contain that point. Thegeo_typeoption is now described in the API documentation. - Norse API: taxonomy searches that include coordinates and use the default relevance sort now list results nearest-first within each priority level. Before, results at the same priority were ordered by an arbitrary ID.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.21.0...v2.22.0
Release August 13, 2026Norse v2.21.0
New
- Sharing a printable directory now opens a dialog where you choose the format (line, summary or full listing), the font size (standard or large) and, on multi-language sites, the language before copying the link. People who open the link get the PDF in those settings.
- When you save a search to a printable directory, you can now choose whether to include your current search location and see a preview of the search settings that will be saved. A warning appears if that location differs from the directory’s default location. After saving a search or a favorite list to a printable directory, the confirmation message now has a View directory button that takes you to the directory.
Improved
- The Share dialog on search results, resource pages and favorite lists has a new layout: Facebook, LinkedIn and X are now icon buttons (still labeled for screen readers), shown side by side on larger screens. The dialog no longer has a Print option; use the page’s own Print button instead.
- In the printable directory editor, the warning next to a saved search’s location now appears only when that location actually differs from the directory’s default location.
- When you create a printable directory, the layout choices are now Line, Summary and Full listing; the Custom search and Custom resource options have been removed. The booklet layout help now explains that it formats the PDF for folded, double-sided printing and adds blank pages so the cover stays on page 1 and the back cover on the last page.
- Icons for topics with subtopics, in the Topics section on the home page and on the Topics page, now have square corners by default. A tenant can still set a corner radius with the topic image border radius setting in the Topics tab.
- Custom Attribute titles, subtitles and descriptions in the resource page layout and the search result card layout are now auto-translated into your site’s other languages when you save them in English. Template values such as {{customAttribute.title}} are copied over as-is instead of being translated.
- The Topics heading in the search suggestions dropdown now uses the Topics Heading Text from the Topics tab, the same text as the home page Topics section. The separate Topics Heading field in the Search tab is now read-only and marked deprecated.
- The Export CSV button is back on the Analytics dashboard. The export no longer includes the Anonymous User ID column, which was always empty.
Bug Fix
- On a favorite list page, only the list’s owner now sees the buttons to update, clear, delete or save the list to a printable directory. Other people viewing a public list see only Print and Share. The Share button for public lists has also moved up into the header row as an icon next to the other list buttons.
- Analytics now records events that happen before the tracking script finishes loading, such as a resource view when someone opens a resource page directly from a link. These events were previously lost, so the Resource Entry Points breakdown in Analytics undercounted resource page views, especially deep-link visits.
- In the CMS Analytics dashboard, switching to a different tenant now resets the website selection to that tenant’s main website. Before, the previous tenant’s websites stayed selected.
- Fixed a redirect loop on the Favorites page for visitors whose sign-in session had expired or errored. They are now taken to their locally saved favorites.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.20.0...v2.21.0
Release August 6, 2026Norse v2.20.0
New
- The Analytics dashboard has a new SMS Clicks widget that counts how many times users click the SMS button. The analytics metrics API also returns this count as smsClicks, alongside the existing phone call and website click counts.
- When a visitor arrives from a link carrying a utm_source campaign tag, the first search they run now records that tag as its referral source. Tenants can see it as the utm_source property on search events in the Analytics dashboard’s Event card widget, and the search data export API (analytics export-search-data) returns it as referralSource for each search (null when there was none).
- A Shield Check icon is now available when choosing an icon for custom attributes.
Improved
- The Export CSV button has been temporarily removed from the Analytics dashboard.
- Searches that use the hybrid search engine are now recorded as their own analytics event, search_hybrid, instead of as text searches (search_text). The new event can be selected in the Analytics dashboard’s Event card widget.
- Organization search API requests with no search text now return organizations in alphabetical order by name.
Bug Fix
- Printed lists of search results, favorites and single resources, and printable directory PDFs (printed or downloaded), now show text correctly in non-Latin languages such as Russian, Chinese, Japanese, Korean, Arabic, Hindi, Nepali, Amharic, Gujarati, Khmer, Lao and Odia. Before, this text could come out as blank boxes or garbled characters, even when that language was picked in the print dialog.
- Fixed an issue where a resource’s detail page could show a cached copy of the resource from another site that uses the same resource identifiers, instead of your site’s own version.
- When you’ve entered a search location, the site now uses it as your starting point, for example for Get Directions, instead of asking your browser for your device’s location when the search box opens.
- The “Everywhere” option in the location search now appears in the visitor’s selected language. Before, it showed in English on most pages, including the home page, search results and resource pages.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.19.0...v2.20.0
Release July 30, 2026Norse v2.19.0
New
- Printable directories can now be printed as a PDF from the directory’s page, for directories using the line, summary or full resource layout. The PDF has a cover page, the directory’s header and footer (text, logo, website and date), and each section with its resources, plus page numbers. Header and footer text is centered, with items placed before it on the left and items placed after it on the right. Directory cover settings now let you upload a front and a back cover image (image files up to 10MB). A front image replaces the title-and-description cover page, and a back image adds a closing page. When the Booklet layout is on, the PDF gets blank inside-cover pages and is padded to a multiple of four pages for booklet printing. In the printable directories API, the cover’s single coverImageUrl field is replaced by coverImageUrlFront and coverImageUrlBack.
- Printable directories using the line, summary or full resource layout can now be shared by link. Each directory has a share slug, filled in automatically from the directory’s name when you create it. You can edit the slug, and it must be unique within your site. The new Share button on these directories copies a public link. Anyone who opens the link gets the directory downloaded as a PDF automatically, and a “Download again” button lets them get it again. The link works for anyone who has it, whatever the directory’s access setting. Cloned directories get their own slug. Directories without a slug have the Share button turned off until one is set in General info.
- When printing a printable directory, search results, a favorites list or a single resource, you can now choose the language of the printed PDF. On sites with more than one language, a new “Directory language” option in the print dialog prints the resource details and field labels in the selected language. For search results, favorites and single resources, the disclaimer at the bottom of the page is printed in that language too.
- Tenant admins can now set custom call-to-action text for printed lists in the CMS, under Brand > Printable documents. It replaces the “Dial 2-1-1” label in the side panel of full-listing printouts of favorites, search results and single resources. If left blank, the default label is used. The text is translated automatically into the site’s other languages.
- Sites using the Hybrid or AI Classification search engine have a new Boost Pinned Resources setting in the CMS search settings. When it is turned on, pinned and priority resources get a score boost in search result ranking instead of always being sorted to the top, so they rank among other results by relevance. The setting is off by default.
- You can now add Highlight Clicks and Alert Clicks widgets to the Analytics dashboard. They count how often visitors click the buttons in your home page highlights and alerts.
Improved
- The Analytics dashboard is now the admin panel’s home page, and its nav link sits at the top of the sidebar. Old /admin/analytics links redirect there. In its default layout, Page Views now comes right after Total Users and Searches, the page views chart is full width, and the Total Referrals and Map widgets are no longer included.
- On the Analytics dashboard, changing the date range or website selection (or an event widget’s event or property) now shows loading placeholders on the stat card and chart widgets until the new data arrives, instead of leaving the previous figures on screen.
- The search analytics CSV export now has separate latitude, longitude, city and ZIP code columns for both the searched location and the user’s own location, replacing the single Coordinates and ZIP Code columns.
- When you export analytics to CSV with a preset date range, the export now covers whole calendar days, from the start of the first day through today.
- The Event Card analytics widget now has an info button explaining that it shows counts of custom events, intended for partner API analytics.
- When you edit the CMS dashboard, analytics widgets in the Add widget list now have plain names such as “Total users” and “Zero result queries”.
- The printable directories pages, the Printable Directories header link, and the dialogs for saving a list or search to a printable directory are now translated into all of the site’s supported languages instead of falling back to English. The “Quality information” heading on resource pages is now translated as well.
- In printable directory sections, sources built from a search or a favorites list now show the search title or list name next to the source label, even when the source is collapsed.
- If a pop-up blocker stops a printed list from opening, the print dialog now stays open so you can try again, instead of closing.
- Hybrid search now gives much more weight to results that match the categories it predicts for your search, and it considers up to 10 predicted categories instead of 5.
- Hybrid search now ranks resources higher when your search words match their categories’ alternate names. For example, “scouts” now matches resources in the Scouting Programs category, which lists “Girl Scouts” and “Scouting” as alternate names.
- Geocoding API results are now more detailed and consistent: OpenCage lookups include postal code, city, district, region, country, place type and bounding box, and every Mapbox reverse-geocoding result now includes its own area details, not just the first one.
- The public Search API no longer accepts “organization” as a query_type. Requests that use it are now rejected with a validation error.
Bug Fix
- Search links that include a location but no map coordinates now look up that location and search near it, instead of using the visitor’s previously saved location or no location at all.
- For sites served under a path on a shared domain, printed lists and printable directory PDFs now show the full web address including that path, instead of only the domain.
- Saved favorites and printable directories now include resources that are filed under a different tenant. Before, they could go missing even though their own resource page opened fine.
- The Resource clicks analytics widget now shows resource names instead of raw resource IDs, including on sites whose resource page addresses end in a slash.
- Resetting the Analytics dashboard’s layout now restores the default analytics widgets.
- The analytics dashboard’s map heatmap now reflects how much activity each location has, instead of weighting every location the same.
- The CMS analytics dashboard’s site configuration is no longer held in a five-minute cache, so changes to a site’s analytics settings show up sooner.
- When AI search asks you to pick a category, the result count next to each suggested category now reflects only that category. Before, the count also took the other suggested categories into account.
- Fixed API requests failing with a “locale query parameter does not match accept-language header” error when they sent an
Accept-Language: *header along with alocalequery parameter.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.18.0...v2.19.0
Release July 23, 2026Norse v2.18.0
New
- Tenant admins can now turn on Printable Directories in the CMS and choose which email addresses or domains can use them. Allowed users who sign in get a Printable Directories page where they can create, clone and delete directories. For each directory they can set the resource layout, the access policy (private, or shared for others to view or edit), a Booklet layout option (off by default), the cover (title, description, primary color), the header and footer (text, logo, website, date, picked with checkboxes and always shown in a fixed order), and sections. Search results and favorite lists can be added to a section, sections and their sources can be expanded or collapsed one at a time or all at once, and a section with no sources links straight to search results and favorite lists so you can add some. Directory text can also be translated into the site’s other languages.
- New organization search API lets clients look up a site’s organizations by name or alternate name as they type, with paged results of up to 50 per page.
- The Norse API’s analytics endpoints, used with a site’s analytics API key, now also provide a visitor heatmap, searches by ZIP code and county, event values and an event catalog, along with safe-exit click and add-to-favorites-list counts and the names of the site’s websites.
Improved
- On the favorite lists page, the Create a list button now appears after the search bar instead of before it.
- On the home page, category headings are now indented to line up with the subtopic links listed under them.
- Tenant admins can now edit the Data Providers section in Settings (Alerts tab): the custom “Provided by” heading and the list of data providers with their names, links and logos. Previously only Connect211 super-admins could change it.
- On sites that use AI search, links to search results that include a search term (such as older bookmarked or shared links) now go through AI search too. They open AI-matched results, or open the search box with suggested options to choose from when the term needs clarifying.
- On favorites pages, the Print button is now a compact printer icon.
- Most Analytics dashboard widgets now keep showing their current figures while new data loads after a refresh or a date range change.
- In the event widget on the Analytics dashboard, the event list now shows event names without their counts, and choosing an event without choosing a property now asks you to select a property instead of showing that event’s total.
- In the Analytics dashboard’s website picker, a website without a name is now labeled with its website ID instead of an empty label.
- Resource alerts on resource pages and search results now stand out in red with an alert icon. The eligibility icon is now a check badge instead of a warning triangle; it is no longer red on resource pages and stays red in search results.
Bug Fix
- The search distance dropdown now shows the distance a search is using even when it isn’t one of the site’s preset options, adding it to the list in order.
- AI search results, and the options AI search suggests when a search needs clarifying, are now cached separately for each site and language, so results meant for another site or language can no longer be shown. For API clients, the search, resource, taxonomy, suggestion, favorite list and printable directory APIs accept optional site (tenant_id) and language (locale) parameters, and the favorites API accepts tenant_id, so caches that key only on the address keep a separate copy for each site and language. A value that doesn’t match the request’s site or language headers is rejected.
- The analytics dashboard’s zero-result search counts and its “No result searches” list now record searches that actually returned no results. Before, they were counting searches that did return results.
- Data provider logos and homepage highlight images now display in full inside their cards instead of being cropped.
- Fixed paging through keyword and category search results on sites that show more than 25 results per page. Later pages started at result 26 instead of where the previous page ended, so they repeated results and never reached the end of the list.
- The analytics dashboard’s search totals now include search page views whose address carries a search query. On sites set up with a trailing slash, views of the /search/ page are now counted as searches instead of being counted as resource views.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.17.0...v2.18.0
Release July 16, 2026Norse v2.17.0
New
- The Analytics dashboard has a new Export CSV button beside the date range. It downloads the searches for the selected date range and website(s) as a CSV file. Each row lists the time of the search, the search term, the search type (text or taxonomy) and, where available, its coordinates and a ZIP code looked up from those coordinates. The same search data is also available from the new Norse API endpoint GET /analytics/export-search-data, authenticated with your site’s analytics API key.
Improved
- Admins can now save multiple home page alerts instead of just one, and use the Active checkbox to choose which one is shown. Only one home page alert can be active at a time, and the CMS shows a validation message if you try to save more than one active alert.
- Analytics dashboard widgets now have an info icon next to their title that explains what the widget measures. For example, Total Referrals is described as website, phone, and directions clicks combined. The map widget now has a ‘Heat Map’ heading, and the Device Types and Session Quality charts now have titles.
- Analytics dashboard widgets that fail to load now have a Retry button on their error message, and the Language switches by destination, Resource clicks and No result searches tables now say “No data available in this period.” when empty instead of disappearing.
- The analytics dashboard now defaults to showing the last 7 days instead of the last 30 days.
- The Analytics dashboard now offers only analytics widgets. Payload’s general Collections widget is no longer available to add there.
- The “Top search queries” table on the analytics dashboard now labels its number column “Count” instead of “Referrals”.
- In the ‘No result searches’ table on the Analytics dashboard, the value column is now labeled ‘Count’ instead of ‘Referrals’.
- A “Link” icon is now available to choose for custom attributes.
- The quality section on resource pages is now titled “Quality Information” instead of “Quality”.
- Tenant site pages no longer wait for the visitor analytics script to finish downloading before they become interactive, so a slow analytics service no longer delays search, menus and other controls from responding.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.16.0...v2.17.0
Release July 9, 2026Norse v2.16.0
New
- Admins can now add an Alert component to resource page layouts, and Connect211 can add it to search result card layouts. When a service has an alert, it appears in a bordered alert box on that service’s page or search result card.
- Admins can now turn the home page alert and individual highlights on or off with a new Active checkbox, without deleting them. Inactive items are hidden from the site.
- The Analytics dashboard has a new Total Referrals card. It adds up website, phone and directions clicks, and compares the total with the previous period.
Improved
- The home page Highlights and Data Providers sections now share a consistent card design. With four or fewer items, the cards are shown centered instead of in a carousel. With more than four, they scroll in a carousel.
- Resource pages now have a clearer heading structure for screen readers. Each page has one main heading, the resource name is a second-level heading, and field labels such as Hours, Fees, Eligibility, Languages, Website and Email are now third-level headings beneath it. Phone number labels are now headings too, so assistive-technology users can jump between them.
Bug Fix
- Printed directory PDFs now show your organization’s name correctly in the footer disclaimer when it contains special characters like “&” or apostrophes, instead of showing character codes.
- Fixed the Resource clicks table on the Analytics dashboard re-rendering in a continuous loop and repeatedly re-requesting resource titles that were still loading or couldn’t be found.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.15.0...v2.16.0
Release July 2, 2026Norse v2.15.0
New
- Search filters in the CMS have a new Day of Week sort option that lists values Sunday through Saturday and recognizes abbreviations like Sun and Mon.
- New Event card dashboard widget: pick any tracked analytics event to see its total and trend versus the previous period, or pick one of the event’s properties to see a pie chart of its top values.
- Sites now have an Accessibility page, linked from the footer, that is turned on by default. Unless you add your own content, it shows a built-in WCAG 2.2 conformance table with Section 508 and EN 301 549 mappings. Admins can turn the page off, rename it, or replace its content in the new Accessibility Page tab of the resource directory settings.
- Norse API: new endpoints let you send your own custom analytics events to your site’s analytics, either one at a time or up to 100 in a single request, using your site’s analytics API key. Each event includes a name, optional extra data, and a required ISO-8601 timestamp of when it happened.
Improved
- In the CMS search settings, the separate hybrid search and AI classification checkboxes are replaced by a single Search engine dropdown with Classic, Hybrid and AI Classification options, and AI Classification now also runs its searches as hybrid searches. Existing choices are not carried over: every site starts on Classic after the upgrade, so admins who had hybrid search or AI classification turned on need to select it again.
- The View Details action on search result cards can now be styled as Default, Secondary, Ghost or Link from the CMS, replacing the previous text-link checkbox. Sites that used the text-link option show the Ghost style until Link is selected again.
- The AI search clarification prompts, the “showing broader results” notices and the help category names and descriptions are now translated into the site’s other supported languages instead of appearing in English.
- Search results from the API’s GET search endpoint can now be cached for up to an hour (previously 15 minutes), and AI-assisted search’s predict and re-rank responses can now also be cached for up to an hour. The result counts shown next to suggested categories in AI-assisted search are cached for an hour too.
- The AI search predict and re-rank API endpoints now take their inputs as query parameters on a GET request (
queryandtop_kfor predict;need_weightsas a URL-encoded JSON object andtop_kfor re-rank) instead of a JSON body on a POST request. Invalidneed_weightsvalues are rejected with a clear error message. - Hybrid search ranking now gives extra weight to results whose service name or organization name matches the search terms, and gives semantic (meaning-based) similarity more weight relative to keyword matches. Matches on an organization’s name in the middle of the text only count for searches of two or more words, and organization descriptions no longer count toward general keyword matching.
Bug Fix
- Hybrid searches with no search terms now return results instead of an error, and hybrid searches fall back to keyword matching instead of failing when the semantic search service is unavailable.
- In AI-assisted search, the result count shown next to each suggested category now counts only resources for that category, instead of also counting resources from the other suggested categories.
- Analytics and verified-user data in the CMS dashboard, and syncing saved branding to the sign-in page, now wait up to 33 seconds for a slow analytics or sign-in service instead of failing after 5 to 15 seconds.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.14.0...v2.15.0
Release June 25, 2026Norse v2.14.0
New
- New AI-assisted search, off by default, that sites can turn on with a new AI classification option in their search settings. When it’s on, a search may go straight to results; show results with a notice that broader results were shown because the search may need more detail or the best match was uncertain; or first ask the searcher to narrow it down (“Tell us a bit more so we can narrow your search” when the query is vague, or “Which type of help best matches what you need?” when several kinds of help fit). That step shows up to four likely need categories, each with a short, plain-language description (for example, “Get help finding food for you and your family.”) and, where available, a related-resource count, plus a show-more option that lists the rest of the categories returned for the search. Searchers can select categories, confirm or skip. Searches started from a taxonomy topic suggestion skip this step, and if classification is unavailable, the regular search runs instead.
- Search result cards, and saved-favorites cards that use the same card layout, can now be set up to show a resource’s eligibility and application process.
- Admins can now set the sort order of each search filter’s options in the CMS: by result count (the default), alphabetically by name, or in a custom order such as days of the week. The setting is included in facet CSV import and export.
- New analytics API: each site’s Analytics Settings in the CMS now include an API Key, set by Connect211 support. With it, you can pull your site’s analytics for a date range from Norse-API: overall stats, daily page views, interaction counts (such as directions requests, phone calls and website clicks), views per resource, resource views by entry page, searches by type, searches that returned no results, language switches, and visitor sessions.
- New AI search endpoints in the Norse API. POST /search/predict sorts a search into need categories with relevance scores and says whether to search right away, search and show a notice (because the search was too vague or the match confidence was low), or ask the user to pick categories (because the search was too vague or several categories matched strongly). When it asks, it includes how many resources fall under each category. POST /search/re-rank turns the user’s chosen categories into taxonomy codes for the search.
- Hybrid searches through the Norse API can now be limited to specific HSIS taxonomy codes with a new
taxonomyparameter (comma-separated, e.g. BM-1400,BM-1700).
Improved
- Hybrid semantic search no longer stops at the top 100 results. It ranks every resource that passes the selected location and filters, shows the full result count, and lets users page through all of them. Pinned resources come first, then higher-priority resources, then the rest by relevance.
- Custom attribute rows on search result cards now use the same compact spacing as the phone and website rows.
Bug Fix
- Searching with a topic suggestion that is set up as a link now opens that link instead of running a search for the topic’s name. It opens in a new tab when the topic is configured to do so.
- Search result cards no longer show an extra blank gap where the service name would be on sites that hide service names. Resource pages no longer leave empty space for Required Documents when a resource lists none.
- After clearing the location field and starting to type a new location, the location suggestions no longer briefly look up the cleared value (“Everywhere”) instead of what you typed.
- The language switcher now shows a pointer cursor on hover, like other clickable controls.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.13.1...v2.14.0
Patch June 18, 2026Norse v2.13.1
Bug Fix
- The Print Directory dialog’s loading message, its error message when resource details can’t load, and its Retry button are now translated into every supported language. Before, they could appear untranslated when the site was viewed in a language other than English.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.13.0...v2.13.1
Release June 18, 2026Norse v2.13.0
New
- Admins can now add Searches by zip code and Searches by county widgets to the Analytics dashboard. Each lists total searches, zero-result searches and the percentage of searches with no results for each area, with sortable columns and paging.
- Search results and resource pages now show a Print button on every site. Before, it appeared only on sites where it had been turned on. The button opens the same print options as favorite lists and creates a PDF directory of the results on the current page, or of that single resource, in line, summary or full listing format at standard or large text size. The Print button on favorite lists now also shows its “Print” label.
Improved
- In printed directories, the label column for details such as hours, eligibility and fees is wider, with extra room at the large text size.
Bug Fix
- Fixed the age filter so services whose age range doesn’t include the age you enter are left out of search results. Services with no age limits set still show.
- Clicking or tabbing out of the age filter without changing the age no longer reruns the search and sends you back to the first page of results.
- Printed directories no longer show raw formatting symbols in resource descriptions and eligibility. Links now print with their web address in parentheses, and very long words or web addresses wrap onto the next line.
- Fixed an issue where live sites told search engines not to crawl or index them, so sites can appear in search results again.
- Search requests sent to the Norse API with POST now return 200 OK, as the API documentation states, instead of 201 Created.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.12.0...v2.13.0
Release June 11, 2026Norse v2.12.0
New
- Printing a favorite list now offers three formats instead of two: a new compact line listing (name, address and phone), a summary listing (phone, hours, email, website and address), and a full listing that adds the description plus transportation, accessibility, eligibility, required documents, languages and fees. A new Large font size option prints the directory in bigger text.
- Admins can now turn on a “Filter by age” box on the search page, where visitors can enter an age. The search API also accepts a new optional
ageparameter. - Admins can now hide specific values from a search filter’s list of options, set per filter in the CMS search settings.
Improved
- Addresses in search results, resource pages and favorites now keep the city name, and the state and ZIP code, together on one line instead of splitting them across a line break.
- The “Use my location” button in search now fills with your site’s primary color, with contrasting text, when you hover over it.
Bug Fix
- Get Directions on a resource’s page now sends Google Maps the resource’s full primary address (street, city, state and ZIP code), so it no longer goes to a location based on the street line alone.
- Paging through the Resource clicks table on the Analytics dashboard no longer jumps back to the first page.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.11.0...v2.12.0
Release June 5, 2026Norse v2.11.0
New
- You can now pick a custom date range of up to one year in the Analytics dashboard by choosing start and end dates and clicking Apply. The “Last 7/30/90 days” buttons now fill in those dates, and you click Apply to update the dashboard.
- Resource page layouts can now include a new “Quality” component that lists a resource’s quality links (each opens in a new tab). It only appears on resources that have quality links.
Improved
- Visitors who aren’t signed in can now save favorites in their browser on every site by default. Admins who want to require sign-in for favorites can turn on the new “Require Authentication For Favorites” setting in the resource directory’s feature flags.
- The Analytics dashboard now selects your first available tenant automatically when you open it with no tenant chosen.
- Get Directions now opens Google Maps with the resource’s address as the destination, instead of its map coordinates.
Bug Fix
- Tenant admins can now see and select all of their tenant’s websites in the Analytics dashboard, including combining several websites. Before, they only saw data for the main website.
- Analytics data in the admin panel no longer fails to load when the analytics service takes longer than 10 seconds to respond; requests now wait up to 60 seconds.
- In printed favorites lists, a resource’s service name is no longer repeated in its title when the title begins with the service name.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.10.0...v2.11.0
Release May 28, 2026Norse v2.10.0
New
- Favorite lists now have a Print button that creates a printable PDF directory of the list, in either a compact Phone Book format (contact details, address and hours) or an All Information format that also includes descriptions. If a directory can’t be generated, a message asks you to try again.
- Sites can now turn on a new setting that lets visitors save resources without signing in. Saved resources are kept in the visitor’s browser on a My Saved Resources page they can view, print or clear. When the visitor signs in, they are added to their account as a new private list named “My New List”, unless one of their lists already holds exactly those resources.
- Favorite lists now have a Clear all button that removes every resource from a list, after confirmation, while keeping the list itself.
- The new saved resources list, Clear all option and Print Directory dialog and printout are translated into all 38 non-English languages the site supports.
- Admins can now add a Callout Clicks widget to the Analytics dashboard. It counts clicks on the home page callouts and compares them with the previous period.
- Admins can now add a Resource Page Entry Points widget to the Analytics dashboard. It shows how many resource page views came from search result cards, topic cards, or direct and external links.
- The Norse API has a new endpoint,
POST /resource/batch, that fetches up to 100 resources by ID in one request. It returns the resources it can, and lists each ID it couldn’t return with a reason (for example, “Resource not found”, or no translation in the requested language).
Improved
- The favorite list page has a reorganized header, with the list’s actions grouped together and labeled with tooltips, and the list name shown alongside its privacy setting.
- The top search queries table on the Analytics dashboard (formerly “Searches hit”) can now be filtered by search type (All, Text, Taxonomy or Hybrid), and shows a message instead of disappearing when there are no searches for the selected period.
- Analytics dashboard tables no longer show the “Showing 1-10 of 25”-style row count next to the Previous/Next page controls.
Bug Fix
- Adding a favorite to, or removing one from, a list that doesn’t exist now returns a 404 Not Found error with a clear message, instead of a general server error.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.9.0...v2.10.0
Release May 21, 2026Norse v2.9.0
New
- A new analytics dashboard widget lists the search queries that returned no results, with how many times each one happened.
- A new analytics dashboard widget shows which languages visitors switch the site into, and how often.
- A new analytics dashboard widget counts how many times visitors added a resource to a favorites list.
- A new Device Types chart can be added to the CMS analytics dashboard. It shows the share of sessions by device type (the five most common types, with the rest grouped as “Other”), and hovering over a slice shows its percentage and session count.
- The CMS dashboard has a new Verified User Accounts widget that admins can add. It shows the number of enabled, email-verified user accounts for the selected tenant.
Improved
- Table widgets on the analytics dashboard now show their title and split long lists into pages of 10 rows with Previous and Next buttons.
- Stat cards on the CMS analytics dashboard now have a minimum height.
- Resource directory settings in the CMS have clearer labels and placeholders. In the resource page and search card layout options, the categories and attribution components are now called “Taxonomies” and “Data Attribution”, and the autocomplete “Categories Heading” field is now “Topics Heading”. The resource page’s categories text field is now labeled “Taxonomies Text”. Several text fields, such as the back link, “See more”, last-assured and the no-results fallback text, now show a placeholder.
- The search radius can now be changed directly on the search results page instead of in the search dialog. When a search has a location, a distance selector appears in the filter panel, and choosing a new distance reruns the search with that radius, starting again from the first page of results. The radius dropdown is no longer shown in the search dialog.
- The Get Directions dialog’s location area now has a minimum height.
- The message at the bottom of the search page’s no-results card is now center-aligned.
- Resource cards on a favorites list now show the service’s short summary when one is available, falling back to the full service description otherwise. Their website links also now have a properly translated screen-reader label.
Bug Fix
- The “Use my location” button on the search results page now stays hidden on desktop when the site has it turned off for desktop.
- On a search results page opened directly, sharing results by text message on a phone now opens the phone’s texting app instead of showing as unavailable, on sites without a text-messaging provider set up.
- The Session Quality chart on the CMS analytics dashboard now shows a loading placeholder while its data loads and an error message if the data can’t be loaded. Before, it showed invalid percentages in both cases. Hovering over a slice now also shows its session count next to the percentage.
- A custom “no results” message set in the CMS now shows on the search page’s no-results card even when the site has a contact phone number. Before, the default help text replaced it.
- Password reset emails for the CMS admin panel now link to the correct site address for the site where the reset was requested.
- When automatic translation of site content fails for one language, the translation job now skips that language and keeps translating the remaining languages instead of stopping.
- Category searches using the default sort order now return results in the same order every time, instead of results with equal priority sometimes appearing in a different order on repeat searches.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.8.1...v2.9.0
Release May 14, 2026Norse v2.8.0
New
- Admins can now import and export a resource directory’s topics, search suggestions and search facets as CSV files, with a downloadable template for each.
Improved
- Site admins can now replace the “What’s Here” heading above a resource’s categories with their own text, set in the Resource tab of the CMS; the custom label is included in automatic translation to the site’s other languages.
- The CMS analytics dashboard is rebuilt as separate panels: each statistic, chart, map and table now loads on its own and shows its own error if it fails. Before, a problem with any one of them replaced the whole dashboard with a single error message.
- Added an ‘Average Searches / Session’ widget that can be added to the Analytics dashboard in the admin panel. It shows the average number of searches per visitor session for the selected date range.
- Added a Session Quality widget for the admin dashboard. It shows, as a donut chart, what percentage of visitor sessions were Short (under 1 minute), Balanced (1 to 5 minutes) or Meaningful (over 5 minutes).
- Admins can now add a “Safe Exit Clicks” widget to their analytics dashboard. It shows how many times visitors clicked the site’s Safe Exit button and compares that with the previous period.
- The highlighted option in search suggestions and dropdown menus now uses your site’s primary color with contrasting text, making it easier to see.
- The Facebook, LinkedIn, X and Email options in the share menu are now standard links instead of buttons that opened the share page through a script.
- On search results, the call, website and directions buttons now stack full width on small and medium screens and appear as three equal columns on large screens.
- Improved screen reader support: labeled details on resource pages are now announced as headings, map markers are now announced as ‘Map marker for’ followed by the location name, and map markers and the search and tour buttons no longer announce an expanded or collapsed state.
- Adjusted spacing in the home page categories section: more padding at the sides of the section and around the category grid, and less space below the heading. On small screens, the space above and below the section is also reduced.
- The “something went wrong” error page now has a minimum height, so its content takes up most of the screen.
Bug Fix
- Texting a resource to a phone number now works on sites hosted under a sub-path of their domain; previously the send request went to the wrong address.
- Fixed typing in search boxes with Chinese, Japanese and other input-method (IME) keyboards: while you’re still choosing characters, the search no longer updates on every keystroke and the arrow and Enter keys no longer act on the suggestion list. The search updates once the text is confirmed.
- Fixed an issue where you could appear signed out when arriving at the site from another site, such as when returning from the sign-in page.
- Pages no longer stop you from pinching to zoom on mobile devices. Previously, the site set a maximum zoom level that blocked pinch-zoom in many mobile browsers.
- The search dialog now scrolls when its content doesn’t fit, such as on short screens or when zoomed in. Search suggestion lists also size themselves to the space available below the search box.
- The home page tour now stays on screen and scrolls when zoomed in or on small screens. Its step indicator dots are also larger and easier to tap.
- The search page no longer briefly shows a “no results” message before the search results load.
- Fixed text in several languages where values such as result counts, the selected location and the footer copyright text weren’t being filled in.
- A site’s analytics in the admin panel can now be viewed only by that site’s own users and Connect211 staff. Previously, any signed-in admin user could request another site’s analytics data.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.7.1...v2.8.0
Patch May 7, 2026Norse v2.7.1
Bug Fix
- Reverse geocoding (turning coordinates into an address) through the Norse API now respects the requested geocoding provider; previously the provider option was ignored and results always came from Mapbox.
Full changelog:https://github.com/211-Connect/Norse/compare/v2.7.0...v2.7.1
Release May 07, 2026Norse v2.7.0
New Features
- Login wall (P015) — tenants can now put an entire Resource Directory behind the login wall. Login integrates with Single Sign-On (SSO) via Microsoft and Google identity providers. In other words, we can now provide secure, private directories for enterprise clients.
Improvements
- Keycloak branding — Norse now pushes tenant branding (logo, colors) to Keycloak so the login/registration screens match the tenant’s look and feel
- Report button now configurable in the CMS (ISS-838) — tenants can show, hide, or customize the “Report” button on resource pages
- Enhanced search event tracking — Umami events now include both user coordinates and search coordinates in the payload for richer analytics
Bug Fixes
- Fixed resource validation logic in MapContainer — improved shouldComp… check so resources with missing or invalid coordinates no longer break the map
- Added missing translations across the app
Full changelog:https://github.com/211-Connect/Norse/compare/v2.6.0...v2.7.0
Release April 30, 2026Norse v2.6.0
Improvements
- Configurable “View Details” button — tenants can now customize the button text and switch between button and text-link style via the CMS (ISS-439)
- Configurable favorites button label — defaults to “My Stuff” (or its localized equivalent) and can be overridden per tenant (ISS-208)
- Customizable search suggestion headers (ISS-433) — all suggestion section headers are now configurable in the CMS
- Umami analytics tracking for search events — manual searches and suggestion clicks are now tracked
- “Last assured” text is now auto-translated when switching languages (ISS-813)
Bug Fixes
- Fixed search bar race condition — refactored the search bar to eliminate timing issues that caused inconsistent behavior (ISS-803)
- Fixed “Enter to search” — pressing Enter in the search box now triggers search correctly instead of jumping to the location field (ISS-815)
- Fixed distance default value not being set properly (ISS-740)
- Fixed banner icon display (ISS-819)
- Fixed inconsistent display URL on resource pages (ISS-846)
- Fixed grid layout so text is no longer covered by the close button in dialogs
- Fixed search dialog closing — dialog now closes on submit instead of waiting for transition end
- Restored search suggestions when the search bar is cleared
- Attribution and contacts removed from the default layout to reduce clutter
Accessibility
- More VPAT-driven accessibility remediation covering: language switcher, search buttons, tour, sort select, map attribution toggle, favorites dialogs, progress bar, “copied” message duration, focus ring visibility, text overflow, get-directions link, and dialog management
- Tour popover layout and scrolling behavior improved with better responsive positioning (ISS-637)
- Enhanced contrast colors and control border colors throughout the UI
- Dialog overlay pointer events fixed for correct interaction behavior
- Centralized accessibility hook for Radix dialog/popup components (DRY refactor)
Full changelog:https://github.com/211-Connect/Norse/compare/v2.5.1...v2.6.0
Release April 23, 2026Norse v2.5.0
New Features
- Contact person info now displayed on resource detail pages
- Optional Location Name added to the custom search card layout
Improvements
- The hours description and service area description are now visible on resource details
- Auto-translation for Highlights — highlights content is now automatically translated when switching languages
- CDN caching enabled for home, topics, and legal pages — faster load times for the most visited pages
Bug Fixes
- Fixed pagination resetting — page param now clears when applying filters, and focus is correctly set on page change
- Fixed favorites management issues (ISS-207, ISS-601) — creating, updating, and removing favorites works reliably again after recent user experience updates
- Fixed website URLs without a protocol not being clickable on resource pages
- Fixed autocomplete scroll behavior (ISS-758)
- Fixed parsed lists UI rendering (ISS-639)
- Fixed custom attribute localization handling — custom attributes now display correctly in all languages
- Fixed search dialog styling and translation issues
- Fixed hydration error related to the React Tour component — tour functionality restored
- Fixed responsive tour positioning, with interaction properly disabled outside the tour for keyboard and mouse users
- Fixed empty cards on resource pages
- Fixed search dialog button roles and text announcements for assistive tech
Accessibility
This is a major WCAG accessibility release based on manual review from the VPAT certification team at Equalize Digital. Remediation work covers nearly the entire app surface:
- Screen reader announcements for search suggestion counts
- Search components — dialog, inputs, and buttons (MNADR-041 to MNADR-060, MNADR-078, MNADR-084 to MNADR-089)
- Home page — categories, alert, and tour modal (MNADR-035 to MNADR-039, MNADR-061 to MNADR-073)
- Search results — filter panel, pagination, and results section (MNADR-074 to MNADR-088)
- Results list & shared UI — copy badges, dialogs, referral buttons, share/SMS (MNADR-076 to MNADR-139)
- Resource detail & search — result cards, resource detail, maps (MNADR-107 to MNADR-147)
- Map — markers, popups, keyboard navigation, and mobile visibility (MNADR-111 to MNADR-117, MNADR-135, MNADR-144)
Full changelog:https://github.com/211-Connect/Norse/releases/tag/v2.5.0
Release April 10, 2026
New Features
- Analytics dashboard — a new dashboard has been introduced to provide better visibility into usage and system behavior. This is the first release; more analytics updates on coming.
- Organization URL on resource page — resource pages now display the organization’s website for easier access. By default, the organization URL is hidden if it’s the same as the Service URL.
Improvements
- Auto-translation for alerts and callouts — alerts and callouts are now automatically translated based on locale.
- Payload Dashboard permissions update — improved and extended permission handling in the CMS payload.
- Alerts tab rename — “Common” tab has been renamed to “Alerts” for better clarity.
- Available locales filtering in Dashboard — API now returns only locales that are actually available for a tenant
- Removed fallback search for 0 results — simplifies search logic and improves result consistency
- Default geocoding provider — Mapbox is now used by default when no provider is specified
- Improved cache connection management for better stability and efficiency
- Warm cache job configuration updated
- Redis usage extended for locale handling
Bug Fixes
- Fixed search results pagination issues
- Fixed search query type handling inconsistencies
- Fixed alerts and callouts display and migration issues
- Fixed mobile menu UI issues
- Fixed HTML parsing in universal data component
- Fixed “no resources found” issue in E2E tests
- Fixed redundant navigation after deleting a favorite list
- Fixed analytics tracking inconsistencies
- Fixed geocoding fallback behavior
- Fixed E2E test stability by increasing timeouts for visibility checks
Release April 2, 2026
New Features
- Custom search results layout — tenants can now configure how search result cards look, including which fields and custom attributes to display
- Search results sorting — users can now sort results (available for taxonomy and fallback searches)
- Custom data support for the Resource Directory — tenants can define and display custom attributes on resources
- Data provider attribution now appears on search result cards for transparency
- Configurable header position — the header can now be pinned or scroll with the page, per tenant config
- Alert banners can now be displayed in the new layout and managed via the CMS
- Taxonomy code badges — badges now support taxonomy codes for clearer categorization
- Loading indicator when switching languages for a smoother UX
- ESM SMS provider added as a new option for sending resource info via text
Bug Fixes
- Fixed 404 error when clicking a resource name in the new layout
- Fixed hydration error and incorrect referring URL in the report button
- Fixed missing filter and custom attribute translations
- Fixed empty cards showing on the resource detail page
- Fixed the distance display in the address component
- Fixed the “results” button behavior
- Fixed the create-favorite-list name input not working correctly
- Fixed font size button in the header
- Fixed sorting component visibility — now hidden for hybrid search, shown for taxonomy search
- Fixed various custom search card layout configuration issues
Performance Improvements
- In-memory caching layer added for faster page loads, with automatic invalidation on CMS updates
- Database connection pooling is configured for better resource utilization under load
- Session token cookie size reduced
Accessibility
- Fixed 14 compliance issues for VPAT
- Clear button removed from autocomplete