Voyager Changelog
2.0.0 - 2025-10-19
- Replace existing “aos” script with the
motion-on-scrolllibrary. This replaces all “data-aos” with “data-mos” and all “data-aos-trigger” with “data-mos-anchor”, but maintains the same functionality in an easier to maintain manner.- This uses the “motion” library for animations instead of “animejs”
- Replace all animejs scripts with motion. animejs is removed from the project as a result
- Upgrade to React v19 (only used by Keystatic)
- Upgrades existing starwind components and adds most of the new ones (all except the carousel component as it is unused and would install the
embla-carouseldependency) - Update to Astro v5.14.6
- Upgrade all other dependencies to their latest versions
1.2.1 - 2025-07-08
- Fix custom heading markdown components to await the
getLocalizedPathname()function.
1.2.0 - 2025-05-11
New i18n features!
New content collection localization capabilities, where individual blog posts in different languages can be linked with a
mappingKeyin the frontmatter. This allows content collections to be easily translated without needing to update therouteTranslationsobject each time!- This is accomplished in the new
localizedCollectionsobject
src/config/translationData.json.ts /*** * Content collection translations used by the language switcher and hreflang generator** Per-collection, per-locale route base mapping (collections to localize are the keys)** If you have a key of "blog" then the blog content collection will be localized. This will look* for a "mappingKey" in the entry metadata, and use that to map the entry to the correct locale** You can use the locale value to map the collection to a different route if desired** Note: this does NOT affect the getLocalizedRoute() function. To translate the base routes use the routeTranslations object*/export const localizedCollections = {blog: {en: "blog",fr: "blog",},// Add more collections/locales as needed} as const;- This is accomplished in the new
Add wildcard support in the
routeTranslationsobject, allowing you to map multiple routes at once.- For example, you could route all English category routes
/categories/*to the base French route of/categories
src/config/translationData.json.ts /*** * Route translations are used to translate route names for the language switcher component* This can be useful for SEO reasons. The key does not matter, it just needs to match between languages** ## Notes** - These routes must be everything after the base domain. So if this is "atlas.com/blog", the route would be "blog"* - Or if this is "atlas.com/legal/privacy", the route would be "legal/privacy"* - This also supports wildcards for language switcher and SEO purposes, and works in conjunction with the localizedCollections object below* - For example, "categories/*" would match "categories/1" or "categories/2" etc for that language.*/export const routeTranslations = {en: {overviewKey: "overview",categoryKey: "categories",categoryKey2: "categories/*",categoryKey3: "categories",},fr: {overviewKey: "apercu",categoryKey: "categories",categoryKey2: "categories",categoryKey3: "categories/*",},} as const;- For example, you could route all English category routes
You’ll also find a new
getLocalizedRoute()function as a drop-in replacement forgetRelativeLocaleUrl(). This is more flexible as it utilizes therouteTranslationsobject to auto-translate routes for you in components. You can use it like this:import { getLocaleFromUrl } from "@/js/localeUtils";import { getLocalizedRoute } from "@/js/translationUtils";const currLocale = getLocaleFromUrl(Astro.url);const route = getLocalizedRoute(currLocale, "/overview");// for the above routeTranslations, this would become "/fr/apercu" for FrenchAdjust existing i18n config script to account for additional features
Change from
tailwindcss-animatetotw-animate-csspackageLock package versions to limit potential issues with new package updates
Improve Prettier and ESLint setup
Update to Astro 5.7.12
Update other dependencies
1.1.1 - 2025-03-31
- Disable CSS minification as it can cause issues with tailwind classes
1.1.0 - 2025-03-30
- Add eslint
- i18n script fixes
- Fix scroll-mt-20 class when deployed in TableOfContents.astro component
- Upgrade to Astro 5.5.5
- Update other dependencies
1.0.1 - 2025-02-09
- Fix: change @apply in tailwind theme keyframes to normal CSS to remove potential issues
1.0.0 - 2025-01-23
- Initial release