Skip to content

Commit eddb7db

Browse files
committed
mruby 2.1.1 released.
1 parent c9235b3 commit eddb7db

File tree

1 file changed

+123
-0
lines changed

1 file changed

+123
-0
lines changed
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
---
2+
layout: post
3+
title: "mruby 2.1.1 released"
4+
date: 2020-06-04 00:00:00
5+
categories: releases
6+
---
7+
8+
# mruby 2.1.1
9+
10+
We are announcing the stable release of mruby 2.1 series - [mruby 2.1.1](https://github.com/mruby/mruby/releases/tag/2.1.1).
11+
12+
---
13+
14+
# New Features
15+
16+
## Core Language Features
17+
18+
### Ruby 2.7 features
19+
20+
- Numbered parameters as default block parameters are introduced. ([72d57ad0](https://github.com/mruby/mruby/commit/72d57ad094b8e1c529e2e8b41d895fc6f212e31e))
21+
22+
## Core Libraries
23+
24+
### Ruby 2.7 features
25+
26+
- Revert Implement Ruby2.7's frozen strings from `Symbol#to_s`. ([a367373f](https://github.com/mruby/mruby/commit/4296c77e29b67e72399dde8295dd6fa4a10cc321))
27+
28+
---
29+
30+
# Update Features
31+
32+
## Core Language Features
33+
34+
- Always enable the rational and complex literals. ([351c9c80](https://github.com/mruby/mruby/commit/351c9c80e786b6a3f3779cdf2d89879a58f35407))
35+
36+
## Core Libraries
37+
38+
- The `#prepend_features` and `#module_function` methods are not haves for class objects. ([cc52fa66](https://github.com/mruby/mruby/commit/cc52fa66e8c12be2b6bbe3c7fd850ea0b2beb0c1))
39+
- Remove location info from `Exception#inspect`. ([d2f2f9db](https://github.com/mruby/mruby/commit/d2f2f9db511afc348a88f864b9f0b0ccfc59a8f1))
40+
- Allow `true`/`false` argument to `Kernel#exit`. (mrbgems/mruby-exit) ([d81e4d71](https://github.com/mruby/mruby/commit/d81e4d71c17f9d65ea87f0e66a4338411863f7bf))
41+
- Improved the judgment of absolute path on Windows. [#4950](https://github.com/mruby/mruby/pull/4950)
42+
43+
## Tools
44+
45+
- Support short options concatenation to `mruby` command. ([9de7130a](https://github.com/mruby/mruby/commit/9de7130a9a77482b27a101211ff0f4a63d57a613))
46+
- Support `--` (end of options) to `mruby` command. ([f4b528e0](https://github.com/mruby/mruby/commit/f4b528e07a069b9acbbcb61cced2b04115e61db7))
47+
- Quit `mruby -v` immediately if no program is given for Ruby compatibility. ([49653b81](https://github.com/mruby/mruby/commit/49653b81ea978a5f02c4a6ce1ed53eb1cd0dbe7a))
48+
49+
## for mruby Developer
50+
51+
- Add assertion to `RVALUE` size. ([6cf99d12](https://github.com/mruby/mruby/commit/6cf99d12ac17e50b91e6aeb0dd79c611e579fd1b))
52+
53+
---
54+
55+
# Compatibility
56+
57+
## Core Libraries
58+
59+
- Add `File#size` and `File#truncate`. (mrbgems/mruby-io) ([6d9ac89f](https://github.com/mruby/mruby/commit/6d9ac89f925e83bd7ca25e04190f264bea600831))
60+
- Add `IO#pread` and `IO#pwrite`. (mrbgems/mruby-io) ([4c6d524c](https://github.com/mruby/mruby/commit/4c6d524c473ebb9174d0183dc1d1ac0530337314))
61+
- Support bit flags for `IO.open`. (mrbgems/mruby-io) ([69619aee](https://github.com/mruby/mruby/commit/69619aeeb1434c30565ff1229897cf5b1af462da))
62+
63+
---
64+
65+
# Changes
66+
67+
## Build system
68+
69+
- Abandon `minirake`. Use `rake` for compilation.
70+
Currently, `minirake` is left for compatibility, but it will be removed in the future. ([de17f63](https://github.com/mruby/mruby/commit/de17f63b4567cad3b02f1f1f9386eaf8dd704bbe))
71+
72+
---
73+
74+
# Breaking Changes
75+
76+
- Remove `MRB_INT16` configuration option. ([ff57c027](https://github.com/mruby/mruby/commit/ff57c0278fe7c2b83231fa40e0284e6685a29ee7))
77+
78+
---
79+
80+
# Major bug fixes
81+
82+
- Parser rejects heredoc without following comma or closing bracket in array/hash literal. [#4796](https://github.com/mruby/mruby/issues/4796)
83+
- Segfault due to invalid read in `str_init_shared`. [#4807](https://github.com/mruby/mruby/issues/4807)
84+
- Invalid read in array_copy and `mrb_ary_unshift_m`. [#4808](https://github.com/mruby/mruby/issues/4808)
85+
- Parser segfault (invalid read) in `local_add_f`. [#4810](https://github.com/mruby/mruby/issues/4810)
86+
- Parser rejects some heredoc in hash literal. [#4815](https://github.com/mruby/mruby/issues/4815)
87+
- Rakefile in mruby build emits warnings with Windows paths. [#4817](https://github.com/mruby/mruby/issues/4817)
88+
- Coredump when use `ensure` in `Kernel#eval` script. [#4833](https://github.com/mruby/mruby/issues/4833)
89+
- Fix keyword arguments not be obtained with `mrb_get_args()`. [#4855](https://github.com/mruby/mruby/issues/4855)
90+
- Undefined method `Pathname' for MRuby::Toolchain::Android. [#4895](https://github.com/mruby/mruby/issues/4895)
91+
- Cygwin compile error. [#4904](https://github.com/mruby/mruby/issues/4904)
92+
- `String#to_f` should not allow hexdecimal format. [#4924](https://github.com/mruby/mruby/issues/4924)
93+
- Heap use after free in hash_values_at in mrbgems/mruby-hash-ext/src/hash-ext.c:33. [#4926](https://github.com/mruby/mruby/issues/4926)
94+
- The method name becomes `call` in backtrace inside a block outside a method. [#4936](https://github.com/mruby/mruby/issues/4936)
95+
- Segmentation fault at mrbgems/mruby-metaprog/src/metaprog.c:142. [#4955](https://github.com/mruby/mruby/issues/4955)
96+
- Test `mruby-io` in tmpdir when AF_UNIX cannot be created on cwd. [#4981](https://github.com/mruby/mruby/issues/4981)
97+
- IO#readlines/IO#getc hangs while reading over TCPSocket [#4982](https://github.com/mruby/mruby/issues/4982)
98+
- `p->locals` may be `NULL` when error occurs before the point. [oss-fuzz: Issue 19886](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19886)
99+
- Fix buffer overflow in `mrb_str_len_to_dbl`. [oss-fuzz: Issue 19902](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19902)
100+
- Fix file/directory name parameter for `git` command.
101+
- Fix `MRB_FIXNUM_SHIFT` with `MRB_WORD_BOXING`, `MRB_INT32` and `MRB_64BIT`.
102+
- Build when directories and files have spaces.
103+
- Fix argument specs of below methods.
104+
- `Exception`
105+
`Exception#exception`.
106+
- `IO` (mrbgems/mruby-io)
107+
`IO._popen`, `IO.for_fd`, `IO.select`, `IO.sysopen`, `IO.new`, `IO#sysread` and `IO#sysseek`.
108+
- `File` (mrbgems/mruby-io)
109+
`File.umask`.
110+
- `Integer`
111+
`Integer#ceil`, `Integer#floor`, `Integer#round` and `Integer#truncate`.
112+
- `Kernel`
113+
`BasicObject#instance_eval`, `Kernel#integer`, `Kernel#define_singleton_method`, `Kernel#send`, `Kernel#proc`, `Kernel#sprintf`, `Kernel#format` and `Kernel#respond_to?`.
114+
- `Hash`
115+
`Hash.new` and `Hash#default`.
116+
- `Fiber` (mrbgems/mruby-fiber)
117+
`Fiber.new`.
118+
119+
---
120+
121+
We have done 321 commits to 134 files, 4,084 lines were added, 2,742 lines removed since mruby 2.1.0. For more detail of the updates, [see Commit Log](https://github.com/mruby/mruby/compare/2.1.0...2.1.1).
122+
123+
Stay Home and enjoy `mruby 2.1.1`.

0 commit comments

Comments
 (0)