f49a8f1a90
New in 2020.08.2: + Fixes: + Fix output of `--show-config` option [1a1fe7fb][f00c4198] New in 2020.08.1: + Changes: + Fix compiler version [1336e5f3] + Method `invoke` of `WalkList` returns a lazy `Seq` instance now [fe40ee1e] + Internal: + `Seq` class now has its own proto for `new` method [a19996db] New in 2020.08: + Changes: + Methods `name` and `usage-name` of `Parameter` now return an empty `Str`, when there is no name, instead of `Nil`. Method `default` returns `Code` type object, when no default was provided instead of `Any` type object [c11f4b18] + Remove redundant `(())` from `Map.new.raku` [491e1def] + Routine `done-testing` of `Test` module returns `Bool` now, indicating if the tests passed or not [337848fe] + Deprecations: + Deprecate `--nqp-lib` command line option, which had no effect for more than a year [9071653e] + Fixes: + Make `X::Method::NotFound` exception more user-friendly [b36afcb3][760034ef][eb0ca2a3][66adb771][acc5e64d][4546a603] + Fix false positive typechecking exceptions for some generic types [3d5fba7b][973b83de][8d40691d][1db17c46][1eb712d5] + Ensure `Routine` subtypes are composed before performing mixins with their instances [7f2ae26c][e3c2646e] + Fix mixing in a role with attributes into a NQP class [1b5f6b98][9e51d01b] + Make exceptions thrown by supply iterators don't claim to have originally been thrown within the iterator itself [fcfc60b6] + Fix `Baggy.pickpairs` called with a `Callable` [08f81f24] + Fix a rare, yet possible data race [9d6d8dd7] + Additions: + Add `set_parameterizer`, `parameterize_type`, `type_parameterized`, `type_parameters` and `type_parameter_at` methods for `Metamodel::Primitives` [2ab94429] + Internal: + Type `Parameter` methods [c11f4b18] + Fix release pipeline to not delete the GNU/Linux build [4ad4bd30] + Make `Rakudo::Internals::JSON` up to 4.4x as fast [b60e1636][43bd739f] + Do roast-related cleanup, add `quicktest` make target [1e20dfca][6fd09811][333ce78c][dd8cd411] + Rework `tools/update-passing-test-data.pl` to support backends [ea0c98cf] + Make `main-version.nqp` a backend-specific configuration file [80b0747a] + Add a `Perl6::SysConfig` class [ace5e22f] + Simplify binary release instructions a little [27eb5ea9] + Add tests to make sure profilers can be invoked [d7aa7e66] + Remove an outdated workaround from `Cool` implementation [a3af5833] + Fix incorrect method call [02a83442] New in 2020.07: + Fixes: + Improve "Method not found" error message for some rare cases [0a86798f] + Fix calling `.say`/`.put`/`.note` methods on Match objects [9f546ef6] + Add word wrapping to numerous error messages, improve wording [eb589c03][1b84e036][3cb29a03][6db1fb1d][80aaede3][42031860][f70a3ccd] [3ffed2fb][a7a1fe24][cd8846ad][83a126b3][3add8615][3d9a9fc4][697596fd] [56e5f7dc][88b0e7a3][7a93c907][f550c9f9][a4b982cd][93963433][58685eeb] [5f423a7e][92f8c19b][5627e02b][5b7ecdc0][a7455050][f96a641f][1f93724f] [98c7e512][248664c6][3bc4fa90] + Wordwrap `Mu.WHY` [16d24a21] + Fix check for valid Raku module extension to be an exact match instead of suffix-like one [d4eef8d4] + Fix result of `.raku` method called on a generic typed array [90f86d4c] + Additions: + Set equality operators: `(==)` Unicode `≡` and `≢` which allow to check for sameness of the operands using QuantHash semantics (for example, `1,2,3 (==) 3,1,2` returns `True`) [701f4cfb][dbd69ba7] + Add support for Supply.tail(*) and .tail(Inf) [9ccfc90e] + Add support for Supply.tail(*-3) [eaa72afa] + Make `Supply.head(*-3)` consistent with `List.head(*-3)` [5c8c7324][70e5cfb9] + Rakudo now supports the `--rakudo-home` command line option to specify the path of the Rakudo home [914bcbad] + Efficiency: + Make <a b c d>.permutations between 23 and 85x faster [682a4d4f] + Make IO::Handle.read(1) about 3x as fast and consuming less memory [2946ed64][252b9349] + Internal: + Micro-optimize `buf8.new` creation code in compiler [ed936c14] + Give `Supply.tail` its own candidate [1a91af8c] + Add `Str.naive-word-wrapper` (implementation detail) [056d6a4e][9ea66e13][6db1fb1d][45893495][821f582f][3674f812] + Make `IO::Path` use its own `.succ` / `.pred` logic [305fc7bd] + Remove placeholder files [07009cc0] + Re-imagine `CompUnit::Repository::FileSystem!distribution` [f3b1c8df] + Change `perl6` to `Raku` in nqp-configure submodule URL [ddebab5a] + Refactor `Rakudo home` and `NQP home` handling [e4f020ca] + Do core setting name mapping via compiler config [6e087e13] + Fix for spectest not seeing Inline::Perl5 [d5630720] New in 2020.06: + SPECIAL NOTES: + Results of `dir` routine called with dirty base path are presented as cleaned up for some paths (like `///` or `a/../a`) unlike before. While compatibility with most of other cases is preserved and no ecosystem fallout was observed, be cautious of the possible observable changes if the code does not clean dirty paths using `cleanup` method. + Since this release, when you start Raku with "-" as a single positional parameter, it will now check if STDIN is connected to a terminal. If it is, then the REPL will be started, rather than appearing to freeze waiting for the user to enter something and issue an EOF. If STDIN is *not* connected to a terminal, then Raku will read from STDIN and process that as the source of a program. + The `run` routine, `Proc.spawn` and `Proc::Async.new` are extended with a new argument `:$win-verbatim-args` defaulting to `False`. If the argument is left off or set to False, the arguments are quoted according to the Microsoft convention. This is identical to Rakus previous behavior and thus backwards compatible. When passing True the passed arguments are concatenated with a single space. No other processing takes place. This allows to manually quote the arguments as necessary. + Changes: + Support verbatim argument handling for `Proc` [709941c6][9a75738f] + Signatures of `slurp` and `spurt` routines not accepting redundant arguments is now compile time error rather than run-time one [22f43444] + The `Distro.desc` method now states codename for MacOS [b4b2a5ec] + The `gist` method output for multi-dimensional arrays is truncated now [cfc3e57f][4bfe5bd5] + Parametrization a variable type in form `my $foo is Type[Foo, Bar]` works for all types now [de43f193] + The `rotate` method now returns `Seq` instead of `List` [4b501bd4] + Add CACHEDIR.TAG to mark cache dirs as cache [37646b86][c3bdb617][ef90599e] + Improve GNU C++ name mangling [4f672c27] + Make `Instant.raku` output simpler [c0b5fb28] + Improve smartmatching against `Mu`/`Any`/`Junction` types (`Mu.new ~~ Mu` does not die anymore, `any(Mu, Any) ~~ Mu` returns `True` now) [3b4794f4][840d3e81] + Fixes: + Fix code objects created BEGIN time EVAL getting lost in precompilation [537f8877][169f63d9] + The `is` routine from `Test` module now handles types that cannot be stringified and compares them using `raku` method now [c9e94623] + Fix various JVM and JS backend issues [8e5b610a][2b81f978] [12f8f1eb][5b86436c][1464b35e][a059373e][9fe471cf] + Fix BEGIN time `EVAL` accidentally running CHECK phasers of the outer comp unit [eeb4f43f][b874c68e] + Fix results o `"١٢٣".Numeric` and `"١٢٣".Int` [c2e8b22f] + Fix race in `PIO` method of `IO::Handle` [f33ce01c] + Fix `Date(now)` call [9dcbc5ff] + Fix `.comb(Str)` to ensure non-overlapping results [8d5a0f70] + Fix `Instant.raku` for Rational values [f506cc03] + Fix sorting of 2 element native arrays [becb85eb] + Make sure `push-all` does not push when exhausted when splitting using a regex [077300c5] + Improve error message for method calls placed after white space [4278e4c2] + Improve `X::Syntax::Variable::MissingInitializer` exception's error message [ee005d8b] + Improve `X::Method::NotFound` exception's error message to only suggest a submethod if correct [b02a7413] + Improve `malformed loop spec` related errors [d3c3e534] + Improve error message for case of too many directives in routine `sprintf` [c988f832] + Improve detection of a version control conflict marker to provide an error message [65e412f7] + Additions: + Add `IO::Handle.do-not-close-automatically` method [61046d76][999d04aa] + Add `IO::Path::Parts` class [4387f280][187312b8][e9ea048b][30ae200f] + Add support for `printf($format, Junction)` [110324d3] + Add `Supply.rotate` method [9f7c9278] + Add `Capture.EXIST-POS` method [6a4f79ec][b55ecdf0][3372352e] + Add `RAKU_REPL_OUTPUT_METHOD` environment variable which sets the method used to stringify a value of an expression in REPL, default is `gist` [285717a0] + Add `:chomp` named argument to `Str.lines` similar to the same named argument of `IO::Handle.new` [1bcc5d73] + Efficiency: + Make creation of regex captures faster [15961f91][272c4636] [ed65d733][e3fa44ab][7f47db80][0b48651c][537a6e41][f627d2c8][6f6b2dfe][219199bb] + Make file test methods like `.d` or `.x` faster [c821bbc5] + Make `Match.caps` about 35% faster [87e91def] + Make `Str.split(Regex)` up to 2x faster [9c74d983] + Make `Str.split(Regex, *%_)` up to 2x faster [a9796fe5] + Make `dir` routine about 15% faster [700b7432] + Make `Blob.join` between 4% and 11% faster [84ff64cf] + Make `Blob.gist` about 2x as fast [b55667ef] + Make `QuantHash` implementation a bit faster [4a728f2a] + Make `IO::Spec::Win32.basename` about 1.7x as fast [ecd06c9f] + Make `IO::Spec::Win32.tmpdir` about 1.8x as fast [6d427d47] + Make `IO::Spec::Win32.path` about 2x as fast [1a8e07c2] + Make `IO::Spec::Unix.path` about 3.5x as fast [8dc58abf] + Make `IO::Spec::Unix.basename` and `IO::Spec::Unic.extension` about 1.7x as fast [f89fad87] + Make `IO::Spec::Unix.tmpdir` about 1.8x as fast [a2860ead] + Make `WhateverCode.ACCEPTS` about 2x as fast [853e6227] + Make `IO::Path.sibling` about 2x as fast [a5eb1d4a] + Make `IO::Path.succ` and `IO::Path.pred` about 3x as fast [26b9f388][7238b094] + Make `IO::Path.parent` about 2.7x as fast [71cb0c56] + Make `IO::Path.parent(N)` about 2x as fast [f93ce875] + Make `IO::Path.child` about 1.4x as fast [f5b2c240] + Make `IO::Path.add` about 1.25x as fast [718d305b] + Make `IO::Path.dir` between 1.5x and 2.2x as fast [b63976a8] [6b22c1eb][7691742a][9b9d9f64] + Make `IO::Path.is-absolute` a bit faster [fc88b9c2][bd7fcb28] + Make `IO::Path.spurt` up to 35% faster [7571f65a] + Make `IO::Path.slurp` up to 4.7x as fast [d03fa4b0][cde948ae][36d89cf6] + Make `slurp` routine up to 40% faster [f3baa389][fc3e1aea] + Make `spurt` routine a few % faster [da5825e6] + Make `Str.Numeric` about 4.3x as fast [a0e58412] + Make `.IO` method and `IO::Path.new` about 2x as fast [2a88990b] + Make `IO::Spec.curupdir` about 25% faster [6a0eaabd][16d93e26] + Make `"42".Int` about 4.3x faster [3ee1777a] + Reduce overhead of `Code.ACCEPTS(value)` by 20% [2eec62fe] + Make `so` and `not` routines faster [d8c26500][8a3c36f8][5c93ddac][cb69cfce] + Optimize symbol lookup [c5f5d7ee][dc6594d6][5d61b3d0] + Prevent `$*OUT` lookup for each eigenstate of Junction when calling `print` or `put` [4297cb05] + Make `printf` routine up to 5% faster [e46d4590] + Streamline variable `is` and `of` handling [5561669b] + Make `Hash.sort` a tiny bit faster [cd617248] + Various small optimizations [ |
||
---|---|---|
.. | ||
buildlink3.mk | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |