diff --git a/CHANGELOG.md b/CHANGELOG.md
index 57fdf604..7b6836b0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,61 +3,69 @@ This document describes changes between versions of rbxmk. The `imperative`
branch is the latest unreleased version.
## imperative
+See a [comparison with the previous version][cmp-imperative] for a thorough list of changes.
+
+The [Documentation page][doc-imperative] provides a complete reference for this version of rbxmk.
+
+[doc-imperative]: https://github.com/Anaminus/rbxmk/blob/imperative/doc/README.md#user-content-rbxmk-reference
+[cmp-imperative]: https://github.com/Anaminus/rbxmk/compare/v0.8.0...imperative
+
+## v0.8.0
**Incompatibilities**
-- Remove DataModel.new in favor of [Instance.new("DataModel")](https://github.com/Anaminus/rbxmk/blob/imperative/doc/types.md#user-content-instancenew).
-- Move [os library](https://github.com/Anaminus/rbxmk/blob/imperative/doc/libraries.md#user-content-os) functions to [path library](https://github.com/Anaminus/rbxmk/blob/imperative/doc/libraries.md#user-content-path).
- - Move os.clean to [path.clean](https://github.com/Anaminus/rbxmk/blob/imperative/doc/libraries.md#user-content-pathclean)
- - Move os.expand to [path.expand](https://github.com/Anaminus/rbxmk/blob/imperative/doc/libraries.md#user-content-pathexpand)
- - Move os.join to [path.join](https://github.com/Anaminus/rbxmk/blob/imperative/doc/libraries.md#user-content-pathjoin)
- - Move os.split to [path.split](https://github.com/Anaminus/rbxmk/blob/imperative/doc/libraries.md#user-content-pathsplit)
- - [os.getenv](https://github.com/Anaminus/rbxmk/blob/imperative/doc/libraries.md#user-content-osgetenv) is unchanged.
+- Remove DataModel.new in favor of [Instance.new("DataModel")](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/types.md#user-content-instancenew).
+- Move [os library](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/libraries.md#user-content-os) functions to [path library](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/libraries.md#user-content-path).
+ - Move os.clean to [path.clean](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/libraries.md#user-content-pathclean)
+ - Move os.expand to [path.expand](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/libraries.md#user-content-pathexpand)
+ - Move os.join to [path.join](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/libraries.md#user-content-pathjoin)
+ - Move os.split to [path.split](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/libraries.md#user-content-pathsplit)
+ - [os.getenv](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/libraries.md#user-content-osgetenv) is unchanged.
- Refactor descriptors.
- Element types are represented as dictionaries containing the fields of the element.
- - Add [RootDesc.new](https://github.com/Anaminus/rbxmk/blob/imperative/doc/types.md#user-content-rootdescnew) for creating new [RootDesc](https://github.com/Anaminus/rbxmk/blob/imperative/doc/types.md#user-content-rootdesc) types.
+ - Add [RootDesc.new](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/types.md#user-content-rootdescnew) for creating new [RootDesc](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/types.md#user-content-rootdesc) types.
- Remove rbxmk.newDesc.
- - All operations to get and set descriptor information are contained in [RootDesc](https://github.com/Anaminus/rbxmk/blob/imperative/doc/types.md#user-content-rootdesc).
- - The methods of [RootDesc](https://github.com/Anaminus/rbxmk/blob/imperative/doc/types.md#user-content-rootdesc) are updated to reflect this change.
-- Move rbxmk.diffDesc function to [RootDesc.Diff](https://github.com/Anaminus/rbxmk/blob/imperative/doc/types.md#user-content-rootdescdiff) method.
-- Move rbxmk.patchDesc function to [RootDesc.Patch](https://github.com/Anaminus/rbxmk/blob/imperative/doc/types.md#user-content-rootdescpatch) method.
-- Move rbxmk.newCookie to [Cookie.new](https://github.com/Anaminus/rbxmk/blob/imperative/doc/types.md#user-content-cookienew).
-- Move rbxmk.cookiesFrom to [Cookie.from](https://github.com/Anaminus/rbxmk/blob/imperative/doc/types.md#user-content-cookiefrom).
-- Move rbxmk.newAttrConfig to [AttrConfig.new](https://github.com/Anaminus/rbxmk/blob/imperative/doc/types.md#user-content-attrconfignew).
+ - All operations to get and set descriptor information are contained in [RootDesc](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/types.md#user-content-rootdesc).
+ - The methods of [RootDesc](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/types.md#user-content-rootdesc) are updated to reflect this change.
+- Move rbxmk.diffDesc function to [RootDesc.Diff](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/types.md#user-content-rootdescdiff) method.
+- Move rbxmk.patchDesc function to [RootDesc.Patch](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/types.md#user-content-rootdescpatch) method.
+- Move rbxmk.newCookie to [Cookie.new](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/types.md#user-content-cookienew).
+- Move rbxmk.cookiesFrom to [Cookie.from](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/types.md#user-content-cookiefrom).
+- Move rbxmk.newAttrConfig to [AttrConfig.new](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/types.md#user-content-attrconfignew).
**Highlights:**
-- Improve handling of values in the [rbx formats](https://github.com/Anaminus/rbxmk/blob/imperative/doc/formats.md#user-content-rbxl).
-- Add "Desc" option to the [rbx formats](https://github.com/Anaminus/rbxmk/blob/imperative/doc/formats.md#user-content-rbxl) to set a descriptor used when encoding or decoding.
-- Add "DescMode" option to the [rbx formats](https://github.com/Anaminus/rbxmk/blob/imperative/doc/formats.md#user-content-rbxl) to set how deviations from the descriptor are handled.
+- Improve handling of values in the [rbx formats](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/formats.md#user-content-rbxl).
+- Add "Desc" option to the [rbx formats](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/formats.md#user-content-rbxl) to set a descriptor used when encoding or decoding.
+- Add "DescMode" option to the [rbx formats](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/formats.md#user-content-rbxl) to set how deviations from the descriptor are handled.
- Including `--desc-*` flags causes the "Enum" global variable to be set to the enums generated from the resulting descriptor.
-- Implement members for the [DescAction](https://github.com/Anaminus/rbxmk/blob/imperative/doc/types.md#user-content-descaction) type.
-- Add [DescAction.new](https://github.com/Anaminus/rbxmk/blob/imperative/doc/types.md#user-content-descactionnew) constructor.
+- Implement members for the [DescAction](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/types.md#user-content-descaction) type.
+- Add [DescAction.new](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/types.md#user-content-descactionnew) constructor.
- xpcall can receive extra arguments that are passed to the called function.
-- Add [path.clean](https://github.com/Anaminus/rbxmk/blob/imperative/doc/libraries.md#user-content-pathclean) function to clean file paths.
-- Add [Enum](https://github.com/Anaminus/rbxmk/blob/imperative/doc/libraries.md#user-content-rbxmkenum) field to rbxmk library to contain enums defined by rbxmk. Note that there are currently no such enums.
+- Add [path.clean](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/libraries.md#user-content-pathclean) function to clean file paths.
+- Add [Enum](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/libraries.md#user-content-rbxmkenum) field to rbxmk library to contain enums defined by rbxmk. Note that there are currently no such enums.
**Fixes:**
-- Fix missing properties from [sym.Properties](https://github.com/Anaminus/rbxmk/blob/imperative/doc/types.md#user-content-instancesymproperties) when instance has a descriptor.
+- Fix missing properties from [sym.Properties](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/types.md#user-content-instancesymproperties) when instance has a descriptor.
- Fix unexpected conversion failures when getting certain property types while an instance has descriptor.
-- Fix type conversion error when encoding [`desc-patch.json` format](https://github.com/Anaminus/rbxmk/blob/imperative/doc/formats.md#user-content-desc-patchjson).
-- Fix type conversion error when encoding Objects with [rbx formats](https://github.com/Anaminus/rbxmk/blob/imperative/doc/formats.md#user-content-rbxl).
-- Fix encoding of SharedStrings in [rbxlx/rbxmx formats](https://github.com/Anaminus/rbxmk/blob/imperative/doc/formats.md#user-content-rbxlx).
-- Fix incorrect use of CDATA sections in [rbxlx/rbxmx formats](https://github.com/Anaminus/rbxmk/blob/imperative/doc/formats.md#user-content-rbxlx).
-- Fix [interactive command](https://github.com/Anaminus/rbxmk/blob/imperative/doc/README.md#user-content-interactive-command) not having descriptor flags.
-- Fix [Cookie.from](https://github.com/Anaminus/rbxmk/blob/imperative/doc/types.md#user-content-cookiefrom) returning incorrect values when no cookies are found.
-- Fix [Instance.new](https://github.com/Anaminus/rbxmk/blob/imperative/doc/types.md#user-content-instancenew) handling [DataModel](https://github.com/Anaminus/rbxmk/blob/imperative/doc/types.md#user-content-datamodel) incorrectly.
-- Fix [Instance.ClassName](https://github.com/Anaminus/rbxmk/blob/imperative/doc/types.md#user-content-instanceclassname) being settable to "DataModel".
-- Fix [typeof](https://github.com/Anaminus/rbxmk/blob/imperative/doc/libraries.md#user-content-roblox) returning "userdata" for [Symbol](https://github.com/Anaminus/rbxmk/blob/imperative/doc/libraries.md#user-content-sym) values.
+- Fix type conversion error when encoding [`desc-patch.json` format](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/formats.md#user-content-desc-patchjson).
+- Fix type conversion error when encoding Objects with [rbx formats](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/formats.md#user-content-rbxl).
+- Fix encoding of SharedStrings in [rbxlx/rbxmx formats](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/formats.md#user-content-rbxlx).
+- Fix incorrect use of CDATA sections in [rbxlx/rbxmx formats](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/formats.md#user-content-rbxlx).
+- Fix [interactive command](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/README.md#user-content-interactive-command) not having descriptor flags.
+- Fix [Cookie.from](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/types.md#user-content-cookiefrom) returning incorrect values when no cookies are found.
+- Fix [Instance.new](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/types.md#user-content-instancenew) handling [DataModel](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/types.md#user-content-datamodel) incorrectly.
+- Fix [Instance.ClassName](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/types.md#user-content-instanceclassname) being settable to "DataModel".
+- Fix [typeof](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/libraries.md#user-content-roblox) returning "userdata" for [Symbol](https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/libraries.md#user-content-sym) values.
- Fix incorrect behavior when select is called with index 0.
- Fix Envelope field being printed as Time field when ColorSequenceKeypoint or NumberSequenceKeypoint is converted to a string.
- Fix bounds error when calling ColorSequence.new or NumberSequence.new.
- Fix ColorSequence.new and NumberSequence.new not verifying order of keypoints.
- Fix NumberRange.new not verifying interval.
-See a [comparison with the previous version][cmp-imperative] for a thorough list of changes.
+See a [comparison with the previous version][cmp-v0.8.0] for a thorough list of changes.
-The [Documentation page][doc-imperative] provides a complete reference for this version of rbxmk.
+The [Documentation page][doc-v0.8.0] provides a complete reference for this version of rbxmk.
-[doc-imperative]: https://github.com/Anaminus/rbxmk/blob/imperative/doc/README.md#user-content-rbxmk-reference
-[cmp-imperative]: https://github.com/Anaminus/rbxmk/compare/v0.7.2...imperative
+[doc-v0.8.0]: https://github.com/Anaminus/rbxmk/blob/v0.8.0/doc/README.md#user-content-rbxmk-reference
+[cmp-v0.8.0]: https://github.com/Anaminus/rbxmk/compare/v0.7.2...v0.8.0
## v0.7.2
**Fixes:**
diff --git a/README.md b/README.md
index d55725ce..d09fd521 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,7 @@ for more simple actions, such as downloading models or publishing games.
[lua]: https://lua.org
## Download
-The current version of rbxmk is **v0.7.2**. The following
+The current version of rbxmk is **v0.8.0**. The following
builds are available for download:
| Windows | Mac | Linux |
@@ -28,13 +28,13 @@ See the [Release page][release] for more information on the current version.
in progress. Please practice redundancy and use backups to reduce the risk of
data loss. Be sure to [report][issues] issues as you encounter them!*
-[win64]: https://github.com/Anaminus/rbxmk/releases/download/v0.7.2/rbxmk-v0.7.2-windows-amd64.zip
-[win32]: https://github.com/Anaminus/rbxmk/releases/download/v0.7.2/rbxmk-v0.7.2-windows-386.zip
-[macos]: https://github.com/Anaminus/rbxmk/releases/download/v0.7.2/rbxmk-v0.7.2-darwin-amd64.zip
-[linux64]: https://github.com/Anaminus/rbxmk/releases/download/v0.7.2/rbxmk-v0.7.2-linux-amd64.zip
-[linux32]: https://github.com/Anaminus/rbxmk/releases/download/v0.7.2/rbxmk-v0.7.2-linux-386.zip
-[source]: https://github.com/Anaminus/rbxmk/archive/v0.7.2.zip
-[release]: https://github.com/Anaminus/rbxmk/releases/tag/v0.7.2
+[win64]: https://github.com/Anaminus/rbxmk/releases/download/v0.8.0/rbxmk-v0.8.0-windows-amd64.zip
+[win32]: https://github.com/Anaminus/rbxmk/releases/download/v0.8.0/rbxmk-v0.8.0-windows-386.zip
+[macos]: https://github.com/Anaminus/rbxmk/releases/download/v0.8.0/rbxmk-v0.8.0-darwin-amd64.zip
+[linux64]: https://github.com/Anaminus/rbxmk/releases/download/v0.8.0/rbxmk-v0.8.0-linux-amd64.zip
+[linux32]: https://github.com/Anaminus/rbxmk/releases/download/v0.8.0/rbxmk-v0.8.0-linux-386.zip
+[source]: https://github.com/Anaminus/rbxmk/archive/v0.8.0.zip
+[release]: https://github.com/Anaminus/rbxmk/releases/tag/v0.8.0
[issues]: https://github.com/Anaminus/rbxmk/issues
## Usage
@@ -75,7 +75,7 @@ If you installed Go correctly, this will install the latest version of rbxmk to
`$GOPATH/bin`, which will allow you run it directly from a shell.
A specific version of rbxmk may be installed by replacing `latest` with a
-version number (e.g. `v0.7.2`).
+version number (e.g. `v0.8.0`).
### Development
To compile and install the bleeding-edge version, the best way is to clone the
diff --git a/rbxmk/version.go b/rbxmk/version.go
index 54ca4757..1610d554 100644
--- a/rbxmk/version.go
+++ b/rbxmk/version.go
@@ -1,3 +1,3 @@
package main
-const Version = "0.7.2"
+const Version = "0.8.0"