Stellar Changelog
6.3.0 - 2025-05-04
New i18n features!
New content collection localization capabilities, where individual blog posts in different languages can be linked with a
mappingKey
in the frontmatter. This allows content collections to be easily translated without needing to update therouteTranslations
object each time!- This is accomplished in the new
localizedCollections
object
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
routeTranslations
object, 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 therouteTranslations
object 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
Allow optional passing of image prop on all pages to
BaseLayout
component for SEO OpenGraph purposesFix a few svg positions
Upgrade to Astro 5.7.10
Update other dependencies
6.2.1 - 2025-04-17
- Fix: package versions now locked to limit potential issues with new package updates
- Fix: active page navLink styling now works when deployed
- Improve focus states when tabbing through page elements
- Improve
.prettierignore
file - Upgrade to Astro 5.7.3
- Removed experimental SVG setup in Astro config file as a result (it is now a stable feature)
- Update other dependencies
6.2.0 - 2025-03-31
- Add eslint
- i18n script fixes
- Upgrade to Astro 5.5.5
- Update other dependencies
6.1.0 - 2025-03-07
- Add new
FeatureLightboxMarquee
component - Upgrade to Astro 5.4.2
- Update other dependencies
6.0.1 - 2025-02-14
- Fix focus styling
6.0.0 - 2025-02-12
- Upgrade to Tailwind CSS v4
- Removed
sass
dependency as a result. Everything is now only CSS
- Removed
- Implemented my own CSS file for rendered markdown content, making it easier to understand and customize
- Removed
@tailwindcss/typography
dependency as a result
- Removed
- Improve theme toggle styling and animation
- Add a slew of extra components under
src/components/starwind
- Update code tours
- Upgrade to Astro 5.2.5
- Update other dependencies
5.0.0 - 2024-12-23
- Upgrade to Astro 5.1.1
- Astro’s instructions for the curious: https://docs.astro.build/en/guides/upgrade-to/v5/
- New content collection config file is at
src/content.config.ts
, and collections are atsrc/data/
- Fix various
id
attributes in the Accordion and Nav components - Updated fonts to local installation via npm package to improve loading speed
- Add hreflang links as meta tags to improve SEO for multi-language websites
- i18n script improvements when using one language only
- script now removes all
getRelativeLocaleUrl()
and text translation uses, simplifying the code
- script now removes all
- Keystatic unistall script improvement - detects your package manager and uses the appropriate uninstall command
- Upgrade astro-icon
- pnpm support
- added .npmrc file with a few settings to enable pnpm local builds
- removed
package-lock.json
and replaced withpnpm-lock.yaml
- If you install with
npm install
a normalpackage-lock.json
file will be created
- If you install with
- Update prettier config file to be more strict (and help remove potential script issues if your setup differs)
- Change versioning structure to the more standard major, minor, patch
- Update other dependencies
4.2 - 2024-11-21
- This update is YUGE. This adds new configuration scripts
npm run config-i18n
andnpm run remove-keystatic
- It is now incredibly easy to configure i18n features when starting a project, and remove keystatic features if desired
- Enhance
global.scss
to remove usage of sass@import
and use@use
instead- The
@import
directive is being deprecated in Dart Sass and will be removed in future versions
- The
- Update
playform/compress
config setting to not optimize images or SVGs- In particular, using the image optimization here can dramatically increase build times for sites with many images, and astro:assets already handles it
- Add vite config in
astro.config.mjs
to remove Dart Sass deprecation warning- This is not necessary, but it removes a minor annoyance
- Update README
- Update to Astro 4.16.13
- Update other dependencies
4.1 - 2024-10-15
- Updated
NavLink.astro
so that trailing slashes are removed from navbar links- This allows ID’s to be used in the navbar through the
navData.json.ts
files
- This allows ID’s to be used in the navbar through the
- Update to Astro 4.16.4
- Update other dependencies
4.0 - 2024-06-04
- Add all i18n features originally seen in Atlas
- Language switcher component
- Keystatic CMS support for multiple languages
- Translate routes
- Utility functions to:
- Translate text
- Filter content collections by locale
- Format dates in the correct locale
- Get the current locale from the current URL
- & more
- Add Mega Menu component
- This is a large dropdown menu that can be used for navigation
- Add additional columns to Keystatic interface which you can sort by
- Adjust accordions so all other ones close when a new one is opened
- Add
@playform/compress
and removeastro-compress
due toastro-compress
being deprecated - Refactor
src/icons
folder to have a more organized structure. Also all used icons are now copied locally in this folder. - README updates
- Update to Astro 4.9.2
- Update other dependencies
3.1 - 2024-04-07
- Created a “services” content collection for the
/services
route- It is also editable with keystatic!
- Add “@keystatic/core” as dep in package.json to fix pnpm install issue
- pnpm does not auto install peer dependencies
- Add “rel” and “target” optional props to the
<Button />
component to remove typescript errors - Update to Astro 4.5.16
- Update other dependencies
3.0 - 2024-03-03
- Add Keystatic CMS integration for blog posts, authors, and other pages content collections
- This adds a great interface with rich text editor for easy content editing
- This is largely in addition to the existing MDX blog setup, and you can still just use the MDX blog if you prefer
- Blog folder structure is unchanged
- Add
ExternalLink.astro
component and integrate into blog and other MDX pages- This makes it so markdown links that go outside your website automatically open in a new tab
- Update to Astro 4.4.9
- Update other dependencies
2.1 - 2024-02-14
- Revamped scroll animations
- New animations, improved performance, and reduced bundle size
- See the animations documentation for more information
- If you need assistance upgrading, send us a message for support
- Fix CLS issues with a few components
- Update to Astro 4.4.0
- Update other dependencies
2.0 - 2024-01-16
- Add scroll based animations to the hero sections. These are enabled by default
- They can be disabled by setting
useAnimations = false
insrc/config/siteData.json.ts
- They can easily be extended to other sections of the site
- They can be disabled by setting
- Add cookie banner component, for use with GA4 or other cookie based analytics
- Cookie banner is disabled by default. To enable it, uncomment the
CookieBanner
component insrc/layouts/BaseLayout.astro
- Cookie banner is disabled by default. To enable it, uncomment the
- All components now use
class
instead ofclasses
prop for any extra classes to pass to the component - Small accessibility improvements
- SEO component cleanup
- Update to Astro 4.1.2
- Update other dependencies
1.1 - 2023-12-10
- Update to Astro 4.0.3
- Update other dependencies
1.0 - 2023-11-21
- Initial release