Skip to content

Commit

Permalink
Version 0.12.0
Browse files Browse the repository at this point in the history
<a name="v0.12.0"></a>
## v0.12.0 (2019-07-06)

#### Bug Fixes

*   Remove Userdata and Trace impls for RwLock and Mutex ([e90f02b](gluon-lang@e90f02b))
*   Add missing negate function from the prelude ([0091f47](gluon-lang@0091f47))
*   Refer to registered types by their full name ([a2daace](gluon-lang@a2daace), breaks [#](https://github.com/gluon-lang/gluon/issues/))
*   Handle newtypes with a public field ([d1fef96](gluon-lang@d1fef96), closes [gluon-lang#713](gluon-lang#713))
*   Don't ICE on unapplied, aliased constructors ([2a44a0d](gluon-lang@2a44a0d))
* **check:**
  *  Propagate metadata through parens ([bd767c0](gluon-lang@bd767c0))
  *  Bring nested implicit instances into scope ([ad82bde](gluon-lang@ad82bde))
  *  Don't lose type information in catch-all ([d2a3fbf](gluon-lang@d2a3fbf), closes [gluon-lang#702](gluon-lang#702), [gluon-lang#703](gluon-lang#703), [gluon-lang#704](gluon-lang#704), [gluon-lang#705](gluon-lang#705))
* **codegen:**  Return exactly the same type on VmType derive on enum ([375d3e9](gluon-lang@375d3e9))
* **compiler:**  Don't panic when matching a tuple against an alias ([777bd31](gluon-lang@777bd31), closes [gluon-lang#749](gluon-lang#749))
* **std:**
  *  cleaned up statet.glu exports ([5d8864f](gluon-lang@5d8864f))
  *  export wrap_monad from transformer.glu ([0e9d7bc](gluon-lang@0e9d7bc))
* **vm:**
  *  Check if a collection is needed when creating a child thread ([86e4b9f](gluon-lang@86e4b9f))
  *  Automatically remove the elements added to pushed data ([8cd5152](gluon-lang@8cd5152), closes [gluon-lang#719](gluon-lang#719))

#### Performance

*   Use NonNull for garbage collected pointers ([9c66ede](gluon-lang@9c66ede))
*   Don't recurse into already visited records to find implicits ([b50061f](gluon-lang@b50061f))
*   Avoid recursing into non-implicit types ([c35b29e](gluon-lang@c35b29e))
*   Use SmallVec in Partition ([d8c549b](gluon-lang@d8c549b))
*   Use a scoped collections over a persistent in implicit resolution ([d13097e](gluon-lang@d13097e))
*   Memoize implicit attribute lookups (-3%) ([254af75](gluon-lang@254af75))
*   Speedup Symbol::module ([9566a37](gluon-lang@9566a37))
*   Avoid creating function types unnecessarily ([170f467](gluon-lang@170f467))
* **compiler:**
  *  Shrink the core::Expr type to 40 bytes (from 72) ([779d1b6](gluon-lang@779d1b6))
  *  Copy elements directly into arena ([cd2dd36](gluon-lang@cd2dd36))

#### Features

*   Add gc::Mutex ([d6e1246](gluon-lang@d6e1246))
*   Automatically unroot values stored in `Gc` allocated values ([6ebc398](gluon-lang@6ebc398), closes [gluon-lang#746](gluon-lang#746))
*   Add derive for Traverseable ([844418d](gluon-lang@844418d))
*   Allow mutable references to be passed to gluon ([602220b](gluon-lang@602220b))
*   Add std.env ([b561c8d](gluon-lang@b561c8d))
*   Implement woobly type propagation ([a0b8452](gluon-lang@a0b8452))
* **codegen:**  Add the newtype attribute ([4085463](gluon-lang@4085463))
* **completion:**
  *  Match on the symbols in type declarations ([9d28ba1](gluon-lang@9d28ba1))
  *  Return scoped symbols in the all_symbols query ([94a385a](gluon-lang@94a385a))
  *  Match on the symbols in type declarations ([8fe083a](gluon-lang@8fe083a))
  *  Return scoped symbols in the all_symbols query ([1ad302b](gluon-lang@1ad302b))
* **doc:**  Link to the github source ([da75875](gluon-lang@da75875))
* **vm:**  Allow references to be passed through ([3a92b17](gluon-lang@3a92b17))

#### Breaking Changes

*   Refer to registered types by their full name ([a2daace](gluon-lang@a2daace), breaks [#](https://github.com/gluon-lang/gluon/issues/))
  • Loading branch information
Marwes committed Jul 6, 2019
1 parent 662e09c commit f07ec7a
Show file tree
Hide file tree
Showing 22 changed files with 156 additions and 95 deletions.
61 changes: 61 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,64 @@
<a name="v0.12.0"></a>
## v0.12.0 (2019-07-06)


#### Bug Fixes

* Remove Userdata and Trace impls for RwLock and Mutex ([e90f02b5](https://github.com/gluon-lang/gluon/commit/e90f02b56afd40e00b6e9fba58dd5421cd91a6d2))
* Add missing negate function from the prelude ([0091f475](https://github.com/gluon-lang/gluon/commit/0091f475355b2bc1562dc6e257826ff71e7faf7c))
* Refer to registered types by their full name ([a2daace6](https://github.com/gluon-lang/gluon/commit/a2daace6e914157391b8453c97ddd675b86a7165), breaks [#](https://github.com/gluon-lang/gluon/issues/))
* Handle newtypes with a public field ([d1fef968](https://github.com/gluon-lang/gluon/commit/d1fef9688a3c8d379df0837ee18a4ff8f79c91ae), closes [#713](https://github.com/gluon-lang/gluon/issues/713))
* Don't ICE on unapplied, aliased constructors ([2a44a0db](https://github.com/gluon-lang/gluon/commit/2a44a0db2180ec4f25550a9672b0f24a1e45ab90))
* **check:**
* Propagate metadata through parens ([bd767c07](https://github.com/gluon-lang/gluon/commit/bd767c07cb0506943a26c22e8d1c46e97f6f4ed3))
* Bring nested implicit instances into scope ([ad82bde6](https://github.com/gluon-lang/gluon/commit/ad82bde69b886f44dafcb094d9b4ef7eb87daa17))
* Don't lose type information in catch-all ([d2a3fbf0](https://github.com/gluon-lang/gluon/commit/d2a3fbf0e86ab605d5944f6ed3d61cad037469dd), closes [#702](https://github.com/gluon-lang/gluon/issues/702), [#703](https://github.com/gluon-lang/gluon/issues/703), [#704](https://github.com/gluon-lang/gluon/issues/704), [#705](https://github.com/gluon-lang/gluon/issues/705))
* **codegen:** Return exactly the same type on VmType derive on enum ([375d3e9a](https://github.com/gluon-lang/gluon/commit/375d3e9a84e9f61464652eab268bac7185011be4))
* **compiler:** Don't panic when matching a tuple against an alias ([777bd310](https://github.com/gluon-lang/gluon/commit/777bd310c69793a1453bc335af9e5ee4cd500dac), closes [#749](https://github.com/gluon-lang/gluon/issues/749))
* **std:**
* cleaned up statet.glu exports ([5d8864f9](https://github.com/gluon-lang/gluon/commit/5d8864f99fc25c606816bab7584f55a71e755648))
* export wrap_monad from transformer.glu ([0e9d7bc4](https://github.com/gluon-lang/gluon/commit/0e9d7bc43845338e966eca5115378ddc46e0803e))
* **vm:**
* Check if a collection is needed when creating a child thread ([86e4b9f7](https://github.com/gluon-lang/gluon/commit/86e4b9f7b4485cd57e144ec5bd3b2961a5d92183))
* Automatically remove the elements added to pushed data ([8cd5152b](https://github.com/gluon-lang/gluon/commit/8cd5152b5e0fef90eb663c96c99e3cbb2cdbc03a), closes [#719](https://github.com/gluon-lang/gluon/issues/719))

#### Performance

* Use NonNull for garbage collected pointers ([9c66eded](https://github.com/gluon-lang/gluon/commit/9c66eded918d495057d31ced0096cb07835bda7d))
* Don't recurse into already visited records to find implicits ([b50061f5](https://github.com/gluon-lang/gluon/commit/b50061f509d53105b3ca886c9cdbf6e54f2677eb))
* Avoid recursing into non-implicit types ([c35b29e6](https://github.com/gluon-lang/gluon/commit/c35b29e65ec4791fec7ac24d2d500adc4651c1aa))
* Use SmallVec in Partition ([d8c549bf](https://github.com/gluon-lang/gluon/commit/d8c549bff709bbf398b1a456878f0cb60a16a14e))
* Use a scoped collections over a persistent in implicit resolution ([d13097e2](https://github.com/gluon-lang/gluon/commit/d13097e2ad91f6774299cdc09be6876eb438ecbf))
* Memoize implicit attribute lookups (-3%) ([254af75e](https://github.com/gluon-lang/gluon/commit/254af75e544056262613a84b9cdc7907af1838e4))
* Speedup Symbol::module ([9566a377](https://github.com/gluon-lang/gluon/commit/9566a37740dd70730bf9db510e11693e780fe5ae))
* Avoid creating function types unnecessarily ([170f4673](https://github.com/gluon-lang/gluon/commit/170f4673a225f1e50d6e4ea84d020c563e3f1fc8))
* **compiler:**
* Shrink the core::Expr type to 40 bytes (from 72) ([779d1b65](https://github.com/gluon-lang/gluon/commit/779d1b65fbe61e27df49ccc3a0dc22cf98bacb56))
* Copy elements directly into arena ([cd2dd366](https://github.com/gluon-lang/gluon/commit/cd2dd366a4dc6a12d4a2b57144ef271355d2f765))

#### Features

* Add gc::Mutex ([d6e12460](https://github.com/gluon-lang/gluon/commit/d6e124605c115b709ecbda34c104d20e71d281bb))
* Automatically unroot values stored in `Gc` allocated values ([6ebc398f](https://github.com/gluon-lang/gluon/commit/6ebc398ff5e0343076b64b319c07eeb0c5ad8294), closes [#746](https://github.com/gluon-lang/gluon/issues/746))
* Add derive for Traverseable ([844418df](https://github.com/gluon-lang/gluon/commit/844418dfc1d0cb37a4ddfdb82e79380887e9da7b))
* Allow mutable references to be passed to gluon ([602220b5](https://github.com/gluon-lang/gluon/commit/602220b5f0af4a7b889cb7657ea491aaee85a50c))
* Add std.env ([b561c8d6](https://github.com/gluon-lang/gluon/commit/b561c8d61dda20ca71fb03cc36ca317cc139c458))
* Implement woobly type propagation ([a0b84525](https://github.com/gluon-lang/gluon/commit/a0b84525d8cbf7b1ba34542a9a173c0843c1bbc3))
* **codegen:** Add the newtype attribute ([40854638](https://github.com/gluon-lang/gluon/commit/40854638263d96adcde77f9631ae0daab7bccf26))
* **completion:**
* Match on the symbols in type declarations ([9d28ba10](https://github.com/gluon-lang/gluon/commit/9d28ba102029e3c593f4fda9bc1acd167c445cb9))
* Return scoped symbols in the all_symbols query ([94a385af](https://github.com/gluon-lang/gluon/commit/94a385afd3b23bf6b54208858fd8c3736c758696))
* Match on the symbols in type declarations ([8fe083af](https://github.com/gluon-lang/gluon/commit/8fe083afe0a85e8a9db45b32dacd630cd87b8559))
* Return scoped symbols in the all_symbols query ([1ad302b0](https://github.com/gluon-lang/gluon/commit/1ad302b08a501ccb589ed97f427321d753d5ca59))
* **doc:** Link to the github source ([da75875b](https://github.com/gluon-lang/gluon/commit/da75875bc0ee032c2b38a94982a7e08001d6a090))
* **vm:** Allow references to be passed through ([3a92b176](https://github.com/gluon-lang/gluon/commit/3a92b1768a73ee3bf94fab22c9d10d33bd0fe50e))

#### Breaking Changes

* Refer to registered types by their full name ([a2daace6](https://github.com/gluon-lang/gluon/commit/a2daace6e914157391b8453c97ddd675b86a7165), breaks [#](https://github.com/gluon-lang/gluon/issues/))



<a name="v0.11.2"></a>
### v0.11.2 (2019-03-26)

Expand Down
88 changes: 44 additions & 44 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 10 additions & 10 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "gluon"
version = "0.11.2" # GLUON
version = "0.12.0" # GLUON
authors = ["Markus <marwes91@gmail.com>"]
build = "build.rs"
edition = "2018"
Expand All @@ -25,12 +25,12 @@ name = "gluon"
path = "src/lib.rs"

[dependencies]
gluon_base = { path = "base", version = "0.11.2" } # GLUON
gluon_check = { path = "check", version = "0.11.2" } # GLUON
gluon_parser = { path = "parser", version = "0.11.2" } # GLUON
gluon_codegen = { path = "codegen", version = "0.11.2" } # GLUON
gluon_vm = { path = "vm", version = "0.11.2", default-features = false } # GLUON
gluon_format = { path = "format", version = "0.11.2", default-features = false } # GLUON
gluon_base = { path = "base", version = "0.12.0" } # GLUON
gluon_check = { path = "check", version = "0.12.0" } # GLUON
gluon_parser = { path = "parser", version = "0.12.0" } # GLUON
gluon_codegen = { path = "codegen", version = "0.12.0" } # GLUON
gluon_vm = { path = "vm", version = "0.12.0", default-features = false } # GLUON
gluon_format = { path = "format", version = "0.12.0", default-features = false } # GLUON

log = "0.4"
quick-error = "1.0.0"
Expand Down Expand Up @@ -62,7 +62,7 @@ rand = { version = "0.6", optional = true }
rand_xorshift = { version = "0.1", optional = true }

[build-dependencies]
gluon_base = { path = "base", version = "0.11.2" } # GLUON
gluon_base = { path = "base", version = "0.12.0" } # GLUON

itertools = "0.8"
little-skeptic = { version = "0.15.0", optional = true }
Expand Down Expand Up @@ -90,8 +90,8 @@ bincode = "1"

pulldown-cmark = "0.2"

gluon_completion = { path = "completion", version = "0.11.2" } # GLUON
gluon_codegen = { path = "codegen", version = "0.11.2" } # GLUON
gluon_completion = { path = "completion", version = "0.12.0" } # GLUON
gluon_codegen = { path = "codegen", version = "0.12.0" } # GLUON

[features]
default = ["regex", "random"]
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ Gluon requires a recent Rust compiler to build (1.9.0 or later) and is available

```toml
[dependencies]
gluon = "0.11.2"
gluon = "0.12.0"
```

### Other languages
Expand Down
2 changes: 1 addition & 1 deletion base/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "gluon_base"
version = "0.11.2" # GLUON
version = "0.12.0" # GLUON
authors = ["Markus <marwes91@gmail.com>"]
edition = "2018"

Expand Down
2 changes: 1 addition & 1 deletion base/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#![doc(html_root_url = "https://docs.rs/gluon_base/0.11.2")] // # GLUON
#![doc(html_root_url = "https://docs.rs/gluon_base/0.12.0")] // # GLUON
#![allow(unknown_lints)]
//! The base crate contains pervasive types used in the compiler such as type representations, the
//! AST and some basic containers.
Expand Down
4 changes: 2 additions & 2 deletions c-api/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "gluon_c-api"
version = "0.11.2" # GLUON
version = "0.12.0" # GLUON
authors = ["Markus Westerlind <marwes91@gmail.com>"]
edition = "2018"

Expand All @@ -19,7 +19,7 @@ travis-ci = { repository = "gluon-lang/gluon" }
crate-type = ["cdylib"]

[dependencies]
gluon = { version = "0.11.2", path = ".." } # GLUON
gluon = { version = "0.12.0", path = ".." } # GLUON

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
libc = "0.2.14"
Expand Down
2 changes: 1 addition & 1 deletion c-api/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//! A (WIP) C API allowing use of gluon in other langauges than Rust.
#![doc(html_root_url = "https://docs.rs/gluon_c-api/0.11.2")] // # GLUON
#![doc(html_root_url = "https://docs.rs/gluon_c-api/0.12.0")] // # GLUON

use std::{slice, str};

Expand Down
8 changes: 4 additions & 4 deletions check/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "gluon_check"
version = "0.11.2" # GLUON
version = "0.12.0" # GLUON
authors = ["Markus <marwes91@gmail.com>"]
edition = "2018"

Expand Down Expand Up @@ -31,13 +31,13 @@ codespan-reporting = "0.3"

strsim = "0.8.0"

gluon_base = { path = "../base", version = "0.11.2" } # GLUON
gluon_codegen = { path = "../codegen", version = "0.11.2" } # GLUON
gluon_base = { path = "../base", version = "0.12.0" } # GLUON
gluon_codegen = { path = "../codegen", version = "0.12.0" } # GLUON

[dev-dependencies]
env_logger = "0.6"

gluon_parser = { path = "../parser", version = "0.11.2" } # GLUON
gluon_parser = { path = "../parser", version = "0.12.0" } # GLUON
gluon_format = { path = "../format", version = ">=0.9" }

collect-mac = "0.1.0"
Expand Down
Loading

0 comments on commit f07ec7a

Please sign in to comment.