Evergreen Release Notes

Evergreen v3.43.5 (2026-05-04)

🔧 Fixes

  • Fixed useOEmbed getting stuck in a pending state, which could cause video/audio thumbnail loading to stall indefinitely. evergreen#523

  • Fixed link styling in the footer block copyright.

  • Fixed long tags breaking the search results layout. evergreen#505

🔨 Improvements

  • Completed the migration of most remaining components from styled-components to CSS modules (Link/Button, Box, LeftRight, Nav, Tag, HtmlProse, IconButton, Modal, and more). Babel-powered styled-components SSR is now completely eliminated, reducing bundle complexity and improving CSS delivery.

🚧 Development leading to this release

v3.43.5 (2026-05-04)
  • 🔨 convert Modal to styles.module.scss
v3.43.4 (2026-05-02)
  • 🔧 long tags broke search results layout evergreen#505
  • 🔨 optimize system css for Box component
  • 🔨 convert Tag, NavLinkLink, HtmlProse, IconButton to styles.module.scss
v3.43.3 (2026-04-28)
  • 🔧 useOEmbed got stuck in pending mode evergreen#523
  • 🔧 footer block copyright had the wrong link styling
  • 🔨 kill babel-powered styled-components SSR completely; convert Link/Button, Box, LeftRight/FlexGrid, nav, NavLink.Group to styles.module.scss
  • 🔨 update vite 8, vitest 4, storybook and chromatic

Evergreen v3.43.2 (2026-03-12)

🎉 Features

  • New thumbnail prioritization when oEmbed is involved, especially so that administrators can override the oEmbed-provided thumbnail:

    1. special prop, default or explicit (e.g. CardCoverImage)
    2. regular prop, explicit (CoverImage: {url: ...})
    3. oEmbed-provided thumbnail
    4. regular prop, default (CoverImage: {default: ...})
  • New hack lazyImages for debugging problems with browse blocks. The value can be auto (whatever Evergreen would do normally, which may change with time and technology), compat (custom JS lazy loader), native (browser-provided lazy-loading), or eager (load immediately rather than lazily).

  • Nav links can be configured to open in a new tab, and receive a decorative indicator for the user.

🔧 Fixes

  • When oEmbed seems be available, but there is no thumbnail provided, fall back properly to the default value configured in CoverImage.

  • Don't call the server's oembed-proxy when oEmbedUrl is plainly available in the meta-object JSON response. This avoids unnecessary API calls, and speeds up the display, for videos even when hasOEmbed isn't available.

🚧 Development leading to this release

v3.43.2 (2026-03-11)
  • repair oembed thumbnail priorities
v3.43.1 (2026-02-09)
  • more fixes for Evergreen reader PWA
v3.43.0 (2026-02-09)
  • fixes for Evergreen reader PWA
v3.42.0 (2026-02-09)
  • add latent PWA support to Evergreen reader
v3.41.2 (2026-01-27)
  • 🔧 fix lazyImages=compat which didn't actually work.
v3.41.1 (2026-01-27)
  • 🎉 new hack lazyImages for debugging problems with browse blocks. The value can be auto (whatever Evergreen would do normally, which may change with time and technology), compat (custom JS lazy loader), native (browser-provided lazy-loading), or eager (load immediately rather than lazily).

  • 🎉 new hack thumbnailSize for adjusting the size we request for thumbnails across the board. The default at time of writing is 900. In experiments, changing this value did not improve things much. Adjusting the lazy loader and/or uploading custom cover images was more effective.

v3.41.0 (2026-01-27)

Evergreen v3.40.3 (2025-12-09)

🎉 Features

  • The image block has many new features, including max width/height, scaling, position and focus, cover image support, padding and drop shadow. evergreen#506

  • Enabled native lazy image loading on Firefox (other browsers already supported).

  • The container CSS class can now be used in classic blocks to match the Evergreen site container.

🔧 Fixes

  • The date property in the header block was broken and is now fixed. evergreen#506

  • The image block will no longer show a popup alert for a missing image, since it doesn't help the situation to tell the user.

  • When signing in using the SSO redirect, Evergreen now passes successUrl and failureUrl so the server can redirect appropriately. This is a new SSO implementation that most sites are not using yet, and the server portion of the fix is not finished yet. cubchicken#1097

  • The debug view styling is no longer broken. evergreen#508

🚧 Development leading to this release

v3.40.4 (2025-12-09)
  • 🔨 audit and harden build against shai hulud and similar
v3.40.3 (2025-12-03)
v3.40.2 (2025-12-03)
  • 🎉 more image block enhancements: cover image support, padding and drop shadow
  • 🔧 header block post date prop was broken
v3.40.1 (2025-11-19)
  • 🎉 expand freemarker in image block altText and imageUrl
v3.40.0 (2025-11-19)
  • 🎉 new config options for image block: max width/height, scaling, position and focus
v3.39.1 (2025-11-13)
  • 🎉 native lazy image loading on firefox (other browsers already supported)
  • 🔧 pass successUrl and failureUrl to SSO redirect
  • 🔧 don't alert for missing image in Image Block
  • 🔨 manifest.txt for downloading to dev
v3.39.0 (2025-10-03)
  • 🎉 container class can be used in classic blocks

Evergreen v3.38.5 (2025-09-05)

🔧 Fixes

  • Fixed a bug in browse block infinite scroll that prevented it from loading more items when reaching the end of the list.

  • Fixed two bugs in the authentication config that caused Evergreen to ignore customLoginUrl, thereby preventing login by SSO in some cases.

🚧 Development leading to this release

v3.38.5 (2025-09-05)
  • 🔧 browse block infinite scroll was broken
v3.38.4 (2025-08-29)
  • 🔧 tweak previous fix to only apply to authAgent=remote
v3.38.3 (2025-08-29)
  • 🔧 honor customLoginUrl for authAgent=remote
v3.38.2 (2025-08-29)
  • 🔧 sites without configured authAgent migrated to internal instead of custom

Evergreen v3.38.1 (2025-08-28)

🎉 Features

  • Sign In block can be configured to avoid auto-focus, for sites that have multiple sign-in options available on a page. cubchicken#1035

  • For testing purposes, pick your Evergreen version with ?quickstart-version=XXX. Only applies to the current page, and doesn't stick to the session, but this is a quick way to check whether a newer or older version of Evergreen works differently from the current version.

🔧 Fixes

  • Since the change to support /api/sso-redirect in v3.37.0, we lost the ability to configure the Sign In block for Tizra auth if the global configuration used customLoginUrl. That problem is fixed in this release by separating the auth types that were previously conflated, with migrations to properly handle older configs. cubchicken#1036

🚧 Development leading to this release

v3.38.1 (2025-08-28)
  • 🎉 pick your Evergreen version with ?quickstart-version=XXX
  • 🔧 sign in block didn't allow Tizra auth backdoor
v3.38.0 (2025-08-27)
  • 🎉 Sign In Block auto-focus can be configured
  • 🔨 faster dev with Rolldown and OXC

Evergreen v3.37.4 (2025-08-21)

🔧 Fixes

  • Repaired search within block, broken by the search query simplification in v3.36.3.

🚧 Development leading to this release

v3.37.4 (2025-08-21)
  • 🔧 fix search within

Evergreen v3.37.3 (2025-08-20)

🎉 Features

  • New configuration for sign-in by SSO which uses the /api/sso-redirect endpoint. This deprecates using the global header to set window.tizra.customLoginUrl

🔧 Fixes

  • Meta-type validation was filtering out valid meta-types, specifically those that are omitted from the search-types API response. Change the validation approach so that, for example, VirtualCollectionInstance isn't dropped. cubchicken#1028

  • Restored the option to sort browse blocks by date published.

🚧 Development leading to this release

v3.37.3 (2025-08-20)
v3.37.2 (2025-08-20)
  • 🔧 change approach for validating meta-types, since some meta-types are hidden and won't be returned by the search-types API
v3.37.1 (2025-08-20)
  • 🔧 minor fix for Sign In block with overridden authAgent=sso
v3.37.0 (2025-08-20)

Evergreen v3.36.3 (2025-08-20)

🎉 Features

  • When ?debug enabled, call search API with check-syntax=true to catch errors.

  • Simplify query args for search and browse, so the URL bar is easier for humans to read.

🔧 Fixes

  • When the browse block encounters an invalid meta-type in the configuration, remove it from the search API call rather than sending it. This is especially for browse block configs that mention a Video meta-type inherited from the design, on a site where the Video meta-type doesn't exist. Previously it was a harmless error, because we specified each meta-type separately: {"any":["metaType:Book","metaType:Video"]} but with the optimizations in v3.32.2, the call becomes {"any":["metaType:Book;Video"]} which invalidates the entire search term. cubchicken#1012

  • Repaired the long-broken filtered browse block animations.

🚧 Development leading to this release

v3.36.3 (2025-08-18)
  • 🔧 Offer and toc-entry missing from special exclusions cubchicken#1012
  • 🐞 when debug enabled, call search API with check-syntax=true
v3.36.2 (2025-08-17)
  • 🔧 handle bad meta-type lurking in browse configs cubchicken#1012
  • 🎉 simplify query args for search and browse
v3.36.1 (2025-08-14)
  • 🔧 work around server calling PdfPage "Free stuffs" 🙄
v3.36.0 (2025-08-14)
  • 🔧 work around browse blocks implicitly including toc-entries cubchicken#1012
  • 🔨 split components from non-components for React fast refresh DX improvement
v3.35.0 (2025-08-11)
  • 🤷 accidental re-release of v3.34.0
v3.34.0 (2025-08-11)
  • 🔨 killed linaria in favor of scss with css modules
v3.33.1 (2025-08-06)
  • 🔧 repaired browse block animations

Evergreen v3.32.2 (2025-07-29)

🔧 Fixes

  • Block configs: Instead of disallowing the administrator from picking props that are not marked JSON visible, prefix them with a warning symbol. This helps to prevent the outcome that a complicated type hierarchy, with different JSON visibility settings for the same property, might prevent the administrator from choosing a valid property. evergreen#489

🎉 Features

  • Search: Enable optimizations for filling search facets and fetching hit counts. These optimizations drastically reduce the number of API calls, at the expense of potentially more complex or expensive calls. In case of emergency, these optimizations can be downgraded on an individual site with optimizeHitCounts=safe or disabled with optimizeHitCounts=none in QuickstartHacks.

🚧 Development leading to this release

v3.32.2 (2025-07-29)
  • 🔧 sort the warning-prefixed props to the end of the dropdown evergreen#489
v3.32.1 (2025-07-29)
  • 🔧 allow the administrator to pick props that might not be json visible evergreen#489
v3.32.0 (2025-07-09)
  • 🎉 search: enable hit counts API optimizations by default. Can be downgraded with optimizeHitCounts=safe or disabled with optimizeHitCounts=none.
v3.31.0 (2025-07-09)
  • 🎉 search: reduce number of prop-values requests to fill facets by asking for multiple meta-types at once
  • 🎉 search: experimental optimizations for hit counts API requests, disabled by default, enable with xOptimizeHitCounts=safe or xOptimizeHitCounts=full

Evergreen v3.30.9 (2025-07-09)

🔧 Fixes

  • Alert when prop-values fails during search config initialization, so the user isn't left wondering why there's any empty facet.
  • Enable automatic retry for failed API requests, to hopefully proceed past a transient failure.

🚧 Development leading to this release

v3.30.9 (2025-07-03)
  • 🔧 alert when prop-values fails during search config initialization
  • 🔧 enable retry for failed API requests via useQuery
  • 🔧 attach window.tizra.api in common code instead of block execution

Evergreen v3.30.8 (2025-07-03)

🔧 Fixes

  • Search: Use the global query client for search config prop-values, so we
    benefit from the persistent query client. This improves the performance
    loading facets, and reduces the load on the server since we don't need to
    reload them every time we switch pages.

🚧 Development leading to this release

v3.30.8 (2025-05-19)
  • 🔧 use the global query client for search config prop-values, so we benefit from the persistent query client

Evergreen v3.30.7 (2025-05-19)

🔧 Fixes

  • Change password reset language to be less confusing for non-email users.

🚧 Development leading to this release

v3.30.7 (2025-05-14)
  • 🔧 change password reset language to be less confusing for non-email users
  • 🔨 update lots of dependencies (react, react-query, chromatic, storybook, vite, linaria, ariakit, typescript)

Evergreen v3.30.6 (2025-05-13)

🎉 Features

  • Checkout: Improve mobile checkout experience.
  • Cart: Switch from bag to cart nomenclature throughout.

🔧 Fixes

  • Checkout: don't flash sign in form while loading checkout.

🚧 Development leading to this release

v3.30.6 (2025-03-17)
  • 🎉 checkout: improve mobile checkout experience
  • 🎉 switch from bag to cart nomenclature throughout
  • 🔧 checkout: don't flash sign in form while loading checkout
  • 🔧 replace meta-type checks with base-type checks (future-proofing)
  • 🔨 add camel.ts utility script for camelizing network traces in development

Evergreen v3.30.5 (2025-03-03)

🎉 Features

  • Checkout: Handle submit for UMPH and PayPal checkout methods.
  • Latent changes to distinguish meta-types by base-type evergreen#479

🔧 Fixes

  • Checkout: Show field errors reliably even if field untouched.
  • Checkout: Don't display emtpy future steps.
  • Checkout: Always show the final step (ignore status=complete).
  • React: Prevent props from leaking to the DOM in a few places.

🚧 Development leading to this release

v3.30.5 (2025-02-24)
  • 🎉 checkout: handle submit for UMPH and PayPal
  • 🔧 checkout: don't display empty future steps
  • 🔧 checkout: show field errors reliably even if field untouched
  • 🔧 checkout: always show the final step (ignore status=complete)
  • 🔧 prevent React props from leaking to DOM in a few places
  • 🔧 latent changes to distinguish meta-types by base-type evergreen#479
  • 🔨 chromatic: omit youtube embeds from diffs

Evergreen v3.30.4 (2025-02-24)

🎉 Features

  • Search: Add spinners while loading facet prop-values and when updating hit counts. This helps to disambiguate values that are still loading from lists that are empty. evergreen#463

🔧 Fixes

  • Nav: Render dropdowns in portals so they can scroll internally. Previously they were height-limited and overflow:visible to avoid hiding sub-menus that appear lower in the DOM tree. By moving them to portals, they can scroll internally (overflow:auto) and sub-menus still appear (in their own portals). evergreen#476

🚧 Development leading to this release

v3.30.4 (2025-02-10)
  • 🔧 select dropdowns weren't properly styled (problem with portals)
v3.30.3 (2025-02-05)
  • 🔧 long nav links were wrapping, broken in v3.30.2
  • 🔨 add the storybook visual test addon, for chromatic integration
  • 🔨 update storybook, chromatic, linaria, react-query, vite
v3.30.2 (2025-01-29)
  • 🔧 render dropdowns in portal so they can scroll internally
  • 🧐 normalize spacing between text and icon in buttons
v3.30.1 (2025-01-19)
  • 🔧 don't show 'no selections' while loading facet
  • 🔧 simpler inline spinner while updating hit counts
  • 🔧 accordion styling leaked into spinner
v3.30.0 (2025-01-19)
  • 🎉 spinner while loading facet prop-values
  • 🎉 spinner while updating hit counts
  • 🔨 update ariakit

Evergreen v3.29.3 (2025-01-18)

🎉 Features

  • First pass checkout using new API

🔧 Fixes

🚧 Development leading to this release

v3.29.3 (2025-01-18)
  • 🔧 fix nav editor on react 19
v3.29.2 (2025-01-17)
  • 🔧 fixes for checkout
v3.29.1 (2025-01-15)
  • 🎉 spinner component
v3.29.0 (2025-01-15)
  • 🎉 implement checkout
v3.28.1 (2024-12-04)
  • 🔧 fix search within bug introduced in v3.28.0
v3.28.0 (2024-12-03) ⚠
  • 🎉 rework quicksearch to use ariakit combobox
  • 🔧 enable quicksearch to honor global search config
  • 🔨 tease apart block metadata (configs) from components to avoid circular imports
  • ⚠ currently marked BAD because Search Within block doesn't work properly
v3.27.3 (2024-11-18)
  • 🎉 ongoing feature work against checkout API
  • 🔨 update to React 19 RC.1

Evergreen v3.27.2 (2024-11-20)

🔧 Fixes

  • Work around bug in React 19 where JS in Markdown block could be broken if it attaches click handlers to elements in DOM. evergreen#464

  • Fix problem where cart badge could show, with nothing in the cart cubchicken#859

🚧 Development leading to this release

v3.27.2 (2024-11-17)
  • 🔧 JavaScript in Markdown block could be broken if it attached click handlers to elements in DOM evergreen#464
  • 🎉 ongoing feature work against checkout API
  • 🎉 convert API-based checkout to use new Ariakit inputs
  • 🎉 add ?debug feature to show live form data inline for Ariakit-based forms
v3.27.1 (2024-11-12)
  • 🔧 fix problem where cart badge could show, with nothing in the cart cubchicken#859
  • 🎉 ongoing feature work against checkout API

Evergreen v3.27.0 (2024-11-12)

🔧 Fixes

  • Fix bug where Evergreen would fail to report signed in for SSO until the page was manually reloaded. cubchicken#859

  • If bookshelf is configured to show collections, then don't display any indirectly-licensed content, so that we aren't showing both collections and their contents. This is especially for sites with a lot of free member content, where the bookshelf becomes effectively unusable. evergreen#454

  • Improve accordion rendering and open/close animation.

  • Fix sporadic failure to render YouTube responsively.

🚧 Development leading to this release

v3.27.0 (2024-10-19)
  • 🔧 fix bug where Evergreen would fail to report signed in for SSO cubchicken#859
  • 🎉 start rebuilding form inputs with Ariakit
  • 🔧 fix rendering of asterisk indicating required input when there is a right-side label
  • 🔧 improve accordion rendering and open/close animation
  • 🔧 fix sporadic failure to render YouTube responsively
  • 🔨 convert remaining JS code to TypeScript
  • 🔨 update to Ariakit 0.4.11
  • 🔨 update to React 19 RC
v3.26.7 (2024-09-13)
  • 🔧 if bookshelf is configured to show collections, then don't display any indirectly-licensed content, so that we aren't showing both collections and their contents. This is especially for sites with a lot of free member content, where the bookshelf becomes effectively unusable. evergreen#454

Evergreen v3.26.6 (2024-09-13)

🎉 Features

  • Add coverFallback hack to check for 1.jpg. This is a workaround for sites where the CoverImage default value isn't working. When coverFallback appears in QuickstartHacks, then Evergreen will fall back to its own check for 1.jpg if the server returns blank CoverImage. cubchicken#764

  • Enable remote cart integration via AddToCartLinkProp. When this property is set on an offer, referring to a property on the meta-object, then Evergreen will use that property to link the "Add to Bag" button to the remote cart, instead of using the Tizra-provided cart. evergreen#447

  • Display session errors in a modal. Previously there could be cases where an SSO would fail to authenticate, but there was no mechanism for the server to supply this information to Evergreen. With this new error-handling functionality, SSO errors and similar will be displayed to the user. evergreen#445

🔧 Fixes

  • Fix the Search Within block when the current URL doesn't have trailing slash. evergreen#457

  • Prevent oEmbed fetch from canceling itself. This was causing strange flashing in search results and browse blocks as the item moved between on-screen and off-screen. evergreen#451

  • Allow browse limit to apply on collection home. In theory, this would seldom be desired, since collection home should display all of the items in a collection, but there are cases where a custom setup calls for applying a limit, so we trust the administrator to know what they're doing. evergreen#449

🚧 Development leading to this release

v3.26.6 (2024-09-05)
v3.26.5 (2024-07-25)
v3.26.4 (2024-07-12)
  • 🎉 AddToCartLinkProp for linking Add To Bag to remote cart evergreen#447
  • 🎉 use cart/size API for nav icon
v3.26.3 (2024-07-10)
  • 🧐 prevent accordion title from centering when wrapped evergreen#451
v3.26.2 (2024-07-10)
v3.26.1 (2024-07-02)
  • 🔧 allow collection home browse to be limited in config evergreen#449
  • 🧐 when rendering customer content, add space between <button> and paragraph
v3.26.0 (2024-06-21)
  • 🎉 add coverFallback hack to check for 1.jpg cubchicken#764
  • 🔨 partial internal migration from styled-components to linaria
  • 🔨 update linaria, vite, etc.

Evergreen v3.25.5 (2024-06-05)

🎉 Features

🔧 Fixes

🚧 Development leading to this release

v3.25.5 (2024-06-05)
v3.25.4 (2024-05-31)

Evergreen v3.25.3 (2024-05-29)

🎉 Features

  • Markdown editor

  • Markdown render

    • initial support for custom elements: <t-image>, <t-cover>, and <t-player>
    • improved styling of ordered and unordered lists, as well as nested lists evergreen#423
    • added styling for block quotes evergreen#423
  • oEmbed

    • smoother, faster rendering of thumbnails
    • improved responsive iframes for video and podcasts
  • Offers evergreen#430

    • display excerpt offers directly on access denied
    • display offers for other objects when they can be shown one-dimensionally

🔧 Fixes

  • Radio buttons now align horizontally with their labels

🚧 Development leading to this release

v3.25.3 (2024-05-29)
  • 🔧 for markdown block with custom background/foreground, don't override with typographic variations
v3.25.2 (2024-05-29)
  • 🔧 fixed alignment of radio buttons
  • 🔧 better internal handling of excerpt links
  • 🔨 convert radio css from styled-components to linaria
v3.25.1 (2024-05-24)
  • 🔧 fix crash when brand colors omit octothorpe
v3.25.0 (2024-05-23)
  • 🎉 Markdown: added styling for blockquotes evergreen#423
  • 🎉 Markdown: improved styling for bulleted and numbered lists evergreen#423
  • 🎉 Header block: display excerpt offers directly on access denied, and display offers for other objects when they can be shown one-dimensionally evergreen#430
  • 🔧 oEmbed: smoother, faster rendering by always asking for width=900 which generalizes well between places where thumbnails are shown. This also includes improvements to responsive iframes for audio/video. evergreen#438
  • 🔨 run SSR tests on multiple GraalJS versions in prep for server upgrade. cubchicken#771
v3.24.2 (2024-05-02)
  • 🎉 tizra.ready() to defer custom functions until Evergreen loads
  • 🎉 improved styling of lists and sublists in markdown
v3.24.1 (2024-04-29)
  • 🎉 tab/shift-tab to adjust bullet indents in lexical
  • 🎉 window.tizra.api provides access to Evergreen's API client
  • 🔧 incorporate fixes from lexical playground (clear formatting)
  • 🔨 update lexical to v0.14.5
v3.24.0 (2024-04-24)
  • 🎉 initial support for custom elements in markdown: <t-image>, <t-cover>, and <t-video>

Evergreen v3.23.6 (2024-04-24)

🎉 Features

  • refer to user.props.CheckoutName in places where we need an unambiguous user display (contrast to user.props.ProfileName for informal, shortened contexts)
  • right-click context menu in lexical for paste-as-plain-text

🔧 Fixes

  • fix bookshelf sort dropdown evergreen#436
  • don't filter admins on -test, so that admin can sign in and out of test site
  • on access denied, look up relevant offers by page id evergreen#430
  • on access denied, link excerpt offer to excerpt toc, not directly to reader page evergreen#430
  • numerous small fixes for markdown editor (lexical)

🚧 Development leading to this release

v3.23.6 (2024-04-13)
  • 🎉 refer to user.props.CheckoutName in places where we need an unambiguous user display (contrast to user.props.ProfileName for informal, shortened contexts)
v3.23.5 (2024-04-12)
  • 🎉 right-click context menu in lexical for paste-as-plain-text
  • 🔧 fix bookshelf sort dropdown evergreen#436
  • 🔨 work around storybook regression with window.IS_STORYBOOK
  • 🔨 update lexical
v3.23.4 (2024-04-03)
  • 🔧 don't filter admins on -test, so that admin can sign in and out of test site
  • 🔧 on access denied, link excerpt offer to excerpt toc, not directly to reader page evergreen#430
  • 🔧 incorporate fixes from lexical playground (prevent file:/// img conversion; don't show edit link modal when selection speans further than the link; and unbullet one list item, not the whole list)
  • 🔨 update lexical
v3.23.3 (2024-04-01)
v3.23.2 (2024-03-27)
  • 🔧 stop complaining about missing configs during SSR
v3.23.1 (2024-03-27)
  • 🔨 update lots of deps

Evergreen v3.23.0 (2024-03-27)

🎉 Features

  • track usage of block context, prep for SSR caching

🔧 Fixes

🚧 Development leading to this release

v3.23.0 (2024-03-25)
  • 🎉 track usage of block context, prep for SSR caching

Evergreen v3.22.0 (2024-03-25)

🔧 Fixes

🚧 Development leading to this release

v3.22.0 (2024-03-14)

Evergreen v3.21.7 (2024-03-09)

🔧 Fixes

Evergreen v3.21.5 (2024-03-09)

🔧 Fixes

  • default staletime to zero so that SSO sessions don't get stale data evergreen#428

Evergreen v3.21.4 (2024-03-07)

🎉 Features

  • administrators with 2FA enabled can sign in to Evergreen cubchicken#711
  • persistent API cache for faster rendering and fewer API calls

🔧 Fixes

  • don't alert on bad filterCollectionId in browse configuration evergreen#427
  • handle html props (titles) in browse filters evergreen#424
  • handle API errors with alert or auto-reload (for 403)
  • squelch warnings about missing configs in SSR

🚧 Development leading to this release

v3.21.4 (2024-03-06)
  • 🔧 don't alert on bad filterCollectionId in browse configuration evergreen#427
  • 🔧 force cache invalidation on logout
  • 🎉 enable TOTP entry for admins (depends on server update) cubchicken#711
v3.21.3 (2024-03-01)
  • 🔧 handle html props (titles) in browse filters evergreen#424
  • 🔧 squelch warnings about missing configs in SSR
  • 🔨 add tests for rendering with broken API
  • 🔨 update babel and chromatic deps
v3.21.2 (2024-02-28)
  • 🔧 avoid render shift after hydration
  • 🔧 fix hydration mismatch with persistent API client
v3.21.1 (2024-02-26)
  • 🚀 tweak persistent API cache to invalidate instead of bust
v3.21.0 (2024-02-26)
  • 🚀 faster rendering with persistent API cache
  • 🔧 handle API errors with alert or auto-reload (for 403)

Evergreen v3.20.2 (2024-02-06)

🎉 Features

  • Details block: ensure prop value doesn't break between columns
  • Improve page rendering speed

🔧 Fixes

🚧 Development leading to this release

v3.20.2 (2024-01-31)
  • 🔧 constrain width of text and images in markdown editor evergreen#420
v3.20.1 (2024-01-29)
  • 🔧 Header block: respect property sort value evergreen#418
  • 🔧 cache buster for file properties cubchicken#661
  • 🔨 update storybook, vite
v3.20.0 (2024-01-02)
  • 🎉 Details block: ensure prop value doesn't break between columns
  • 🚀 faster rendering overall by switching Text component from styled-components to CSS modules
  • 🚀 faster rendering of Table of Contents block
  • 🔨 update storybook, node, msw, chromatic, vite, vitest, typescript

Evergreen v3.19.2 (2024-01-02)

🎉 Features

  • hide static content and post content blocks when there's no content evergreen#413

🔧 Fixes

🚧 Development leading to this release

v3.19.2 (2023-12-14)
v3.19.1 (2023-12-13)
  • 🔧 fix preview of relative image URLs in Markdown editor evergreen#409
v3.19.0 (2023-12-12)
  • 🎉 hide static content and post content blocks when there's no content evergreen#413

Evergreen v3.18.6 (2023-12-11)

🎉 Features

  • boost metadata search results if BoostSearchTop=true (requires QuickstartHacks=boost) evergreen#406
  • search facets can be closed by default with {"defaultOpen": false} evergreen#411
  • first pass markdown editor (requires QuickstartHacks=lexical)

🔧 Fixes

🚧 Development leading to this release

v3.18.6 (2023-12-09)
  • 🎉 require QuickstartHacks=boost for boost feature
  • 🔧 don't check if BoostSearchTop is searchable, because that means it appears in advanced search
  • 🔧 don't apply boost to other callers of useSearch
v3.18.5 (2023-12-09)
  • 🎉 boost metadata search results if BoostSearchTop=true evergreen#406
v3.18.4 (2023-12-08)
  • 🎉 (markdown editor) first pass image support (parse and display, no insert)
  • 🎉 (markdown editor) parse and insert horizontal rules in markdown
v3.18.3 (2023-12-05)
  • 🔧 (markdown editor) preserve edits when toggling source mode
v3.18.2 (2023-12-05)
  • 🔧 (markdown editor) preserve height when toggling source mode
v3.18.1 (2023-12-05)
  • 🔧 (markdown editor) don't revert value when toggling source mode
v3.18.0 (2023-12-04)
  • 🎉 search facets can be closed by default with {"defaultOpen": false} evergreen#411
  • 🎉 markdown editor in progress, enable with QuickstartHacks=lexical
  • 🔧 fixed some issues with teardown of admin dialogs

Evergreen v3.17.0 (2023-11-15)

🎉 Features

  • Configurable text container width in Markdown, Abstract, and Static Content blocks
  • Abstract block can have image/color background like Markdown block
  • Markdown preserves newlines (can be disabled with nobr feature flag)
  • Markdown supports ghfootnotes (especially for Posts)

🔧 Fixes

  • Remove from cart works gain (broken since v3.11.1)
  • Disallow adding to cart different offers for the same item evergreen#337

🔨 Improvements

🚧 Development leading to this release

v3.17.0 (2023-11-09)
  • 🎉 configurable text container in markdown, abstract, and static content blocks
  • 🎉 abstract block can have image/color background like markdown block
v3.16.2 (2023-10-17)
  • 🔧 markdown centering now cooperates with text container evergreen#405
v3.16.1 (2023-10-13)
  • 🔧 removing from cart didn't work since v3.11.1
  • 🔧 disallow adding to cart different offers for the same item evergreen#337
v3.16.0 (2023-10-12)
  • 🎉 markdown supports footnotes and tables, and preserves newlines
    • disable newline behavior with nobr hack if it causes trouble
  • 🔧 attempt to sort out wider versus normal text containers
  • 🔨 start migrating to linaria for styling, so we deliver css earlier
  • 🔨 cancel some tech debt by finishing migration from reakit to ariakit

Evergreen v3.15.0 (2023-10-12)

🎉 Features

  • image/color backgrounds for the markdown block
  • linking strategies for post authors and tags
  • browse items aren't required to link to something evergreen#398

🔧 Fixes

🚧 Development leading to this release

v3.15.0 (2023-09-25)
  • 🎉 image/color backgrounds for the markdown block
v3.14.1 (2023-09-15)
  • 🎉 linking strategies for post authors and tags
  • 🎉 browse items aren't required to link to something evergreen#398
  • 🔧 post header showing by even with zero authors evergreen#399

Evergreen v3.14.0 (2023-09-12)

🎉 Features

  • graphical editor for nav tree in global settings
  • simple HTML formatting for titles (bold/italics/sup/sub) evergreen#308
  • QuickstartHacks is now case-insensitive
  • first pass Header Block for posts, using QuickstartHacks=post

🔧 Fixes

  • load italic variations and proper bold weights of google fonts
  • search within book shouldn't search metadata, only toc/fulltext

🚧 Development leading to this release

v3.14.0 (2023-09-01)
  • 🎉 first pass Header Block for posts, using QuickstartHacks=post
  • 🎉 simple HTML formatting for titles (bold/italics/sup/sub) evergreen#308
  • 🎉 QuickstartHacks is now case-insensitive
  • 🔧 load italic variations and proper bold weights of google fonts
  • 🔧 search within book shouldn't search metadata, only toc/fulltext
  • 🔨 lots of refactoring older code to TypeScript
v3.13.1 (2023-08-16)
  • 🔧 profile menu didn't migrate properly
v3.13.0 (2023-08-16)
  • 🎉 new editor for nav tree
  • 🔨 update dependencies

Evergreen v3.12.1 (2023-08-16)

🔧 Fixes

  • nested nav didn't wrap properly evergreen#371
  • wide filter could blow browser width, especially on mobile ghv2 #125
  • print offer not showing when session has ebook access evergreen#396

🚧 Development leading to this release

v3.12.1 (2023-07-28)
  • 🔧 nested nav didn't wrap properly evergreen#371
  • 🔧 wide filter could blow browser width, especially on mobile ghv2 #125
v3.12.0 (2023-07-25)
  • 🔧 print offer not showing when session has ebook access evergreen#396
  • 🔨 dependency updates: linaria, vite, styled-components v6 release

Evergreen v3.11.9 (2023-07-05)

🔧 Fixes

  • body had 8px default margin applied by browser (regression in v3.11.2)
  • mobile nav menu didn't open evergreen#395 (regression in v3.11.2)
  • handle old search bookmarks with JSON search.params cubchicken#648
  • increase search facets limit from 50 to 400 items

🎉 ToC features

  • ToC block can be configured to display free labels evergreen#237
  • ToC entries wrap instead of truncating (works for all display options: plain, lined, bars)

🎉 Analytics features

  • switch from searchParam-terms= to s= for GA4 cubchicken#648
  • send virtual pageviews to Google Analytics when search terms change, or switch to/from advanced search cubchicken#648

🧐 Visual tweaks

🚧 Development leading to this release

v3.11.9 (2023-07-04)
  • 🔧 body had 8px default margin applied by browser (regression in v3.11.2)
v3.11.8 (2023-07-04)
  • 🔧 mobile nav menu didn't open evergreen#395 (regression in v3.11.2)
v3.11.7 (2023-06-30)
  • 🔧 handle old search bookmarks with JSON search.params cubchicken#648
  • 🎉 ToC block can be configured to display free labels evergreen#237
  • 🎉 ToC entries wrap instead of truncating
  • 🧐 smaller typesize for tiles and digests evergreen#391
v3.11.6 (2023-06-22)
  • 🎉 send virtual pageviews when search terms change, or switch to/from advanced search cubchicken#648
v3.11.5 (2023-06-22)
v3.11.4 (2023-06-22) ⚠
  • 🎉 attempt to switch from searchParam-terms= to s= for GA4, but there was a bug, so I marked this BAD
v3.11.3 (2023-06-20)
  • 🔧 increase search facets limit from 50 to 400 items

Evergreen v3.11.2 (2023-06-20)

  • 🔧 bookshelf cover images align at bottom instead of top
  • 🐞 new debugging features with ?debug

🚧 Development leading to this release

v3.11.2 (2023-05-25)
  • 🔧 bookshelf cover images align at bottom
  • 🐞 new logging feature log.once() to avoid duplicate messages
  • 📕 scrolling XML reader in development
  • 🔨 add chromatic for full UI visual snapshots
  • 🔨 dependency updates: ariakit 0.1.7
v3.11.1 (2023-04-26)
  • 🔧 don't ship tizra admin css embedded in evergreen js
  • 🔨 dependency updates: jsdom, msw, storybook, vite, vitest
v3.11.0 (2023-04-25)
  • 🐞 new debugging features with ?debug
  • 🔨 new typesafe API client

Evergreen v3.10.3 (2023-04-25)

🔧 Fixes

  • handle session licenses in useLicenses evergreen#323
  • honor required tags set in header block config for offers
  • fix admin-side header block migration of [#ftl] directive for SMACNA
  • handle free purchase through tizra fulfiller evergreen#374

🚧 Development leading to this release

v3.10.3 (2023-04-18)
v3.10.2 (2023-04-06)
  • 🔧 fix SSR broken by polyfills dependency on sdk
v3.10.1 (2023-04-06)
  • 🔧 send required-tags to relevant-offers API
v3.10.0 (2023-04-05)
  • 🔧 fix admin-side header block migration of [#ftl] directive for SMACNA evergreen#386
  • 🔧 handle free purchase through tizra fulfiller evergreen#374
  • 🔨 volta for common node and pnpm versions
  • 🔨 convert to monorepo for eventual reader/sdk/components packages
  • 🔨 typescript 5.0.2
  • 🔨 storybook v7.0.0-rc.10

Evergreen v3.9.7 (2023-03-29)

🎉 Search features

  • Configurable search tips (Presentation → Features → Search)
  • Search results sort control (no config)
  • Page thumbnails can be configured off in search results (Presentation → Features → Search)
  • Show helpful message for no search results (no config)
  • Open all search facets by default
  • Shrink facets width from 30% to 25%
  • Constrain advanced search to 75% container
  • Use lighter black for page number in search results, to distinguish from snippet
  • New search field types for APA upgrade: apaState and titleGroup.
  • Title bar includes search terms, like it did in Quickstart v2.

🎉 Browse features

  • Customizable more link, default to Collection Home (Browse Block → Presentation when max items is set)
  • Configurable link color for text summaries (Browse Block → Presentation when display is text-only summaries)
  • Allow number properties to be configured as browse filters

🎉 Other features

  • Abstract and Markdown blocks support text positioning in addition to justification
  • Support new CoverImage file property (automatic when configured on server and metadata)

🔧 Fixes

  • Don't ask user to change password after email validation evergreen#385
  • Return to code redemption after email validation evergreen#345
  • Kill extra space between icon and "See tips"
  • Modal title bar accidentally shrinking and grow depending on available space
  • Thumbnails accidentally showing on mobile search results

🏃 Updates and optimizations

  • Release script automatic versioning for features/fixes
  • Deliver quickSearchFields from server in block context instead of needing an additional API call.

🚧 Development leading to this release

v3.9.7 (2023-03-29)
  • 🔧 Fixes
    • Don't apologize before fetching search results evergreen#384
    • Don't ask user to change password after email validation evergreen#385
    • Return to code redemption after email validation evergreen#345
v3.9.6 (2023-03-11)
  • 🎉 Search features
    • Configurable search tips (Presentation → Features → Search)
    • Search results sort control (no config)
    • Page thumbnails can be configured off in search results (Presentation → Features → Search)
    • Show helpful message for no search results (no config)
    • Open all search facets by default
    • Shrink facets width from 30% to 25%
    • Constrain advanced search to 75% container
    • Use lighter black for page number in search results, to distinguish from snippet
  • 🎉 Browse features
    • Custom destination for browse more link (Browse Block → Presentation when max items is set)
    • Configurable link color for text summaries (Browse Block → Presentation when display is text-only summaries)
    • Allow number properties to be configured as browse filters
  • 🎉 Other features
    • Abstract and Markdown blocks support text positioning in addition to justification
    • Support new CoverImage file property (automatic when configured on server and metadata)
    • Release script automatic versioning for features/fixes
  • 🔧 Fixes
    • Kill extra space between icon and "See tips"
    • Modal title bar accidentally shrinking and grow depending on available space
    • Thumbnails accidentally showing on mobile search results
v3.9.0 (2023-02-10)
  • 🎉 Optional more link on browse blocks to associated collection home.
  • 🎉 New search field types for eventual APA upgrade: apaState and titleGroup.
  • 🧐 Remove extra padding in search facets, also in mobile search results.
  • 🔧 Set search results window title to include search terms, like it did in Quickstart v2.
  • 🏃 Deliver quickSearchFields from server in block context instead of needing an additional API call.

Evergreen v3.8.9 (2023-01-31)

🎉 Typography features

  • Body text and headings can be configured independently for serif or sans-serif.
  • Type sizes adjust responsively to browser width.
  • Wider site container makes better use of large screens.
  • Text container ensures readable line lengths and proportional line heights on long-form text areas such as Abstract, Markdown, Post, and Static Page Content.

🎉 Browse features

  • Text-only and tile display options, with slot configuration.
    • Tiles can be configured with specific cover image treatment options, meaning how they should be cropped (portrait, landscsape, square, full) and what part of the cover image is important.
    • Display options "Images" and "Images with titles" are now simply "Tiles" with image cropping set to "full" and some slots enabled or disabled. Existing configs will migrate automatically. Because of this, the old "Images" and "Images with titles" can now be configured with large, medium, and small sizes.
    • Slot property column can handle multiple properties separated by semi-colon. The first with content will be used. This is a more explicit way of handling the fallback, for example CardAuthors;Editors;Authors to choose the first that has content for a browse item.
  • Pre-filter content by required/excluded tags.

🟨 New blocks

  • Headline block for magazine-style sites.
  • Post block for digital-native articles.
  • Search Within on a collection home or document toc to search within the current object.

🔧 Fixes

  • Details block was missing colons.
  • Filter available meta-types in the search/browse/bookshelf admins by the is-internal flag. evergreen#368
  • Respect the CoverImage property for excerpts, instead of always using a page image. evergreen#373
  • Only use a single divider line below Nav, and above Footer. There were accidentally two of them in each case, making a thicker line.
  • Autocomplete was failing in search input.
  • Search facets weren't supported by sortField evergreen#375

🏃 Updates and optimizations

  • Update to vite 3, along with many minor deps: eslint, prettier, typescript, msw, react-final-form, react-beautiful-dnd
  • Refactor to use [ghramda](https://github.com/selfrefactor/rambdax[rambdax] instead of https://ramdajs.com/), for the sake of performance and better TypeScript typings
  • Deploy to app-data instead of the server repo, so we can deploy more often without growing cubchicken.

🚧 Development leading to this release

v3.8.9 (2023-01-16)
  • Stable release candidate for end of January.
  • 🔧 Fixed a bug in Browse migration where the titles would accidentally be enabled when migrating from "Images only" to "Tiles."
v3.8.8 (2023-01-14)
  • 🎉 Improved Browse block config:
    • Tiles can be configured with specific cover image treatment options, meaning how they should be cropped (portrait, landscsape, square, full) and what part of the cover image is important.
    • Display options "Images" and "Images with titles" are now simply "Tiles" with image cropping set to "full" and some slots enabled or disabled. Existing configs will migrate automatically.
    • Because of this, the old "Images" and "Images with titles" can now be configured with large, medium, and small sizes.
    • Slots can be disabled with a checkbox.
    • Slot property column can handle multiple properties separated by semi-colon. The first with content will be used. This is a more explicit way of handling the fallback, for example CardAuthors;Editors;Authors to choose the first that has content for a browse item.
v3.8.7 (2023-01-14)
  • This release had a bug in the Browse block migration that affected ASNT, so it was immediately superceded by v3.8.8
v3.8.6 (2023-01-04)
  • 🔧 Fix linking of browse items (cards/tiles/etc) to excerpt detail pages. They were linking directly to pages, which isn't typically the right answer when excerpts are included in a browse block. evergreen#365 (This was previously fixed in v3.7.6 on the stable/3.7 branch, but wasn't ported to master at the time.)
v3.8.5 (2022-12-29)
  • 🔧 search facets weren't supported by sortField evergreen#375
  • 🔧 ToC search results were missing thumbnails and breadcrumbs evergreen#375
  • 🔧 autocomplete was failing in search input
  • 🎁 Evergreen now deploys to app-data instead of the server repo
v3.8.4 (2022-12-17)
  • 🎉 New block: Search Within. Put this on a collection home or document toc to search within the current object.
  • 🔧 Ensure that Headline block doesn't cut off a title on the right side. It should always stop at a discrete boundary, fitting what it can (might be less than the max items configured).
  • 🧐 Increase the primary heading size on the Headline block to give the page a sense of hierarchy.
v3.8.3 (2022-12-14)
  • 🧐 Only use a single divider line below Nav, and above Footer. There were accidentally two of them in each case, making a thicker line.
  • 🧐 Repair the mobile search bar to color its background fully to the edge, rather than stopping at the container boundary.
  • 🔧 Don't choke rendering a thumbnail for toc-entry. Broken in v3.8.2 by the changes to OEmbed handling, affected ASNT search results.
  • 🔧 Fix the conversion of prop-values to search facets. Broken in v3.8.2 by the rambdax refactoring, noticed by Shiseido.
v3.8.2 (2022-12-13)
  • 🔧 Respect the CoverImage property for excerpts, instead of always using a page image. evergreen#373
  • 🔧 Filter available meta-types in the search/browse/bookshelf admins by the is-internal flag. evergreen#368
  • 🏃 Faster thumbnail rendering when a meta-object doesn't have OEmbed.
  • 🎉 Use metaObj.props.CoverImageInfo if available. evergreen#191
  • 🏃 Major refactor to use ghrambdax instead of https://ramdajs.com/[ramda], for the sake of performance and better TypeScript typings
  • 🔨 Update to vite 3, along with many minor deps: eslint, prettier, typescript, msw, react-final-form, react-beautiful-dnd
v3.8.1 (2022-11-23)
  • 🧐 Added border around tiled cover images in Browse.
v3.8.0 (2022-11-22)
  • 🎉 Body text and headings can be configured independently for serif or sans-serif.
  • 🎉 Type sizes adjust responsively to browser width.
  • 🧐 Wider site container makes better use of large screens.
  • 🧐 Text container ensures readable line lengths and proportional line heights on long-form text areas such as Abstract, Markdown, Post, and Static Page Content.
  • 🎉 Browse block text-only and tile display options, with slot configuration.
  • 🎉 Browse block required/excluded tags.
  • 🎉 Headline block for magazine-style sites.
  • 🎉 Post block for digitial-native articles.
  • 🔧 Details block was missing colons.

Evergreen v3.7.6 (2022-11-18)

  • 🔧 Fix linking of browse items (cards/tiles/etc) to excerpt detail pages. They were linking directly to pages, which isn't typically the right answer when excerpts are included in a browse block. evergreen#365

Evergreen v3.7.5 (2022-11-08)

  • 🎉 ImageBlock admin now provides a select dropdown for uploaded Image meta-objects. Alt text works for Image meta-objects using the Description field, and for custom URLs using alt text configured in the block. evergreen#354
  • 🎉 Handle new CoverImage meta-source. evergreen#191
  • 🔧 Constrain image height in search results to minimum 8.5/11 ratio. evergreen#360
  • 🔧 ctrl/cmd click on Browse cards and covers now open in a new tab.
  • 🔧 Avoid sending some React component props to the DOM where they are invalid HTML attributes.
  • 🔧 Fixed bug in NavBlock config migration that forced the default configuration unless you were using the nestedNav hack.
  • 🔧 Reversed logic prevented meta-object search results from including the authors line automatically.
  • 🔨 Update dependency to styled-components v6 (forked beta).
v3.7.5 (2022-11-01)
  • 🔧 Fixed BrowseBlock admin, was broken in production build by recent changes to the utility functions to build lists of options for the select dropdown.
v3.7.4 (2022-10-29)
  • 🔧 Fixed ImageBlock admin, was broken in production build by accidentally referring to useMemo hook from storybook instead of react.
v3.7.3 (2022-10-29)
  • 🎉 ImageBlock admin now provides a select dropdown for uploaded Image meta-objects. Alt text works for Image meta-objects using the Description field, and for custom URLs using alt text configured in the block. evergreen#354
  • 🔧 ctrl/cmd click on Browse cards and covers now open in a new tab.
  • 🔧 Fix bug causing text in cart to render outside its container. This was caused by the changes in v3.7.1 for styled-components v6.
  • 🔧 Avoid sending some React component props to the DOM where they are invalid HTML attributes.
v3.7.2 (2022-10-19)
  • 🔧 Fixed bug in NavBlock config migration that forced the default configuration unless you were using the nestedNav hack.
v3.7.1 (2022-10-19)
  • 🎉 Handle new CoverImage meta-source. evergreen#191
  • 🔧 Constrain image height in search results to minimum 8.5/11 ratio. evergreen#360
  • 🔧 Reversed logic prevented meta-object search results from including the authors line automatically.
  • 🔨 Update dependency to styled-components v6 (forked beta).

Evergreen v3.6.0 (2022-10-18)

  • 🎉 Footer block can have a copyright value specific in the global configuration. evergreen#352
  • 🎉 Browse filter values can be reversed, especially for years and decades. For explicit filters, configure in the Browse block config. For filters defined on a collection, prefix the BrowseFilter1 or BrowseFilter2 value with a minus sign, for example -Decade evergreen#336
  • 🔧 Fix auto-complete dropdown on mobile to be black-on-white instead of white-on-white. evergreen#279
  • 🔧 Ensure HTML ids are unique blocks using React 18's useId with identifierPrefix
  • 🚀 Improved non-SSR performance on ToC pages by delivering the meta-object API response in the block context instead of waiting to call back to the API evergreen#348
  • 🔨 Updated react-query from v1 to v4 (significant tech debt cleanup) evergreen#348
  • 🔨 Increased TypeScript coverage from 36% to 48%
v3.7.0 (2022-10-02)
  • 🎉 Nav menu tech preview. Enable with nestedNav in QuickstartHacks, then configure with JSON. Will be UI-configurable in the future.
v3.6.0 (2022-09-03)
  • 🎉 Footer block can have a copyright value specific in the global configuration. evergreen#352
  • 🎉 Browse filter values can be reversed, especially for years and decades. For explicit filters, configure in the Browse block config. For filters defined on a collection, prefix the BrowseFilter1 or BrowseFilter2 value with a minus sign, for example -Decade evergreen#336
  • 🔧 Fix auto-complete dropdown on mobile to be black-on-white instead of white-on-white. evergreen#279
  • 🔧 Ensure HTML ids are unique blocks using React 18's useId with identifierPrefix
  • 🚀 Improved non-SSR performance on ToC pages by delivering the meta-object API response in the block context instead of waiting to call back to the API evergreen#348
  • 🔨 Updated react-query from v1 to v4 (significant tech debt cleanup) evergreen#348
  • 🔨 Increased TypeScript coverage from 36% to 48%

Evergreen v3.5.5 (2022-07-27)

  • 🗓️ Previously released UNSTABLE on as a series starting on 2022-06-30 with v3.5.0

  • 🎉 Image block can be configured with a link URL evergreen#301

  • 🎉 Add support for non-USD currencies in offers and cart. evergreen#343

  • 🚀 Improve rendering times (especially avoiding extra rendering related to hydration of server-rendered content)

  • 🚀 Improve SSR performance by disabling SSR for the Browse block (reduces typical home page rendering by 70%)

  • 🔧 Fix property-based exercise action labels and destinations. evergreen#339

  • 🔧 Don't mis-report "Added to Cart" for distributive offers. evergreen#337

  • 🔧 Omit Search Within block from palettes. This block is still a work in progress, and was unintentionally included in palettes in the production build.

  • 🔧 Fix SSR issues from React upgrade (polyfill for TextEncoder in GraalVM, and hydration mismatches in the Nav block)

  • 🔧 Fix svg logo from disappearing on Firefox. #328

  • 🔧 Run embedded scripts in customer Markdown and HTML, even when rendered client-side without SSR. evergreen#341

  • 🐞 Add tools for investigating and debugging SSR, ?quickstart-ssr=on and ?quickstart-ssr=off as well as specific blocks, for example ?quickstart-ssr=nav,content-cover. Client-side rendering can also be disabled with ?quickstart-csr=off to see the pure server-rendered output. These flags do not stick in the browser or session, they are per-request only. (Technically these debugging features are not in Evergreen, but rather were added to the server at the same time as the v3.5.1 unstable release.)

  • 🎁 Update to React 18

v3.5.5 (2022-07-27)
  • 🔧 Omit Search Within block from palettes. This block is still a work in progress, and was unintentionally included in palettes in the production build.
v3.5.4 (2022-07-08)
  • 🎉 Image block can be configured with a link URL evergreen#301
  • 🔧 Fix property-based exercise action labels and destinations. evergreen#339
v3.5.3 (2022-07-07)
  • 🔧 Don't mis-report "Added to Cart" for distributive offers. [original fix in v3.5.2 didn't work]
v3.5.2 (2022-07-07)
  • 🔧 Don't mis-report "Added to Cart" for distributive offers. [didn't work, re-fixed in v3.5.3]
v3.5.1 (2022-07-06)
  • 🎉 Add support for non-USD currencies in offers and cart.
  • 🚀 Improve SSR performance by disabling SSR for the Browse block (reduces typical home page rendering by 70%)
  • 🔧 Fix SSR issues from React upgrade (polyfill for TextEncoder in GraalVM, and hydration mismatches in the Nav block)
  • 🐞 Add tools for investigating and debugging SSR, ?quickstart-ssr=on and ?quickstart-ssr=off as well as specific blocks, for example ?quickstart-ssr=nav,content-cover. Client-side rendering can also be disabled with ?quickstart-csr=off to see the pure server-rendered output. These flags do not stick in the browser or session, they are per-request only. (Technically these debugging features are not in Evergreen v3.5.1, but rather were added to the server at the same time as the release.)
v3.5.0 (2022-06-30)
  • 🔧 Fix svg logo from disappearing on Firefox. #328
  • 🔧 Run embedded scripts in customer Markdown and HTML, even when rendered client-side without SSR. evergreen#341
  • 🚀 Improve rendering times (especially avoiding extra rendering related to hydration of server-rendered content)
  • 🎁 Update to React 18

Evergreen v3.4.0 (2022-06-30)

  • 🗓️ Previously released UNSTABLE on 2022-06-13.

  • 🔧 Stay in checkout after sign in, instead of returning to the cart. This change also makes the browser back and forward buttons work between the cart and checkout.

  • 🔧 Don't show Add to Cart on the Header Block when the offer is already in the cart. Previously, this only worked immediately after adding, now it also works when loading the detail page again later. #337

  • 🧐 Prevent long options from overlapping the dropdown arrow in the Select component.

  • 🚀 Defer rendering of ToC component in SSR, so that large tables of contents don't slow down initial page delivery. #302

  • 🚀 Defer rendering of Search component in SSR, so that we get page display while the search is running and results are fetching.

  • 🔧 Fix the unclickable area in the Select dropdown.

  • 🎁 Switch from yarn to pnpm, update storybook, update msw, fix storybook/msw not working in Chrome.

Evergreen v3.3.3 (2022-06-09)

  • 🎉 Stable release of new e-commerce features: offers in Header Block, new Cart Block with support for checkout via PayPal, and cart indicator in Nav Block.

  • 🎉 Enable login via remoteAuthenticationAgent, with global config and block-local overrides.

  • 🔧 Omit excerpts from the bookshelf that are licensed indirectly by a licensed book. #323

  • 🔧 Enable read online button for Excerpt ToC. This came as a byproduct of the overall Header Block rework. #321

  • 🔧 Enable keyword checklist for browse filters and details block #317

  • 🔧 Move browse heading above filters #318

  • 🔧 Only hide the Markdown Block if it's truly empty after Freemarker interpolation. This avoids hiding a block that consists mainly of a script. #307

  • 🔧 Fixed Markdown block to refrain from hiding if there's any HTML content, even if it doesn't appear to be visible. Especially for embeds. #307

  • 🔧 Fixed Markdown block to honor alignment option.

  • 🔧 Improve styling of buttons in customer HTML, including secondary button styling when there's more than one button in a parent element. #284

v3.3.3 (2022-05-06)
  • 🔧 Omit the word "collections" because excerpts can be purchased as part of their containing books. #325
v3.3.2 (2022-05-05)
  • 🎉 Add a visual indicator to the cart icon. #324
  • 🎉 Migrate old Header Block configurations to v2, so that customers with existing Header Block configs will hopefully not find unexpected behavior from the upgrade. (Contrast to v3.3.1 BAD which had stubbed migration code.)
  • 🔧 Omit excerpts from the bookshelf that are licensed indirectly by a licensed book. #323
  • 🔧 Enable read online button for Excerpt ToC. This came as a byproduct of the overall Header Block rework. #321
  • 🔧 Enable keyword checklist for browse filters and details block #317
  • 🔧 Move browse heading above filters #318
  • 🔧 Only hide the Markdown Block if it's truly empty after Freemarker interpolation. This avoids hiding a block that consists mainly of a script. #307
v3.3.1 (2022-04-16) ⚠
  • 🎉 New configuration for Header Block, with support for offers.
  • 🎉 Cart block with checkout flow for PayPal
v3.2.3 (2022-04-13)
  • 🎉 Enable login via remoteAuthenticationAgent, with global config and block-local overrides.
  • 🔧 Fixed Markdown block to refrain from hiding if there's any HTML content, even if it doesn't appear to be visible. Especially for embeds. #307
  • 🔧 Fixed Markdown block to honor alignment option.
  • 🔧 Improve styling of buttons in customer HTML, including secondary button styling when there's more than one button in a parent element. #284

Evergreen v3.2.2 (2022-03-18)

  • 🔧 Fixed scrambling of attachment display names and links. #306

Evergreen v3.2.1 (2022-03-10)

  • 🔧 Fixed global config migrations, which sometimes meant that various global config UI didn't appear (bookshelf, redemptions, etc) hierarchy, and also fixed them to be clickable again. #305

  • 🔧 Handle already-redeemed codes as success, so the user doesn't get stuck on the redemptions page with an error message. This especially applies to redemption links, because users might click them repeatedly from email. #305

Evergreen v3.2.0 (2022-02-17)

  • 🔧 Fixed rendering issues in search result "found in" clickable hierarchy, and also fixed them to be clickable again. #304

  • 🔧 Table of Contents now uses custom URL set on the meta-object. #303

  • 🎉 Freemarker interpolation works in all long-form (Markdown) text inputs, instead of a limited set.

  • 🎁 Replaced https://create-react-app.dev/[Create React App] with https://vitejs.dev/[Vite] for modular builds.

Evergreen v3.1.2 (2021-01-13)

  • 🔧 Revert using the new access API for now #283

Evergreen v3.1.1 (2021-01-07)

  • 🔧 Browse block on collection home displays all the meta-types included in the collection, excluding PdfPage. #238 gh#frontend/280

  • 🎉 Property display names can specify plural spelling with "#" separator, for example "Goose#Geese", as a more powerful alternative to the existing "Dog(s)" syntax.

  • 🎉 Use the new access API instead of the crutch in the global header. Any setting of canAccessViews in the global header is now ignored and can be removed.

  • 🔧 Validate successUrl as a host-relative URL (starts with a slash) before following. This wasn't a significant issue on Evergreen because we never follow successUrl without the user clicking a button.

  • 🔧 Don't shift dates to local timezone, which would lose a day in the Western Hemisphere. #300

  • 🔧 Restore message on bookshelf for user not signed in, regression in v3.1.0. #299

v3.1.1-alpha.3 (2021-01-07)
v3.1.1-alpha.2 (2021-01-06)
v3.1.1-alpha.1 (2021-12-21)
  • 🔧 Browse block on collection home displays all the meta-types included in the collection, not just books and videos. #238 gh#frontend/280
  • 🎉 Property display names can specify plural spelling with "#" separator, for example "Goose#Geese", as a more powerful alternative to the existing "Dog(s)" syntax.
  • 🎉 Use the new access API instead of the crutch in the global header. Any setting of canAccessViews in the global header is now ignored and can be removed.
  • 🔧 Validate successUrl as a host-relative URL (starts with a slash) before following. This wasn't a significant issue on Evergreen because we never follow successUrl without the user clicking a button.
  • 🔧 Don't shift dates to local timezone, which would lose a day in the Western Hemisphere. #300
  • 🔧 Restore message on bookshelf for user not signed in, regression in v3.1.0. #299

Evergreen v3.1.0 (2021-12-03)

  • 🎉 Redemption Code block guide

  • 🎉 Bookshelf block features

    • Administrator can filter content by required and/or excluded admin tags. #281
    • Bookshelf can be sorted by the user, and the sort options can be customized by the administrator. #281
    • Bookshelf can be renamed from "My Bookshelf" to whatever the customer wants. This is a global setting so that Evergreen can use it throughout the site (for example the Profile dropdown). #281
    • Redemption can be launched by a button on the Bookshelf, which can be configured on or off in the admin.
  • 🎉 Nav links can be added dynamically in the admin, and reordered by dragging.

  • 🧐 Sign In, Password Reset, and Register User blocks use a simpler presentation for better support of custom messaging. #286

v3.1.0-alpha.2 (2021-12-01)
  • 🔧 Fix missing labels in some buttons, bug in alpha.1 #298
  • 🎉 Bookshelf admin allows filtering content by excluded admin tags, in addition to the required admin tags in v3.1.0-alpha.1 #281
v3.1.0-alpha.1 (2021-11-23)
  • 🎉 Redemption Code block
    • Handles both direct input and ?redemptionCode=XXX in URL
    • Supports ?successUrl=/XXX in URL but it should be unnecessary in most cases--the block will detect what licenses have been added, and redirect to the most sensible place: Bookshelf for multiple items, or detail page for an individual item.
  • 🎉 Bookshelf block features
    • Administrator can filter content by required admin tags. #281
    • Bookshelf can be sorted by the user, and the sort options can be customized by the administrator. #281
    • Bookshelf can be renamed from "My Bookshelf" to whatever the customer wants. This is a global setting so that Evergreen can use it throughout the site (for example the Profile dropdown). #281
    • Redemption can be launched by a button on the Bookshelf, which can be configured on or off in the admin.
  • 🎉 Nav links can be added dynamically in the admin, and reordered by dragging.
  • 🧐 Sign In, Password Reset, and Register User blocks use a simpler presentation for better support of custom messaging. #286

Evergreen v3.0.0 (2021-11-23)

  • 🔧 Fix out-of-box default signin static page URL in global config from /login to /signin. The former is reserved in Tizra and can't be used for static pages.
  • 🔧 Fix saving of block editing title in admin. #285
  • 🔧 Fix Register User block to honor successUrl and default to / if unspecified, instead of remaining on the current page. #287
  • 🔧 Fix search results to add ?backToSearch for reader links, as it worked in Quickstart v2. #292
  • 🔧 Ignore bad color values (with dev console warning) instead of killing the site. #290

Evergreen v2.99.34 (2021-11-02)

  • 🔧 Fix branding colors to work again, broken since v2.99.29. Make sure to use three- or six-digit hex notation with leading octothorpe, e.g. #29f or #2198fe

Evergreen v2.99.33 (2021-10-22)

  • 🔧 Fix sign in modal to reload current page instead of redirecting. In contrast to the modal, the sign in block will still redirect to the home page by default, or to successUrl if given. This effectively means that either the block or modal approach returns to the desired content after sign-in.
  • 🔧 Fix usage of attachments API so it works correctly during SSR. This had previously been logging failures to the server log, and the client had to retry the API call to fill in the missing data.
  • 🔧 Stop spamming the server log with "metaObj is free access"
  • 🧐 For sign in, registration and password reset blocks, use the same width constraint on the bordered box with and without message. Previously the width became unconstrained when configured with a message.
  • 🎁 Update to React 17.0.2

Evergreen v2.99.32 (2021-09-25)

  • 🎉 Add blocks for Sign In, Password Reset, and Register User, with modal equivalent