Changelog
A running log of platform changes.
Applies to Appylar v1.0
A chronological log of what was built for Appylar. It's more granular than the Release Notes and grows as the platform evolves. Entries are grouped by the delivery milestones that made up the v1.0.0 launch, in the order they shipped.
#2026-07-20 — Subscription billing
- Plans with a monthly allowance — network reach is now funded by a subscription plan that includes a monthly impression allowance, resetting each billing cycle (no rollover). Consumption draws from the current period's allowance first.
- Top-ups — one-off impression packs for bursts beyond the plan; consumed only after the allowance is exhausted, and never expiring.
- Graceful pause — when allowance and top-up are both empty, network serving pauses automatically; campaigns are never deleted and portfolio serving is unaffected. No automatic overage billing.
- Billing page & API —
GET /v1/billing/summary(plan, allowance, top-up, total), plan/pack catalogs,subscribeandtop-upcheckouts, plus admin-configurable plan allowances and top-up packs. - Everything is measured in impressions (the internal unit); campaign creation stays independent of the billing plan.
#2026-07-19 — Serving protocol v1 & SDK 1.1.0
- Serving protocol v1 — the first formal, versioned SDK↔API contract, identical across every SDK. Requests carry
Appylar-ProtocolandAppylar-SDKheaders;/serveaccepts a runtimeosand an optionalstoreso ad click-throughs route to the correct store listing.GET /v1/sdk/confignow reportsprotocol_version. - Store catalog — the backend recognises Google Play, Apple App Store, Amazon Appstore, Huawei AppGallery and Samsung Galaxy Store for routing.
- Android, iOS and Flutter SDKs 1.1.0 — implement the protocol identically and add an optional
store(AppylarStore) to the SDK config for builds shipped outside the OS default store. Fully backward compatible: v1.0.0 apps keep serving unchanged. - Campaign creation, simplified — rebuilt around intent: choose the app to promote and where it shows; name, frequency limit and country targeting move under Advanced with sensible defaults. Removed the non-functional per-campaign "daily budget (credits)" field end to end.
- Country targeting enforced —
target_geois now honoured at serve time against the viewer's edge-derived country.
#2026-07-15 — v1.0.0
Everything below shipped as part of the first production release, listed in build order.
#Platform API
- Multi-tenant Laravel backend with token authentication and per-organization isolation.
- Endpoints for auth, organization/settings, apps (with key rotation), campaigns (with activate/pause), creatives (upload/moderation), reports and billing.
- SDK data-plane: serving-token issuance, SDK config, ad serving, and batched event ingestion.
- Admin moderation endpoints (approve/reject) for the Appylar team.
#Android SDK 1.0.0
- Public API:
initialize,setConsent,bannerView,createInterstitial. - Banner (
FrameLayout) and interstitial ads with load/show callbacks. - Typed
AdError,AppylarConfig(test mode, log levels), automatic install tracking. - Published to Maven Central; no third-party dependencies.
#iOS SDK 1.0.0
- Feature-equivalent public API in Swift:
initialize,setConsent,bannerView,createInterstitial. - Banner (
UIView) and interstitial ads with delegate callbacks and typedAdError. - Distributed via Swift Package Manager; iOS 15+, no dependencies.
#Flutter SDK 1.0.0
- Feature-equivalent public API in Dart:
initialize,setConsent,createBanner/BannerWidget,createInterstitial. - Banner widget and interstitial ads with listener callbacks and typed
AdError. - Pure Dart — no platform channels, no native bridge, no third-party packages. Distributed via Git (pub.dev listing in preparation).
#Developer Portal
- Iteration 1–2 — authentication, dashboard shell, apps, API keys and SDK downloads.
- Iteration 3 — campaigns and creatives: full CRUD, upload, and moderation status.
- Iteration 4 — analytics and billing: reporting breakdowns, KPI dashboard, credit balance, transactions and checkout.
- Iteration 5 — settings, support, a manual status page, and a full production-polish pass (loading, empty, error and 404 states; breadcrumbs; accessibility).
#Documentation
- Documentation foundation integrated into the portal: Markdown source, server-rendered pages, sidebar, table of contents, syntax-highlighted code blocks and copy buttons.
- Full v1 documentation content: Getting Started, all three SDKs, the REST API reference, product guides, FAQ and Troubleshooting.
#Marketing site
- Public appylar.com landing site with the design-partner call to action.