Skip to content

Capawesome December 2025 Update

The Capawesome December update is here! This update includes new features and improvements for Capawesome Cloud and our Plugins. Let's take a look at the most important changes.

Cloud

Build Stacks

We are excited to announce the launch of the new macos-tahoe build stack for Capawesome Cloud. This build stack provides support for Xcode 26.2, enabling you to build your iOS applications with the latest tools and features from Apple.

The macos-tahoe build stack runs on macOS 26 and includes updated versions of key development tools. In addition to Xcode 26.2, it comes with Fastlane 2.229.1, npm 11.6.2, and Java 17/21 (with 21 as the default). Node.js versions 20, 22, and 24 are supported, with 24 as the default.

This new build stack ensures you can take advantage of the latest iOS SDK features and improvements. You can select the macos-tahoe build stack in your build configuration to start using Xcode 26.2 today. For more information, check out the Build Stacks documentation.

Teams

We are excited to introduce Teams to Capawesome Cloud! This new feature enables organizations to organize members and control access to specific apps, providing better structure and security for larger teams.

Teams function as access control groups where you can assign members and apps together. Each team can have multiple members, and members can belong to multiple teams. When a member is part of a team, they automatically gain access to all apps assigned to that team. Organization Owners and Admins maintain access to all apps regardless of team membership.

To get started with Teams, navigate to the Teams page in the Capawesome Cloud Console. Check out the Teams documentation to learn more.

Plugins

All Capawesome plugins have been updated to support Capacitor 8! This major update brings improved performance, better error handling, and updated dependencies across all platforms. We've also updated all plugin dependencies to their latest stable versions to ensure compatibility and security.

Check out our Capacitor 8 migration guide for detailed information about breaking changes and how to update your applications. The guide includes step-by-step instructions for migrating each plugin to the new version.

Audio Player

The Audio Player plugin now supports remote URLs on Android, expanding playback capabilities across all platforms. Previously limited to web assets on Android, the plugin now allows you to play audio files from remote servers, matching the functionality available on iOS and Web.

This enhancement means you can stream audio content directly from your CDN or API without needing to bundle files with your application. Both the src parameter for web assets and remote URLs, and the uri parameter for local file paths are now fully supported on Android, providing consistent behavior across all platforms.

Age Signals

The Age Signals plugin has been enhanced with new testing methods for Android and an eligibility check for iOS. Three testing methods—setUseFakeManager(), setNextAgeSignalsResult(...), and setNextAgeSignalsException(...)—enable comprehensive testing of age-related features without requiring actual Google Play integration.

A new checkEligibility() method is now available on iOS to determine if users are eligible for age-gated features based on their region:

import { AgeSignals } from '@capawesome/capacitor-age-signals';

const checkEligibility = async () => {
  const result = await AgeSignals.checkEligibility();
  console.log('Eligible:', result.eligible);
};

PostHog

The PostHog plugin now includes consent management and cookieless tracking features, giving you more control over user privacy and GDPR compliance. Three new methods—optIn(), optOut(), and isOptOut()—manage user consent for event tracking:

import { Posthog } from '@capawesome/capacitor-posthog';

const handleConsent = async () => {
  await Posthog.optIn(); // User accepts tracking
  await Posthog.optOut(); // User rejects tracking

  const result = await Posthog.isOptOut();
  console.log('Opted out:', result.optedOut);
};

The plugin also supports cookieless tracking on Web, enabling privacy-focused analytics without browser cookies. Configure the setup(...) method with cookielessMode set to always for continuous cookieless tracking or on_reject to switch to cookieless mode when users opt out. This feature requires cookieless mode to be enabled in your PostHog project settings.

Purchases

The Purchases plugin now includes a new getProductById(...) method that retrieves detailed information about a specific in-app product. This method simplifies product queries by allowing you to fetch details for a single product without needing to load your entire product catalog.

import { Purchases } from '@capawesome-team/capacitor-purchases';

const getProduct = async () => {
  const result = await Purchases.getProductById({
    productId: 'com.example.premium'
  });

  console.log('Product:', result.product.displayName);
  console.log('Price:', result.product.price);
  console.log('Currency:', result.product.currencyCode);
};

The method returns comprehensive product information including the display name, description, localized pricing, currency code, and product type. This is particularly useful when you need to display pricing information for a specific product or validate product availability before presenting purchase options to users.

This method is available on Android and iOS 15.0+.

Superwall

We are excited to announce the initial release of the Superwall plugin! This unofficial Capacitor plugin integrates the Superwall SDK into your mobile applications, providing powerful monetization and user engagement features for managing in-app subscriptions and paywalls.

The plugin enables you to display remotely-configured paywalls without app updates, control feature access based on subscription status, and track user analytics across platforms. It includes built-in A/B testing support to optimize conversion rates and works seamlessly on both Android and iOS. Check out the documentation to learn more about getting started with the Superwall plugin.