---
title: BrightScript Versions
slug: develop/brightscript-versions
docTags: 
createdAt: 2025-03-11T07:07:17.199Z
---

| **Version Matrix, January 9, 2009**                                                                 | HD20000 1.3 Branch | HD2000<br /> 2.0 Branch | Compact Main Line |
| --------------------------------------------------------------------------------------------------- | ------------------ | ----------------------- | ----------------- |
| SnapShot Date                                                                                       | 1/7/2008           | 7/16/2008               | 1/9/2009          |
| Defxxx, on, gosub, clear, random, data, read, restore, err, errl, let, clear, line numbers          | **X**              | **X**                   |                   |
| Intrinsic Arrays                                                                                    | **X**              | **X**                   |                   |
| Compiler                                                                                            |                    | **X**                   | **X**             |
| AA & dot Op & m reference                                                                           |                    | **X**                   | **X**             |
| Sub/Functions                                                                                       |                    | **X**                   | **X**             |
| ifEnum & For Each                                                                                   |                    | **X**                   | **X**             |
| For/Next Does Not Always Execute At Least Once                                                      |                    | **X**                   | **X**             |
| Exit For                                                                                            |                    | **X**                   | **X**             |
| Invalid Type.  Errors that used to be Int Zero are now Invalid. Added roInvalid; Invalid Autoboxing |                    |                         | **X**             |
| Array's use roArray; Added ifArray                                                                  |                    |                         | **X**             |
| Uninit Var Usage No Longer Allowed                                                                  |                    |                         | **X**             |
| Sub can have "As" (like Function)                                                                   |                    |                         | **X**             |
| roXML Element & XML Ops dot and @                                                                   |                    |                         | **X**             |
| Type() Change: Now matches declaration names (eg. Integer not roINT32)                              |                    |                         | **X**             |
| Added roBoolean                                                                                     |                    |                         | **X**             |
| Added dynamic Type; Type now optional on Sub/Functions                                              |                    |                         | **X**             |
| And/Or Don't Eval un-needed Terms                                                                   |                    |                         | **X**             |
| Sub/Fun Default Parameter Values (e.g. `Sub (x=5 As Integer)`)                                      |                    |                         | **X**             |
| AA declaration  Op \{ }                                                                             |                    |                         | **X**             |
| Array Declaration Op \[ ]                                                                           |                    |                         | **X**             |
| Change Array Op from ( ) to \[]                                                                     |                    |                         | **X**             |
| Anonymous Functions                                                                                 |                    |                         | **X**             |
| Added Circ. Ref. Garbage Collector                                                                  |                    |                         | **X**             |
| Add Eval(), Run(), and Box()                                                                        |                    |                         | **X**             |

