> ## Documentation Index
> Fetch the complete documentation index at: https://developer.upsun.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Releases

export const ShowMore = ({children, className = '', id = 'posts', btnClassName = ''}) => {
  const hash = 'show-all-' + id;
  const [expanded, setExpanded] = useState(false);
  useEffect(() => {
    const check = () => {
      if (window.location.hash === '#' + hash) {
        setExpanded(true);
      }
    };
    check();
    window.addEventListener('hashchange', check);
    return () => window.removeEventListener('hashchange', check);
  }, [hash]);
  const wrapClass = expanded ? className : className + ' blog-paginated';
  return <div>
      <div className={wrapClass}>
        {children}
      </div>
      {!expanded && <div className={btnClassName} style={{
    marginTop: '2rem',
    textAlign: 'center'
  }}>
          <a href={'#' + hash} style={{
    display: 'inline-flex',
    alignItems: 'center',
    gap: '0.5rem',
    padding: '0.75rem 1.5rem',
    borderRadius: '9999px',
    border: '1px solid #e5e7eb',
    fontSize: '0.875rem',
    fontWeight: 500,
    color: '#374151',
    textDecoration: 'none'
  }}>
            Show all posts ▾
          </a>
        </div>}
    </div>;
};

<ShowMore id="releases-articles" className="blog-card-grid">
  <a href="/posts/releases/introducing-developer-upsun-com" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/introducing-developer-upsun-com/developer-upsun-com.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/introducing-developer-upsun-com/developer-upsun-com.webp" alt="Introducing developer.upsun.com: Upsun docs, rebuilt for developers and AI agents" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Monday, March 16th 2026</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Introducing developer.upsun.com: Upsun docs, rebuilt for developers and AI agents</h3>
      <p className="blog-card-desc">The Upsun documentation has moved to developer.upsun.com with a complete infrastructure rebuild focused on agent-readiness. 244+ pages of structured, machine-readable content with llms.txt support and built-in AI assistance.</p>
    </div>
  </a>

  <a href="/posts/releases/upsun-node-sdk-announcement" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/upsun-node-sdk-announcement/upsun-sdk-node.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/upsun-node-sdk-announcement/upsun-sdk-node.webp" alt="Announcing the Official Upsun Node.js SDK" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Wednesday, February 25th 2026</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Announcing the Official Upsun Node.js SDK</h3>
      <p className="blog-card-desc">Discover how the Upsun Node SDK simplifies API access and speeds up integrations, with clear documentation and modern tooling.</p>
    </div>
  </a>

  <a href="/posts/releases/composer-2.9" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/composer-2.9/composer-2.9.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/composer-2.9/composer-2.9.webp" alt="Composer 2.9 lands on Upsun PHP Images: Here’s what you need to know" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Thursday, December 25th 2025</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Composer 2.9 lands on Upsun PHP Images: Here’s what you need to know</h3>
      <p className="blog-card-desc">Remote code execution vulnerability in Next.js 15.x and 16.x App Router requires immediate patching. Learn how to secure your applications.</p>
    </div>
  </a>

  <a href="/posts/releases/composable-image-embraces-real-world-diversity" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/composable-image-embraces-real-world-diversity/composable-image.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/composable-image-embraces-real-world-diversity/composable-image.webp" alt="One project, many needs: How Composable Image embraces real-world diversity" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Thursday, December 11th 2025</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">One project, many needs: How Composable Image embraces real-world diversity</h3>
      <p className="blog-card-desc">Applications rarely fit inside a single tidy runtime box. They evolve through experiments, architectural shifts, quick MVP spikes that outlast their intended lifespan, and the continuous layering of new business needs.</p>
    </div>
  </a>

  <a href="/posts/releases/php-85-release" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/php-85-release/elephant-84.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/php-85-release/elephant-84.webp" alt="PHP 8.5 is here!" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Thursday, November 20th 2025</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">PHP 8.5 is here!</h3>
      <p className="blog-card-desc">What if the next PHP revolution made no noise but completely transformed your developer daily life?</p>
    </div>
  </a>

  <a href="/posts/releases/upsun-php-sdk-announcement" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/upsun-php-sdk-announcement/upsun-sdk-php.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/upsun-php-sdk-announcement/upsun-sdk-php.webp" alt="Introducing the Upsun PHP SDK" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Tuesday, November 4th 2025</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Introducing the Upsun PHP SDK</h3>
      <p className="blog-card-desc">Discover how the Upsun PHP SDK simplifies API access and speeds up integrations, with clear documentation and modern tooling.</p>
    </div>
  </a>

  <a href="/posts/releases/redis-release" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/redis-release/redis.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/redis-release/redis.webp" alt="Redis 8.0 is here" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`featured` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        featured
                      </span>
                    )}

        <span className="text-xs text-subtle">Wednesday, June 4th 2025</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Redis 8.0 is here</h3>
      <p className="blog-card-desc">We are excited to announce that **Redis 8.0** is now available for all customers.</p>
    </div>
  </a>

  <a href="/posts/releases/file_size_limit" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/file_size_limit/file_size_limit.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/file_size_limit/file_size_limit.webp" alt="New file size limits explained" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`featured` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        featured
                      </span>
                    )}

        <span className="text-xs text-subtle">Wednesday, May 7th 2025</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">New file size limits explained</h3>
      <p className="blog-card-desc">To ensure the optimal performance, stability, and reliability of our Git infrastructure, we are introducing a limit on the size of individual files that can be pushed to your project repositories.</p>
    </div>
  </a>

  <a href="/posts/releases/vscode-extension" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/vscode-extension/visual-studio-code.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/vscode-extension/visual-studio-code.webp" alt="Supercharge your workflow with the Upsun VSCode Extension" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`featured` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        featured
                      </span>
                    )}

        <span className="text-xs text-subtle">Tuesday, May 6th 2025</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Supercharge your workflow with the Upsun VSCode Extension</h3>
      <p className="blog-card-desc">If you're working on Upsun projects with VSCode, the **Upsun VSCode extension** is an essential tool to enhance your development experience. Learn more...</p>
    </div>
  </a>

  <a href="/posts/releases/valkey-release" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/valkey-release/valkey.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/valkey-release/valkey.webp" alt="Valkey is now available" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`featured` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        featured
                      </span>
                    )}

        <span className="text-xs text-subtle">Wednesday, April 16th 2025</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Valkey is now available</h3>
      <p className="blog-card-desc">We're excited to announce the availability of [Valkey](https://valkey.io/), a high-performance, open-source key/value database, now offered as a managed service on Upsun. Valkey serves as a drop-in alternative to Redis, particularly relevant following recent licensing changes to the Redis project.</p>
    </div>
  </a>

  <a href="/posts/releases/elixir-118-release-available" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/elixir-118-release-available/elixir-118-release-available-thumbnail.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/elixir-118-release-available/elixir-118-release-available-thumbnail.webp" alt="Apologies to the Elixir community: 1.18 release now available" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Wednesday, February 26th 2025</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Apologies to the Elixir community: 1.18 release now available</h3>
      <p className="blog-card-desc">Elixir 1.18 is now available on Upsun and Platform.sh with type checking, LSP improvements, and built-in JSON support.</p>
    </div>
  </a>

  <a href="/posts/releases/llms-introduction" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/llms-introduction/llms-introduction.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/llms-introduction/llms-introduction.webp" alt="Upsun and Platform.sh Docs are now llms.txt compatible!" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`featured` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        featured
                      </span>
                    )}

        <span className="text-xs text-subtle">Friday, February 14th 2025</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Upsun and Platform.sh Docs are now llms.txt compatible!</h3>
      <p className="blog-card-desc">We’re thrilled to announce that both [Upsun Documentation](https://docs.upsun.com) and [Platform.sh Documentation](https://docs.platform.sh) are now fully compatible with [llms.txt proposed standard](https://llmstxt.org/)!</p>
    </div>
  </a>

  <a href="/posts/releases/php-84-release" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/php-84-release/elephant-84.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/php-84-release/elephant-84.webp" alt="PHP 8.4 is here!" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`featured` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        featured
                      </span>
                    )}

        <span className="text-xs text-subtle">Tuesday, November 26th 2024</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">PHP 8.4 is here!</h3>
      <p className="blog-card-desc">PHP 8.4 was [officially released](https://www.php.net/archive/2024.php#2024-11-21-4) on November 21st, and with it comes a number of improvements and new features that you can - as of today - begin working with on your Upsun and Platform.sh projects.</p>
    </div>
  </a>

  <a href="/posts/releases/continuous-profiling-comparisons" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/continuous-profiling-comparisons/cp-comparisons.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/continuous-profiling-comparisons/cp-comparisons.webp" alt="Continuous profiling comparisons" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Wednesday, October 23rd 2024</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Continuous profiling comparisons</h3>
      <p className="blog-card-desc">Upsun’s new continuous profiling comparisons feature provides deeper insights into application performance, enabling you to easily contrast performance metrics over time or between code versions.</p>
    </div>
  </a>

  <a href="/posts/releases/context-driven-navigation" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/context-driven-navigation/convert_typescript.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/context-driven-navigation/convert_typescript.webp" alt="Context driven navigation" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Thursday, October 3rd 2024</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Context driven navigation</h3>
      <p className="blog-card-desc">You may have noticed some changes to navigation and user settings on your Platform.sh dashboard.</p>
    </div>
  </a>

  <a href="/posts/releases/introducing-dev-center" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/devcenter.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/devcenter.webp" alt="Introducing the Upsun Developer Center" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Wednesday, September 18th 2024</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Introducing the Upsun Developer Center</h3>
      <p className="blog-card-desc">This month our Developer Relations and Advocacy teams are excited to share with you our latest resource: the Upsun Developer Center.</p>
    </div>
  </a>

  <a href="/posts/releases/bun-support-is-here" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/bun-support-is-here/bun_support_blog.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/bun-support-is-here/bun_support_blog.webp" alt="It's out of the Oven: Bun 1.0 support on Platform.sh" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Friday, September 8th 2023</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">It's out of the Oven: Bun 1.0 support on Platform.sh</h3>
      <p className="blog-card-desc">Bun 1.0 support is now available on Platform.sh. Discover our comparison results against Yarn and how to test Bun 1.0 out for yourself in this article.</p>
    </div>
  </a>

  <a href="/posts/releases/platformsh-is-always-one-step-ahead-announcing-postgresql--python--and-ruby--for-our-users" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/platformsh-is-always-one-step-ahead-announcing-postgresql--python--and-ruby--for-our-users/prostgresqul_python_ruby_updates_blog.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/platformsh-is-always-one-step-ahead-announcing-postgresql--python--and-ruby--for-our-users/prostgresqul_python_ruby_updates_blog.webp" alt="Platform.sh is always one step ahead: Announcing PostgreSQL 15, Python 3.11, and Ruby 3.2 for our users" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Monday, January 16th 2023</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Platform.sh is always one step ahead: Announcing PostgreSQL 15, Python 3.11, and Ruby 3.2 for our users</h3>
      <p className="blog-card-desc">Explore the new features and performance improvements in Python 3.11, PostgreSQL 15, and Ruby 3.2. Stay up-to-date with the latest programming languages.</p>
    </div>
  </a>

  <a href="/posts/releases/introducing-a-more-complete-logs-forwarding-experience" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/introducing-a-more-complete-logs-forwarding-experience/complete-log-forwarding.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/introducing-a-more-complete-logs-forwarding-experience/complete-log-forwarding.webp" alt="Introducing a more complete logs forwarding experience" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Friday, November 4th 2022</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Introducing a more complete logs forwarding experience</h3>
      <p className="blog-card-desc">Streamline monitoring with centralized log forwarding. Platform.sh now supports log forwarding to Sumologic, New Relic Logs, Splunk, and more. Discover how!</p>
    </div>
  </a>

  <a href="/posts/releases/php-80-feature-focus-constructor-property-promotion" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/php-80-feature-focus-constructor-property-promotion/php-80-feature-focus-constructor-property-promotion.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/php-80-feature-focus-constructor-property-promotion/php-80-feature-focus-constructor-property-promotion.webp" alt="PHP 8.0 feature focus: Class constructor property promotion" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Thursday, November 5th 2020</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">PHP 8.0 feature focus: Class constructor property promotion</h3>
      <p className="blog-card-desc">Discover how PHP 8.0's Constructor Property Promotion feature can streamline your code, reduce verbosity, and make coding faster. Try it on Platform.sh today!</p>
    </div>
  </a>

  <a href="/posts/releases/php-80-feature-focus-weak-maps" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/php-80-feature-focus-weak-maps/php-80-feature-focus-weak-maps.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/php-80-feature-focus-weak-maps/php-80-feature-focus-weak-maps.webp" alt="PHP 8.0 feature focus: Weak maps" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Thursday, October 1st 2020</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">PHP 8.0 feature focus: Weak maps</h3>
      <p className="blog-card-desc">Learn how PHP 8.0's Weak Maps simplify memory management by efficiently handling cached objects. Try PHP 8.0 on Platform.sh today!</p>
    </div>
  </a>

  <a href="/posts/releases/deploy-strapi-on-platformsh" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/deploy-strapi-on-platformsh/deploy-strapi-on-platformsh.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/deploy-strapi-on-platformsh/deploy-strapi-on-platformsh.webp" alt="Platform.sh–deploying the future of content with one click" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Tuesday, March 3rd 2020</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Platform.sh–deploying the future of content with one click</h3>
      <p className="blog-card-desc">Platform.sh and Strapi empower developers with a headless CMS solution for streamlined digital experiences. Deploy Strapi instantly. Learn more</p>
    </div>
  </a>

  <a href="/posts/releases/deploy-with-php-73-this-friday-er-thursday" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/deploy-with-php-73-this-friday-er-thursday/deploy-with-php-73-this-friday-er-thursday.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/deploy-with-php-73-this-friday-er-thursday/deploy-with-php-73-this-friday-er-thursday.webp" alt="Deploy with PHP 7.3 this Friday, er, Thursday" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Thursday, December 6th 2018</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Deploy with PHP 7.3 this Friday, er, Thursday</h3>
      <p className="blog-card-desc">Platform.sh welcomes PHP 7.3! Explore the latest features and performance improvements. Upgrade your application with a simple YAML tweak.</p>
    </div>
  </a>

  <a href="/posts/releases/golang-forth-and-deploy" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/golang-forth-and-deploy/golang-forth-and-deploy.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/golang-forth-and-deploy/golang-forth-and-deploy.webp" alt="Go[lang] forth and deploy" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Monday, October 29th 2018</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Go\[lang] forth and deploy</h3>
      <p className="blog-card-desc">Discover the full support for Go 1.11 on Platform.sh. No more GOPATH required. Easy setup and deployment for Go applications with Go modules and Platform.sh.</p>
    </div>
  </a>

  <a href="/posts/releases/deploy-your-python-37-code-to-the-moon" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/deploy-your-python-37-code-to-the-moon/deploy-your-python-37-code-to-the-moon.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/deploy-your-python-37-code-to-the-moon/deploy-your-python-37-code-to-the-moon.webp" alt="Deploy your Python 3.7 code to the Moon" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Wednesday, September 5th 2018</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Deploy your Python 3.7 code to the Moon</h3>
      <p className="blog-card-desc">Platform.sh now supports Python 3.7. Explore the latest features and enhancements. Update your .platform.app.yaml file and enjoy Python 3.7!</p>
    </div>
  </a>

  <a href="/posts/releases/hhvm-deploys-off-into-the-sunset" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/releases/hhvm-deploys-off-into-the-sunset/hhvm-deploys-off-into-the-sunset.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/releases/hhvm-deploys-off-into-the-sunset/hhvm-deploys-off-into-the-sunset.webp" alt="HHVM deploys off into the sunset" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Tuesday, January 30th 2018</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">HHVM deploys off into the sunset</h3>
      <p className="blog-card-desc">Platform.sh will no longer support HHVM runtime after 1 March 2018. Learn about this change and the evolution of PHP alternatives.</p>
    </div>
  </a>

  <a href="/posts/releases/python-ruby-support" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/devcenter.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/devcenter.webp" alt="Continuous Deployment - Now with Python and Ruby support!" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Friday, September 23rd 2016</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Continuous Deployment - Now with Python and Ruby support!</h3>
      <p className="blog-card-desc">Platform.sh now offers continuous deployment for Ruby and Python developers. Explore the benefits of continuous deployment for your projects in these languages.</p>
    </div>
  </a>

  <a href="/posts/releases/github-blackfire-platformsh" className="blog-card group rounded-xl bg-card border-theme card-hover shadow-sm hover:shadow-md transition-all overflow-hidden flex flex-col">
    {`/images/posts/devcenter.webp` !== '' && (
          <div className="blog-card-img-wrap">
            <img src="/images/posts/devcenter.webp" alt="Develop on GitHub, Deploy on Platform.sh, Test on Blackfire.io" className="blog-card-img" />
          </div>
        )}

    <div className="blog-card-body">
      <div className="flex items-center gap-2">
        {`releases` !== '' && (
                      <span className="text-xs font-semibold uppercase tracking-wider px-2 py-0.5 rounded-md bg-accent-badge border border-accent-soft text-accent">
                        releases
                      </span>
                    )}

        <span className="text-xs text-subtle">Tuesday, August 30th 2016</span>
      </div>

      <h3 className="blog-card-title group-hover:text-accent transition-colors">Develop on GitHub, Deploy on Platform.sh, Test on Blackfire.io</h3>
      <p className="blog-card-desc">Learn how to easily integrate GitHub, Blackfire, and Platform.sh for streamlined code management, deployment, and performance testing.</p>
    </div>
  </a>
</ShowMore>
