# UF Language

UF Language is a Python-based language engine providing multiple levels of user-friendliness:

- **UF** – Beginner-friendly syntax  
- **iUF** – Intermediate mode  
- **nUF** – Advanced structured mode  
- **dnUF** – Developer-focused mode  

## Installation

```bash
pip install uf-language
```

---
## UF Versions Policy
UF versions follow a structured cycle, with stable, beta, LTS, and EOL releases. This guide explains how they work.

## Quick Reminder
The extension "T" in a version (1.5.0t) indicates a **text-only update**
This update only changes documentation, README, and the text you're reading right now. It does **not** add new commands, features or changes inside the code.
Text-only updates:
``` bash
1.5.0b1, 1.5.0b2, 1.5.0b3, 1.5.0b4.post1
```

## Release Cycle

UF follows a structured release cycle:

- Each minor version (e.g., 1.5, 1.6) begins with beta releases:
  - 1.x.0b0 up to 1.x.0b5
- A maximum of 5 beta versions are published.
- After beta testing is complete, a stable version is released:
  - 1.x.0

Beta releases may contain:
- Experimental features
- Breaking changes
- Incomplete functionality

Stable releases:
- Are production-ready
- Contain no experimental features
- Follow semantic versioning

We recommend you use stable versions for projects, and beta versions only for testing purposes.

---

## Long-Term Support (LTS) Lifecycle

Certain stable releases are designated as **Long-Term Support (LTS)** versions.

LTS versions:

- Receive bug fixes
- Receive security patches
- Receive stability improvements
- Do NOT receive new features
- Do NOT introduce breaking changes

LTS versions are supported for **12 months** from their release date.

If a version is widely adopted by the community (e.g., educational institutions, production environments, or large-scale projects), the support period may be extended at the discretion of the maintainers.

Extensions are evaluated based on:
- Community adoption
- Active usage
- Contributor availability
- Security considerations

An LTS version remains supported until:
- The next LTS version is announced, or
- It reaches its official End-of-Life (EOL)

Only one LTS version is actively maintained at a time.

LTS releases are recommended for:
- Production environments
- Educational use
- Long-term projects requiring stability

---

## End-of-Life (EOL) Policy

A version reaches End-of-Life (EOL) when it is no longer supported by the UF maintainers.

Once a version reaches EOL:

- It no longer receives bug fixes
- It no longer receives security patches
- It no longer receives stability updates
- It is not recommended for new projects

Users are strongly encouraged to upgrade to a supported stable or LTS version before the EOL date.

EOL versions remain publicly available for historical and archival purposes, but they are considered unsupported.

The UF team may announce EOL dates in advance to allow users time to migrate.