Skip to content

Changelog

The canonical changelog lives at the repository root in CHANGELOG.md. The contents are included below so the docs site stays in sync.

CHANGELOG

v0.44.0 (2026-09-14)

Features

  • Overhaul native contracts, rendering, and extension builds (#101, 9cb4ebb)

v0.43.1 (2026-09-12)

Bug Fixes

  • net: Preserve custom content type regardless of header casing (#97, d902e5e)

Refs: #87

Co-authored-by: Owen Carey 37121709+owenthcarey@users.noreply.github.com

Documentation

  • mkdocs: Cover IS_WEB in the platform-specific code FAQ (#85, 8da8fd6)

Refs: #59

Co-authored-by: Owen Carey 37121709+owenthcarey@users.noreply.github.com

v0.43.0 (2026-09-09)

Features

  • Overhaul native runtime contracts and lifecycle ownership (#86, 0b21046)

v0.42.0 (2026-09-08)

Documentation

  • cli: Add help text for positional platform arguments (#81, a838a56)

Refs: #55

Features

  • cli: Add --json output to pn app-id (#77, 94e9190)

Refs: #56

Testing

  • cli: Cover app id derivation from project names (#79, 5b1d965)

Refs: #62

v0.41.0 (2026-09-08)

Build System

  • workflows: Publish portable wheels and recover releases (#82, b3680df)

Continuous Integration

  • workflows: Isolate semantic-release action outputs (#83, b52499e)

Documentation

  • Remove overhaul report and refresh runtime guides (#84, 607e0c7)

  • repo: Fix E2E workflow description in CONTRIBUTING.md (#69, 052893e)

Refs: #53

Co-authored-by: Owen Carey 37121709+owenthcarey@users.noreply.github.com

Features

  • cli: Add --json output to pn doctor (#76, 375c3a2)

Refs: #37

Testing

  • project: Cover runtime_assets checksum and extraction helpers (#75, fc61648)

Refs: #57

Co-authored-by: Owen Carey 37121709+owenthcarey@users.noreply.github.com

  • utils: Cover desktop platform detection (#68, fd831c9)

Refs: #40

Co-authored-by: Owen Carey 37121709+owenthcarey@users.noreply.github.com

v0.40.0 (2026-09-05)

Continuous Integration

  • workflows: Restrict releases to the upstream repository (01838d9)

Documentation

  • mkdocs: Add run instructions to the navigation example (#63, d3e7a96)

Refs: #60

Co-authored-by: Owen Carey 37121709+owenthcarey@users.noreply.github.com

  • mkdocs: Refresh package overview internals and CLI lists (#46, c934fca)

Refs: #45

Co-authored-by: Owen Carey 37121709+owenthcarey@users.noreply.github.com

Features

  • runtime: Overhaul native rendering and app architecture (#80, 065b40a)

v0.39.0 (2026-09-04)

Features

  • cli: Add dev server, dev clients, and browser preview (#74, ee66d34)

v0.38.0 (2026-09-04)

Features

  • project,cli: Resolve PyPI deps per target, and tighten API (#73, 8cebee5)

v0.37.0 (2026-09-03)

Features

  • bridge: Add native rendering core and module plugins (#72, 6c7d4d4)

v0.36.0 (2026-09-03)

Documentation

  • mkdocs: Tell readers how to run the example snippets (#65, b1e6507)

Refs: #52

  • mutations: Add Attributes sections to the remaining op docstrings (#66, 9cb8f9b)

Refs: #61

  • platform: Document the desktop OS value and is_desktop (#64, fcacf86)

Refs: #39

Co-authored-by: Owen Carey 37121709+owenthcarey@users.noreply.github.com

Features

  • cli: Add --device flag to pn logs (#67, 6d3a171)

Refs: #38

Co-authored-by: Owen Carey 37121709+owenthcarey@users.noreply.github.com

v0.35.0 (2026-09-03)

Features

Refs: #44

v0.34.0 (2026-09-03)

Documentation

  • mkdocs: Mention pn preview in the hello-world example (#50, 60687a0)

Refs: #42

Co-authored-by: Owen Carey 37121709+owenthcarey@users.noreply.github.com

  • navigation: Fix use_route and Stack.Screen examples (#51, 7e59651)

Refs: #36

Co-authored-by: Owen Carey 37121709+owenthcarey@users.noreply.github.com

Features

  • Add typed components, navigation overhaul, and testing (#70, d0294a7)

v0.33.0 (2026-09-02)

Build System

  • pyproject,scripts,workflows: Migrate development tooling from pip to uv (#47, c90bbcb)

Refs: #28

Documentation

  • repo: Document issue claiming before opening PRs (3223619)

Features

  • net: Add concise repr to Response (#49, 2ffc701)

Refs: #43

v0.32.0 (2026-09-01)

Documentation

  • events,mutations,platform_metrics: Add API reference pages (#31, a9b5147)

Features

  • cli: Validate project names and escape TOML values (#32, 3e78f6e)

Refs: #29

v0.31.0 (2026-08-30)

Features

  • cli: Add --json output to pn devices (#30, 4efea4d)

Refs: #22

v0.30.0 (2026-08-29)

Features

  • cli: Create project directory in pn init (#27, 5f84246)

Refs: #21

v0.29.0 (2026-08-29)

Features

  • cli: Check for Tkinter in pn doctor (#25, 5cd7953)

Refs: #23

v0.28.0 (2026-08-29)

Features

Refs: #20

v0.27.0 (2026-08-29)

Features

  • Overhaul animations, gestures, and interaction props (#19, 75cd0ca)

v0.26.0 (2026-08-29)

Features

  • cli: Overhaul ios embedding, devices, and release builds (#18, c200d2a)

v0.25.0 (2026-08-28)

Documentation

  • Strip AI provenance metadata from logo image (d1dfe98)

Features

  • runtime,hooks: Make rendering async-first with Suspense (#17, a011d59)

v0.24.0 (2026-07-11)

Features

  • Overhaul core semantics, dev diagnostics, and public API (#16, 985d7ca)

v0.23.0 (2026-07-08)

Features

  • Add native lists, dark mode, rich text, and image pipeline (#15, c609a94)

v0.22.1 (2026-06-18)

Bug Fixes

  • Pin PythonKit to v0.5.1 after upstream renamed master to main (#13, e787891)

Documentation

  • Add AGENTS.md with documentation style guidelines (1e860b7)

  • Serve documentation site from the apex domain (6b659e9)

  • Use straight quotes, and drop em dashes per style guide (#12, 6c0399c)

v0.22.0 (2026-06-16)

Features

  • Overhaul native bridge, animations, gestures, and lists (#11, b635110)

v0.21.0 (2026-06-09)

Features

  • Add pythonnative.toml config and build system (#10, 869e977)

v0.20.0 (2026-06-08)

Features

  • reconciler: Re-render only dirty components, not the whole tree (#9, 13b615d)

v0.19.0 (2026-06-02)

Features

  • native_views,cli: Add desktop preview backend and pn preview (#8, 3228f11)

v0.18.0 (2026-05-31)

Features

  • components,native_modules: Expand component and device APIs (#7, 1d6fe92)

v0.17.1 (2026-05-31)

Bug Fixes

  • Address library bugs uncovered by the E2E suite (c7becef)

  • native_views: Wire return_key_type on Android, and dismiss keyboard (3ab5d98)

  • screen: Preserve hook state across Android pop-back (6b27f0c)

Continuous Integration

  • workflows: Shard the iOS E2E run across simulators (536fed6)

  • workflows,scripts: Shard the Android E2E run across emulators (67c340d)

Testing

  • Add e2e-suite covering every public API (38e3e01)

  • Make e2e open_demo state-aware to skip redundant relaunches (a94859f)

  • examples: Use scrollUntilVisible for scroll_view/flat_list (5b8af35)

v0.17.0 (2026-05-21)

Continuous Integration

  • workflows,tests: Stabilize Android E2E on CI (#4, 2488faf)

Features

  • runtime: Add asyncio loop and awaitable APIs (#5, 6b468fd)

v0.16.0 (2026-05-19)

Chores

  • scripts: Add Android emulator launcher (ab6b4ae)

Features

  • components,hooks: Add props, fragment, memo, and native picker (54878c0)

Testing

  • Match full PythonNative version text in settings e2e flow (5198051)

v0.15.0 (2026-05-14)

Chores

  • scripts: Add check.sh to run ci.yml checks locally (6bcb874)

Features

  • sdk,style: Add native-component SDK and typed Style API (#2, 9f26a6e)

v0.14.0 (2026-05-13)

Chores

  • examples: Use existing AOSP drawable names for Android tab icons (0767170)

Documentation

  • repo: Add missing module scopes to CONTRIBUTING (5a02f04)

Features

  • navigation: Add tab_bar_icon option for native system icons (baf6d58)

v0.13.1 (2026-05-12)

Bug Fixes

  • hot_reload,native_views: Dedupe per-host reloads; clamp NaN frames (796ec70)

v0.13.0 (2026-05-12)

Features

  • screen,hot_reload: Add native stack navigation and Fast Refresh (#1, 042f411)

v0.12.0 (2026-05-11)

Features

  • components,hooks,native_views: Add native UI primitives (186bba6)

v0.11.0 (2026-04-29)

Features

  • layout: Add pure-Python flexbox engine; rewrite native containers (4247386)

v0.10.0 (2026-04-27)

Documentation

  • Adopt Google-style docstrings; revamp MkDocs site (922ec94)

Features

  • hot_reload: Reload Python app code without rebuilding (cddbcdc)

v0.9.0 (2026-04-16)

Features

  • cli,page,templates: Stream Python logs from pn run android/ios (57179b9)

v0.8.0 (2026-04-08)

Features

  • hooks,reconciler: Defer effects; add batching and use_reducer (bf6bb57)

  • native_views,components: Add flexbox-inspired layout system (094d997)

  • navigation: Add declarative navigation system (828bbb0)

  • navigation: Add native tab bars and nested navigator forwarding (2b80032)

Refactoring

  • native_views: Split monolithic module into platform-specific package (d0068fd)

v0.7.0 (2026-04-03)

Features

  • Replace class-based Page with function components, style prop, and use_navigation hook (8103710)

v0.6.0 (2026-04-03)

Build System

  • deps: Drop Python 3.9 support (EOL October 2025) (552cd99)

Code Style

  • cli: Reformat pn.py for Black 2026 stable style (298f884)

Continuous Integration

  • workflows: Add package build step to verify sdist and wheel before release (7fbf9c0)

  • workflows,cli: Fix e2e workflow script chaining and GitHub API auth (01d1968)

Documentation

  • Align branch prefixes with conventional commit types (c6e0e08)

  • repo: Align conventional commit scopes with module structure (ecc39af)

  • repo: Remove component table from README (ab162c5)

Features

  • Add function components, hooks, layout, styling, hot reload, native APIs, and new UI components (3bd87de)

  • cli,templates: Add pythonVersion config, fix Android build, and wire pip requirements (a529834)

Testing

  • Increase app startup wait for slow CI emulators (4ff6b94)

v0.5.0 (2026-03-31)

Continuous Integration

  • workflows: Add Maestro E2E tests for Android and iOS (cfe247e)

Features

  • core: Replace imperative widget API with declarative component model and reconciler (b6b7721)

v0.4.0 (2026-03-18)

Bug Fixes

  • components,templates: Restore hello-world on iOS and Android (d7ac93b)

Continuous Integration

  • workflows: Add semantic-release pipeline and PR commit linting (0711683)

  • workflows: Append detailed changes link to release notes (11d50a7)

  • workflows: Fix duplicate release, and use changelog for release notes (1cd5393)

  • workflows: Simplify release pipeline to use python-semantic-release defaults (2766f24)

Documentation

  • repo: Rewrite README with banner, structured sections, and badges (7c083f4)

  • repo: Simplify README with badges and one-paragraph overview (3ac84b1)

Features

  • components: Standardize fluent setters and align base signatures (d236d89)

  • components,core: Add layout/styling APIs and fluent setters (6962d38)

Refactoring

  • components: Declare abstract static wrap in ScrollViewBase (593fee4)

  • core,components,examples: Add annotations; tighten mypy (86e4ffc)

v0.3.0 (2025-10-22)

Build System

  • repo: Remove invalid PyPI classifier (c8552e1)

Chores

  • experiments: Remove experiments directory (caf6993)

  • repo,core,mkdocs: Bump version to 0.3.0 (64d7c1c)

Documentation

  • mkdocs: Add Architecture page (6d61ffc)

Features

  • core,templates: Add push/pop navigation and lifecycle wiring (06ea22d)

  • templates,core: Adopt Fragment-based Android navigation (7a3a695)

v0.2.0 (2025-10-14)

Build System

  • templates,cli: Ship template dirs with package; drop zip artifacts (7725b14)

Chores

  • Clean up (6c7a882)

  • core,components,cli: Align lint, typing, and tests with CI (30037d1)

  • experiments: Remove unused experiment directories (db06fd1)

  • repo,ci,docs: Rename demo to examples/hello-world and update refs (6d5b78e)

  • repo,core,mkdocs: Bump version to 0.2.0 (d3f8d31)

  • templates: Scrub DEVELOPMENT_TEAM from iOS template (64ab266)

Continuous Integration

  • workflows,mkdocs: Set CNAME to docs.pythonnative.com for docs deploy (401a076)

Documentation

  • mkdocs: Add roadmap and link in nav (16ede97)

  • mkdocs: Update Getting Started, Hello World, Components, and platform guides (f3a03b0)

  • repo: Add CONTRIBUTING.md (f61cb85)

Features

  • Update README (e839585)

  • cli,mkdocs,tests: Add pn init/run/clean; use bundled templates (9c61757)

  • cli,templates: Auto-select iOS sim; guard PythonKit (7b7c59c)

  • cli,templates: Bundle offline templates; add run --prepare-only (d9dd821)

  • cli,templates: Dev-first templates; stage in-repo lib for pn run (b3dd731)

  • cli,templates,core: Bootstrap entrypoint; pn run shows Hello UI (2805e1d)

  • cli,templates,core: Fetch iOS Python runtime and bootstrap PythonKit (bcc0916)

  • components,utils: Unify constructors; set Android context (4c06b67)

  • repo,mkdocs,workflows: Migrate to src layout; add pyproject and docs scaffold (f273922)

Refactoring

  • cli: Make pn.py typing py3.9-compatible and wrap long lines (b38da78)

  • components,core: Align component names with docs (a326ceb)

v0.1.0 (2025-10-14)

v0.0.1 (2025-10-14)