Skip to content

Latest commit

 

History

History
383 lines (226 loc) · 18 KB

CHANGELOG.md

File metadata and controls

383 lines (226 loc) · 18 KB

@astrojs/rss

4.0.7

Patch Changes

  • #11299 8ce66f2 Thanks @ematipico! - Fixes an issue where the pagesGlobToRssItems returned an incorrect type for items

4.0.6

Patch Changes

  • #11050 841df1f Thanks @mingjunlu! - Fixes an issue where trailing slash is not removed even if the trailingSlash option is set to false.

4.0.5

Patch Changes

4.0.4

Patch Changes

4.0.3

Patch Changes

4.0.2

Patch Changes

4.0.1

Patch Changes

  • #9299 edfae50e6 Thanks @cdvillard! - Improves the @astrojs/rss error message thrown when the object passed to the items property is missing any of the three required keys or if one of those keys is mistyped.

4.0.0

Major Changes

  • #9168 153a5abb9 Thanks @bluwy! - Removes the deprecated (in v3.0) drafts option as the feature is deprecated in Astro 3.0

4.0.0-beta.0

Major Changes

  • #9168 153a5abb9 Thanks @bluwy! - Removes the drafts option as the feature is deprecated in Astro 3.0

3.0.0

Major Changes

  • #8188 d0679a666 Thanks @ematipico! - Remove support for Node 16. The lowest supported version by Astro and all integrations is now v18.14.1. As a reminder, Node 16 will be deprecated on the 11th September 2023.

  • #8179 6011d52d3 Thanks @matthewp! - Astro 3.0 Release Candidate

  • #8198 cb95aa5f8 Thanks @bluwy! - Update the rss() default export to return a Response instead of a simple object, which is deprecated in Astro 3.0. If you were directly returning the rss() result from an endpoint before, this breaking change should not affect you.

    You can also import getRssString() to get the RSS string directly and use it to return your own Response:

    // src/pages/rss.xml.js
    import { getRssString } from '@astrojs/rss';
    
    export async function get(context) {
      const rssString = await getRssString({
        title: 'Buzz’s Blog',
        ...
      });
    
      return new Response(rssString, {
        headers: {
          'Content-Type': 'application/xml',
        },
      });
    }

Patch Changes

3.0.0-rc.2

Major Changes

  • #8198 cb95aa5f8 Thanks @bluwy! - Update the rss() default export to return a Response instead of a simple object, which is deprecated in Astro 3.0. If you were directly returning the rss() result from an endpoint before, this breaking change should not affect you.

    You can also import getRssString() to get the RSS string directly and use it to return your own Response:

    // src/pages/rss.xml.js
    import { getRssString } from '@astrojs/rss';
    
    export async function get(context) {
      const rssString = await getRssString({
        title: 'Buzz’s Blog',
        ...
      });
    
      return new Response(rssString, {
        headers: {
          'Content-Type': 'application/xml',
        },
      });
    }

3.0.0-rc.1

Major Changes

Patch Changes

3.0.0-beta.0

Major Changes

  • 1eae2e3f7 Thanks @Princesseuh! - Remove support for Node 16. The lowest supported version by Astro and all integrations is now v18.14.1. As a reminder, Node 16 will be deprecated on the 11th September 2023.

2.4.4

Patch Changes

2.4.3

Patch Changes

2.4.2

Patch Changes

2.4.1

Patch Changes

2.4.0

Minor Changes

2.3.2

Patch Changes

2.3.1

Patch Changes

2.3.0

Minor Changes

  • #6453 2e362042c Thanks @ematipico! - Added trailingSlash option to control whether or not the emitted URLs should have trailing slashes.

    import rss from '@astrojs/rss';
    
    export const get = () =>
      rss({
        trailingSlash: false,
      });

    By passing false, the emitted links won't have trailing slashes.

2.2.0

Minor Changes

2.1.1

Patch Changes

  • #6259 dbffee4e3 Thanks @y-nk! - Improve RSS schema errors with additional property name context

2.1.0

Minor Changes

  • #5851 81dce94f2 Thanks @bholmesdev! - Update RSS config for readability and consistency with Astro 2.0.

    • Migration - import.meta.glob() handling

      We have deprecated items: import.meta.glob(...) handling in favor of a separate pagesGlobToRssItems() helper. This simplifies our items configuration option to accept a single type, without losing existing functionality.

      If you rely on our import.meta.glob() handling, we suggest adding the pagesGlobToRssItems() wrapper to your RSS config:

      // src/pages/rss.xml.js
      import rss, {
      +  pagesGlobToRssItems
      } from '@astrojs/rss';
      
      export function get(context) {
        return rss({
      +    items: pagesGlobToRssItems(
            import.meta.glob('./blog/*.{md,mdx}'),
      +    ),
        });
      }
    • New rssSchema for content collections

      @astrojs/rss now exposes an rssSchema for use with content collections. This ensures all RSS feed properties are present in your frontmatter:

      import { defineCollection } from 'astro:content';
      import { rssSchema } from '@astrojs/rss';
      
      const blog = defineCollection({
        schema: rssSchema,
      });
      
      export const collections = { blog };

2.1.0-beta.0

See changes in 2.1.0-beta.0

Minor Changes

  • #5851 81dce94f2 Thanks @bholmesdev! - Update RSS config for readability and consistency with Astro 2.0.

    • Migration - import.meta.glob() handling

      We have deprecated items: import.meta.glob(...) handling in favor of a separate pagesGlobToRssItems() helper. This simplifies our items configuration option to accept a single type, without losing existing functionality.

      If you rely on our import.meta.glob() handling, we suggest adding the pagesGlobToRssItems() wrapper to your RSS config:

      // src/pages/rss.xml.js
      import rss, {
      +  pagesGlobToRssItems
      } from '@astrojs/rss';
      
      export function get(context) {
        return rss({
      +    items: pagesGlobToRssItems(
            import.meta.glob('./blog/*.{md,mdx}'),
      +    ),
        });
      }
    • New rssSchema for content collections

      @astrojs/rss now exposes an rssSchema for use with content collections. This ensures all RSS feed properties are present in your frontmatter:

      import { defineCollection } from 'astro:content';
      import { rssSchema } from '@astrojs/rss';
      
      const blog = defineCollection({
        schema: rssSchema,
      });
      
      export const collections = { blog };

2.0.0

Major Changes

1.2.1

Patch Changes

1.2.0

Minor Changes

  • c76e1c810 Thanks @mattstein! - Fixes a bug that prevented an item’s customData from being included.

1.1.0

Minor Changes

  • #5366 081e0a9d2 Thanks @smithbm2316! - Added the ability for users to include the full content of their posts/items in each RSS feed entry via the new content key on the RSSFeedItem model.

Patch Changes

1.0.3

Patch Changes

  • #5164 4a8a346ca Thanks @MoustaphaDev! - Add support for markdown files with the following extensions:
    • .markdown
    • .mdown
    • .mkdn
    • .mkd
    • .mdwn

1.0.2

Patch Changes

1.0.1

Patch Changes

1.0.0

Major Changes

0.2.2

Patch Changes

0.2.1

Patch Changes

0.2.0

Minor Changes

  • #3301 0efaf110 Thanks @bholmesdev! - Change the optional "canonicalUrl" argument to a required "site" argument. This fixes problems with import.meta.env.SITE. If you want to use your project's "site" field for your RSS feeds, set site: import.meta.env.SITE in the rss function options

0.1.1

Patch Changes

  • 1032e450 Thanks @FredKSchott! - Introduce new @astrojs/rss package for RSS feed generation! This also adds a new global env variable for your project's configured "site": import.meta.env.SITE. This is consumed by the RSS feed helper to generate the correct canonical URL.