If you’ve worked with concurrent programming, you know the headaches that come with data races and deadlocks. Pony was created to address these exact problems. But if you’ve looked for Pony’s support policy, you might have been surprised – it doesn’t follow the traditional “LTS for X years” or “EOL on Y date” approach that most languages use.

Let’s explore Pony’s unique support policy and version management approach.

 

Pony-Language

 

 

1. What is Pony Language?

Pony is an open-source programming language created by Sylvan Clebsch during his PhD at Imperial College London. The story behind its creation is interesting – he was frustrated by the lack of high-performance languages that could safely handle concurrent code.

Key Features of Pony

Pony provides actor-model-based concurrency and uses a unique Reference Capabilities system that completely prevents data races at compile time. Simply put, if your program compiles, you don’t need to worry about concurrency bugs.

Core Features:

  • Type Safety: Mathematically proven type system
  • Memory Safety: No concept of null at all
  • Concurrency Safety: Data race prevention at compile time
  • Lock-Free: No need for traditional synchronization mechanisms like locks or mutexes
  • Native Code: High performance through AOT (Ahead-of-Time) compilation

Each actor’s heap is garbage collected independently and concurrently, eliminating the need for “Stop the World” global garbage collection. This is a significant advantage for systems where real-time performance matters.

 

 

2. License Policy – Free to Use

Pony uses the BSD-2-Clause license. This is a very permissive open-source license with almost no restrictions on commercial use. You only need to maintain the original copyright notice when redistributing modified source code.

BSD-2-Clause Benefits:

  • Commercial use allowed
  • No obligation to release source code
  • Freedom to modify and redistribute
  • Much less restrictive than GPL

Official license information is available in the LICENSE file in the GitHub repository.

 

 

3. No Traditional LTS/EOL? Pony’s Unique Approach

This is the most important part. Pony is still in pre-1.0 status and regularly introduces breaking changes. Unlike mature languages that promise “5 years of LTS support” or “EOL in 2027,” Pony doesn’t follow traditional versioning policies.

So How Does Pony Handle Support?

Pony uses a Platform-based Support Policy. Instead of setting support periods for specific Pony versions, they provide builds for each OS platform until that platform’s security update period ends.

 

 

4. Platform Support Policy and End Dates (As of November 2025)

Currently Fully Supported Platforms

Based on the latest release information, the following platforms are officially supported:

PlatformArchitectureSupport StartedSupport EndsStatus
Alpine Linux 3.22amd64, arm642025-102027Until security updates end
Alpine Linux 3.21amd64, arm642025-102026Until security updates end
Alpine Linux 3.20amd64, arm642025-042026Until security updates end
Ubuntu 24.04 LTSamd6420242029Ubuntu security support period
Ubuntu 24.04 LTSarm642025-102029Ubuntu security support period
Ubuntu 22.04 LTSamd6420222027Ubuntu security support period
Windows 11amd64, arm64OngoingTBDFull Support
macOSamd64 (Intel)OngoingTBDFull Support
macOSarm64 (Apple Silicon)2024TBDRestored in 2024

Recently Discontinued Platforms (Moved to Best Effort)

PlatformDiscontinuedLast Supported VersionReason
Fedora 412025-10Before 0.60.4EOL approaching, builds stopped
Fedora 39Early 20250.56.xReached EOL
Ubuntu 20.04 LTS2025-100.59.xReached EOL
Ubuntu 18.04 LTS20230.54.xReached EOL, dropped from 0.55.0
FreeBSD20230.55.xFull Support dropped due to lack of CI resources

What “Best Effort” Means

Best Effort platforms have support code in the codebase but don’t receive testing or pre-built binaries. You can build from source, but the Pony team doesn’t officially test or support them.

Current Best Effort Platforms:

  • DragonFlyBSD (x86 only)
  • FreeBSD (all, after 0.55.x)
  • Windows 10 (x86 only)
  • Ubuntu 20.04 (after 0.60.0)
  • Ubuntu 18.04 (after 0.55.0)
  • Fedora 39 (after 2025)
  • Fedora 41 (after October 2025)

 

 

5. Complete Version History – 2016 to Present

Pony is currently in the 0.60 series. Here’s a comprehensive timeline from the initial public releases in 2016 through 2025.

Major Version Timeline

Version SeriesKey VersionRelease DateMajor Changes
0.60.x0.60.42025-10-31Alpine 3.22 added, Fedora 41 builds stopped
0.60.32025-10-20Multiplatform versioned Docker images
0.60.22025-10-18Multiplatform release Docker images
0.60.02025-10-15Ubuntu 20.04 dropped, LLVM 18.1.8, arm64 Windows added
0.59.x0.59.02025-04-26Runtime event tracing, LLVM 17.0.1
0.58.x0.58.132025-03-09Epoll ASIO bug fix
0.58.122025-03-01Trait inheritance bug fix
0.58.112025-02-22Actor reaping bug fix
0.58.102025-02-01Critical Security: ISO Soundness Issue
0.57.x0.57.02024Actor pinning feature added
0.56.x0.56.02024Alpine 3.17+ required, linking compatibility changes
0.55.x0.55.22024Actor heap optimization bug fix
0.55.12024Heap chunk bug
0.55.02024Docker images switched to Ubuntu 22.04
0.50.x-0.54.xMultiple2023-2024Stability improvements and optimizations
0.40.x-0.49.xMultiple2021-2022Continuous feature improvements
0.35.x0.35.12020-05Windows ProcessMonitor bug fix
0.35.02020Major feature updates
0.27.x0.27.02018LLVM 7/6/5 official support, LLVM 3.9 deprecation announced
0.21.x0.21.32017-12LLVM 3.7, 3.8 support dropped
0.21.12017-12Scheduler memory management improvements
0.14.x0.14.02017-05Critical bug fixes, network error handling enforcement
0.13.x0.13.02017-04Type system issue fixed (high priority)
0.10.x-0.12.xMultiple2016-2017Initial stabilization
0.6.x-0.9.xMultiple2016-10 ~ 2016-11Initial public releases
0.3.x-0.5.x0.5.02016-09Early development versions
0.4.02016-09Early development
0.3.32016-09Early development

Detailed 2024-2025 Releases

VersionDateKey ContentPriority
0.60.42025-10-31Alpine 3.22 arm64/amd64 support addedRegular
0.60.32025-10-20Multiplatform versioned imagesRegular
0.60.22025-10-18Multiplatform release imagesRegular
0.60.02025-10-15Ubuntu 20.04 dropped, ld.gold removed, arm64 WindowsImportant
0.59.02025-04-26Chromium JSON tracing, GC improvementsImportant
0.58.132025-03-09Epoll race condition fixRegular
0.58.122025-03-01Trait method inheritance fixRegular
0.58.112025-02-22Use-after-free fixImportant
0.58.102025-02-01ISO variable soundness issueCritical

 

 

6. Critical Security Update History

Security patches you must know about when using Pony:

VersionDateIssueSeverityRecommended Action
0.58.102025-02-01ISO variable matching soundness issueCriticalUpdate immediately
0.58.112025-02-22Use-after-free in fast actor reapingHighUpdate recommended
0.14.02017-05GC bugs due to hashmap implementation errorHighUpdate recommended
0.13.02017-04Type system stability issuesHighUpdate recommended

Version 0.58.10 is particularly critical. This version fixed a serious issue where Pony’s core guarantee of preventing data races could be violated, so immediate updates were recommended for all users.

 

 

7. LLVM Version Support Policy

Since Pony uses LLVM as its backend, LLVM version support is important:

Pony VersionSupported LLVM VersionsNotes
0.60.0+LLVM 18.1.8Current version
0.59.0+LLVM 17.0.1Updated April 2025
0.27.0LLVM 7, 6, 5Official support added
After 0.27.0LLVM 3.9Support ended
After 0.21.3LLVM 3.7, 3.8Support dropped

 

 

8. Breaking Changes Policy

As a pre-1.0 language, Pony regularly introduces breaking changes, but these changes are usually fairly easy to adapt to.

Breaking Changes Response Strategy

StepActionResource
1. MonitorCheck CHANGELOG regularlyOfficial GitHub
2. Stay InformedRead Release NotesOfficial Website
3. CommunityUse Zulip ChatCommunity
4. UpdateSequential version upgrades (don’t skip)

 

 

9. Docker Image Support Policy Changes

Currently Available Docker Images (As of November 2025)

Since October 2025, multiplatform (amd64, arm64) Docker images are available:

TagPlatformBase OSPurpose
ponyc:nightlyamd64, arm64Alpine 3.21Latest development builds
ponyc:releaseamd64, arm64Alpine 3.21Latest stable release
ponyc:0.60.4amd64, arm64Alpine 3.21Specific version

Discontinued Docker Images

Tag PatternDiscontinuedReplacement
ponyc:*-alpine2025-10Use nightly tag
glibc-based images2025-10Only musl-based (Alpine) provided
Windows containers2025-10Discontinued due to low usage

 

 

10. Installation and Version Management – Ponyup

The Pony ecosystem provides an official version management tool called ponyup.

Installing Ponyup

Linux/macOS:

sh -c "$(curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/ponylang/ponyup/latest-release/ponyup-init.sh)"

Windows: See the official installation guide.

Version Management Commands

# Install latest release
ponyup update ponyc release

# Install specific version
ponyup update ponyc 0.60.4

# Install nightly build
ponyup update ponyc nightly

# Check installed version
ponyc --version

 

 

11. Production Environment Considerations

Applications written in Pony are currently used in production environments. However, the pre-1.0 status should be considered.

Production Checklist

ItemConsiderationRecommendation
Complex ConcurrencyNeed to solve?✅ Recommended
Team CapabilityCan handle breaking changes?✅ Recommended
Performance RequirementsNeed high performance and predictable latency?✅ Recommended
Long-term MaintenanceLong-term operation without updates?⚠️ Careful
Legacy IntegrationIntegration with existing systems?⚠️ Careful
Learning TimeCan learn Reference Capabilities?Needs evaluation

 

 

12. When is 1.0? Future Roadmap

The Pony team is working toward a 1.0 release, but no specific timeline has been announced.

Expected Changes After 1.0

  • API stability guarantees
  • Clear LTS/EOL policy
  • Minimized breaking changes
  • Possible long-term support (LTS) versions

Check the latest roadmap at Official GitHub Issues and RFC Repository.

 

 

13. Official Resources and Community

Official Resources

ResourceURLPurpose
Official Websiteponylang.ioGeneral information
Tutorialponylang.io/learnLearning
Playgroundplayground.ponylang.ioBrowser testing
GitHubgithub.com/ponylang/ponycSource code
Release Notesponylang.io/categories/releaseVersion information

Community and Support

ChannelURLPurpose
Zulip Chatponylang.zulipchat.comReal-time questions
GitHub DiscussionsGitHubDiscussion
Pony Patternspatterns.ponylang.ioDesign patterns
Standard Librarystdlib.ponylang.ioAPI documentation

 

 

Conclusion

Pony uses a unique platform-based support policy instead of traditional LTS/EOL approaches. While the pre-1.0 status means rapid changes, the strong guarantees around concurrency safety and high performance make it compelling.

Key Takeaways:

  • Version Policy: Follows platform security support periods instead of traditional EOL
  • Current Latest: 0.60.4 (October 31, 2025)
  • Platform Support: Alpine 3.20-3.22, Ubuntu 22.04/24.04, Windows 11, macOS
  • Major Changes: Ubuntu 20.04 dropped, Alpine-only Docker, expanded arm64 support
  • Security: 0.58.10 soundness issue – immediate update required

If you’re dealing with complex concurrency problems, Pony’s unique approach might be the solution you need. However, carefully evaluate your team’s capabilities and project requirements before production adoption.

Keep track of platform support periods and regularly check release notes for safe Pony usage. 🙂

 

 

 

Leave a Reply