2022-05-18 02:25:28 by Charlotte Koch | Files touched by this commit (1) |
Log message: nim: Update MAINTAINER |
2022-03-04 14:19:59 by Ryo ONODERA | Files touched by this commit (2) |
Log message: nim: Update to 1.6.4 Changelog: Version 1.6.4 released 08 February 2022 The Nim Team The Nim team is happy to announce version 1.6.4, our second patch release for Nim 1.6. Version 1.6.4 is a result of a month and a half of hard work, and it contains 33 commits, fixing one major regression and bringing some general improvements over 1.6.2. The most important fix is for the C FFI regression introduced in 1.6.2. We would recommend to all of our users to upgrade and use version 1.6.4. Bugfixes These reported issues were fixed: * Fixed "Potential C FFI regression" (#19342) * Fixed "re.split unexpected results with zero-width characters" (#14468) * Fixed "Out-of-bounds in strformat" (#19107) * Fixed "Adding an empty list to a non-empty list breaks the latter \ list" ( #19297) * Fixed "Wrong result when using varargs with var arguments." (#16617) * Fixed "Adding an empty DoublyLinkedList to a non-empty DoublyLinkedList breaks the latter list" (#19314) * Fixed "Silent FFI bug when passing array inside object using gc:orc" (# 19497) |
2022-01-04 13:49:08 by Ryo ONODERA | Files touched by this commit (2) |
Log message: nim: Update to 1.6.2 Changelog: Bugfixes These reported issues were fixed: * Fixed "SYS_getrandom undeclared compiling nim 1.6.0 stdlib on linux kernel < 3.17 (including RHEL7)" (#19052) * Fixed "Compiler terminated with IndexDefect if --gc:arc or --gc:orc given, when proc return a global variable with lent or var type" (#18971) * Fixed "Errors initializing an object of RootObj with the C++ \ backend" (# 18410) * Fixed "Stack traces broken with arc/orc" (#19078) * Fixed "isolate happily compiles despite not being able to prove the absence of captured refs" (#19013) * Fixed "PragmaExpr erroneously added to enum type" (#19011) * Fixed "RVO not applied to object with large array" (#14470) * Fixed "Compile error from backend gcc when generic int type is \ defined" ( #19051) * Fixed "Varargs broken in 1.6.0 when len is 0 and preceding block arguments." (#19015) * Fixed "VM replaces declared type with alias" (#19198) * Fixed "regression: effectless inner template declared as side \ effect" (# 19159) * Fixed "variables in closure iterators loop are not correctly \ unassigned" (#19193) * Fixed "Unexported converters propagate through imports and affect \ code" ( #19213) * Fixed "[arc] of operation segfaults for a ptr object containing traced reference" (#19205) * Fixed "Static linking with a .lib file not working" (#15955) This release also includes these improvements: * Allow converting static vars to openArray (PR #19047) * Do not break interpolation for field init message string (PR #19085) * fixes another effect inference bug (PR #19100) * fix nimindexterm in rst2tex/doc2tex (PR #19106) * Remove tlsEmulation enabled from Windows + GCC config (PR #19119) * fixes .raises inference for newSeq builtin under -gc:orc (PR #19158) * Fix undeclared SYS_getrandom on emscripten (PR #19144) * Merge file size fields correctly on Windows (PR #19141) * fix marshal bugs in VM (PR #19161) * allow HSlice bounded by constants of distinct types (PR #19219) * fixes a possible "javascript:" protocol exploit (PR #19134) * let Nim support Nimble 0.14 with lock-file support (PR #19236) * nimRawSetjmp: support Windows (PR #19197) * Don't read \0 in uri.hostname (PR #19148) * json: limit recursion depth (PR #19252) |
2021-11-21 17:40:02 by Ryo ONODERA | Files touched by this commit (3) | |
Log message: nim: Update to 1.6.0 Changelog: Nim version 1.6 is now officially released! A year in the making, 1.6 is the latest stable release and by far the largest yet. We're proud of what we --- the core team and dedicated volunteers --- have accomplished with this milestone: * 1667 PRs merged (1760 commits) * 893 issues closed * 15 new stdlib modules * new features in more than 40 stdlib modules, including major improvements to 10 commonly used modules * documentation and minor improvements to 170 modules, including 312 new runnable examples * 280 new nimble packages Nim made its first entry in TIOBE index in 2017 at position 129, last year it entered the top-100, and for 2 months the top-50 (link). We hope this release will reinforce this trend, building on Nim's core strengths: a practical, compiled systems programming language offering C++-like performance and portability, Python-like syntax, Lisp-like flexibility, strong C, C++, JS, Python interop, and best-in-class metaprogramming. This release includes improvements in the following areas: * new language features (iterable[T], user-defined literals, private imports, strict effects, dot-like operators, block arguments with optional parameters) * new compiler features (nim --eval:cmd, custom nimscript extensions, customizable compiler messages) * major improvements to --gc:arc and --gc:orc * correctness and performance of integer and float parsing and rendering in all backends * significant improvements in error messages, showing useful context * documentation generation logic and documentation, in particular runnableExamples now works in more contexts * JS, VM and nimscript backend are more consistent with the C backend, allowing more modules to work with those backends, including the imports from std/prelude; the test suite now standardizes on testing stdlib modules on each major backend (C, JS, VM) * support for Apple silicon/M1, 32-bit RISC-V, armv8l, CROSSOS, improved support for NodeJS backend * major improvements to the following modules: system, math, random, json, jsonutils, os, typetraits, wrapnils, lists, hashes including performance improvements * deprecated a number of error prone or redundant features Why use Nim? * One language to rule them all: from shell scripting to web frontend and backend, scientific computing, deep learning, blockchain client, gamedev, embedded, see also some companies using Nim. * Concise, readable and convenient: echo "hello world" is a 1-liner. * Small binaries: echo "hello world" generates a 73K binary (or 5K with further options), optimized for embedded devices (Go: 2MB, Rust: 377K, C++: 56K) [1]. * Fast compile times: a full compiler rebuild takes ~12s (Rust: 15min, gcc: 30min+, clang: 1hr+, Go: 90s) [2]. * Native performance: see Web Frameworks Benchmark, ray tracing, primes. * No need for makefiles, cmake, configure or other build scripts, thanks to compile-time function evaluation (CTFE) and dependency tracking [3]. * Target any platform with a C compiler: Android and iOS, embedded systems, micro-controllers, WASM, Nintendo Switch, Game Boy Advance. * Zero-overhead interop lets you reuse code in C, C++ (including templates, C++ STL), JS, Objective-C, Python (via nimpy). * Built-in documentation generator that understands Nim code and runnable examples that stay in sync. Last but not least, macros let you manipulate/generate code at compile time instead of relying on code generators, enabling writing DSLs and language extensions in user code. Typical examples include implementing Python-like f-strings, optional chaining, command line generators, React-like Single Page Apps, protobuf serialization and binding generators. Installing Nim 1.6 We recommend everyone to upgrade to 1.6: New users Check out if your package manager already ships version 1.6 or install it as described here. Note: earlier this year researchers spotted malware written in Nim programming language which supposedly led to antivirus vendors falsely tagging all software written in Nim as a potential threat, including the Nim compiler, nimble (Nim' s package manager) and so on (core Nim tooling is written entirely in Nim). This has been an ongoing issue ever since - if you have any issues related to this, please report the Nim compiler and associated tooling as false detection to the respective antivirus vendors. Existing users If you have installed a previous version of Nim using choosenim, getting Nim 1.6 is as easy as: choosenim update self choosenim update stable If you don't have choosenim, you can follow the same install link as above. Building from source git clone https://github.com/nim-lang/Nim cd Nim sh build_all.sh The last command can be re-run after pulling new commits. Note that the csources repo used was changed to csources_v1, the new setup is designed to be forward and backward compatible. Building from a CI setup We now have bash APIs to (re-)build Nim from source which hide implementation details, for example: . ci/funs.sh && nimBuildCsourcesIfNeeded. This can be useful for CI when alternatives (using nightly builds or a Docker image) are not suitable; in fact all the existing CI pipelines have been refactored to use this, see #17815. Contributors to Nim 1.6 Many thanks to our recurring and new contributors. Nim is a community driven collaborative effort that welcomes all contributions, big or small. Backward compatibility and preview flags Starting with this release, we've introduced preview flags of the form -d:nimPreviewX (e.g. -d:nimPreviewFloatRoundtrip), which allow users to opt-in to new stdlib/compiler behavior that will likely become the default in the next or a future release. These staging flags aim to minimize backward compatibility issues. We also introduced opt-out flags of the form -d:nimLegacyX, e.g. -d:nimLegacyCopyFile, for cases where the default was changed to the new behavior. For a transition period, these flags can be used to get the old behavior. Here's the list of these flags introduced in this release, refer to the text below for explanations: * -d:nimLegacyCopyFile * -d:nimLegacyJsRound * -d:nimLegacyMacrosCollapseSymChoice * -d:nimLegacyParseQueryStrict * -d:nimLegacyRandomInitRand * -d:nimLegacyReprWithNewline * -d:nimLegacySigpipeHandler * -d:nimLegacyTypeMismatch * -d:nimPreviewDotLikeOps * -d:nimPreviewFloatRoundtrip * -d:nimPreviewHashRef * -d:nimPreviewJsonutilsHoleyEnum Major new features With so many new features, pinpointing the most salient ones is a subjective exercise, but here are a select few: iterable[T] The iterable[T] type class was added to match called iterators, which solves a number of long-standing issues related to iterators. Example: iterator iota(n: int): int = for i in 0..<n: yield i # previously, you'd need `untyped`, which caused other problems such as lack # of type inference, overloading issues, and MCS. template sumOld(a: untyped): untyped = # no type inference possible var result: typeof(block:(for ai in a: ai)) for ai in a: result += ai result assert sumOld(iota(3)) == 0 + 1 + 2 # now, you can write: template sum[T](a: iterable[T]): T = # `template sum(a: iterable): auto =` would also be possible var result: T for ai in a: result += ai result assert sum(iota(3)) == 0 + 1 + 2 # or `iota(3).sum` In particular iterable arguments can now be used with the method call syntax. For example: import std/[sequtils, os] echo walkFiles("*").toSeq # now works See PR #17196 for additional details. Strict effects The effect system was refined and there is a new .effectsOf annotation that does explicitly what was previously done implicitly. See the manual for more details. To write code that is portable with older Nim versions, use this idiom: when defined(nimHasEffectsOf): {.experimental: "strictEffects".} else: {.pragma: effectsOf.} proc mysort(s: seq; cmp: proc(a, b: T): int) {.effectsOf: cmp.} To enable the new effect system, compile with --experimental:strictEffects. See also #18777 and RFC #408. Private imports and private field access A new import syntax import foo {.all.} now allows importing all symbols (public or private) from foo. This can be useful for testing purposes or for more flexibility in project organization. Example: from system {.all.} as system2 import nil echo system2.ThisIsSystem # ThisIsSystem is private in `system` import os {.all.} # weirdTarget is private in `os` echo weirdTarget # or `os.weirdTarget` Added a new module std/importutils, and an API privateAccess, which allows access to private fields for an object type in the current scope. Example: import times from std/importutils import privateAccess block: let t = now() # echo t.monthdayZero # Error: undeclared field: 'monthdayZero' for type \ times.DateTime privateAccess(typeof(t)) # enables private access in this scope echo t.monthdayZero # ok See PR #17706 for additional details. nim --eval:cmd Added nim --eval:cmd to evaluate a command directly, e.g.: nim --eval:"echo \ 1". It defaults to e (nimscript) but can also work with other commands, e.g.: find . | nim r --eval:'import strutils; for a in stdin.lines: echo a.toUpper' # use as a calculator: nim --eval:'echo 3.1 / (1.2+7)' # explore a module's APIs, including private symbols: nim --eval:'import os {.all.}; echo weirdTarget' # use a custom backend: nim r -b:js --eval:"import std/jsbigints; echo 2'big ** 64'big" See PR #15687 for more details. Round-trip float to string system.addFloat and system.$ now can produce string representations of floating point numbers that are minimal in size and possess round-trip and correct rounding guarantees (via the Dragonbox algorithm). This currently has to be enabled via -d:nimPreviewFloatRoundtrip. It is expected that this behavior becomes the new default in upcoming versions, as with other nimPreviewX define flags. Example: from math import round let a = round(9.779999999999999, 2) assert a == 9.78 echo a # with `-d:nimPreviewFloatRoundtrip`: 9.78, like in python3 (instead of \ 9.779999999999999) New std/jsbigints module Provides arbitrary precision integers for the JS target. See PR #16409. Example: import std/jsbigints assert 2'big ** 65'big == 36893488147419103232'big echo 0xdeadbeef'big shl 4'big # 59774856944n New std/sysrand module Cryptographically secure pseudorandom number generator, allows generating random numbers from a secure source provided by the operating system. Example: import std/sysrand assert urandom(1234) != urandom(1234) # unlikely to fail in practice See PR #16459. New module: std/tempfiles Allows creating temporary files and directories, see PR #17361 and followups. import std/tempfiles let tmpPath = genTempPath("prefix", "suffix.log", \ "/tmp/") # tmpPath looks like: /tmp/prefixpmW1P2KLsuffix.log let dir = createTempDir("tmpprefix_", "_end") # created dir looks like: getTempDir() / "tmpprefix_YEl9VuVj_end" let (cfile, path) = createTempFile("tmpprefix_", "_end.tmp") # path looks like: getTempDir() / "tmpprefix_FDCIRZA0_end.tmp" cfile.write "foo" cfile.setFilePos 0 assert readAll(cfile) == "foo" close cfile assert readFile(path) == "foo" User-defined literals Custom numeric literals (e.g. -128'bignum) are now supported. Additionally, the unary minus in -1 is now part of the integer literal, i.e. it is now parsed as a single token. This implies that edge cases like -128'i8 finally work correctly. Example: func `'big`*(num: cstring): JsBigInt {.importjs: "BigInt(#)".} assert 0xffffffffffffffff'big == (1'big shl 64'big) - 1'big Dot-like operators With -d:nimPreviewDotLikeOps, dot-like operators (operators starting with ., but not with ..) now have the same precedence as ., so that a.?b.c is now parsed as (a.?b).c instead of a.?(b.c). A warning is generated when a dot-like operator is used without -d:nimPreviewDotLikeOps. An important use case is to enable dynamic fields without affecting the built-in . operator, e.g. for std/jsffi, std/json, pkg/nimpy. Example: import std/json template `.?`(a: JsonNode, b: untyped{ident}): JsonNode = a[astToStr(b)] let j = %*{"a1": {"a2": 10}} assert j.?a1.?a2.getInt == 10 Block arguments now support optional parameters This solves a major pain point for routines accepting block parameters, see PR #18631 for details: template fn(a = 1, b = 2, body) = discard fn(1, 2): # already works bar fn(a = 1): # now works bar Likewise with multiple block arguments via do: template fn(a = 1, b = 2, body1, body2) = discard fn(a = 1): # now works bar1 do: bar2 Other features For full changelog, see here. Footnotes Tested on a 2.3 GHz 8-Core Intel Core i9, 2019 macOS 11.5 with 64GB RAM. * [1] command used: nim c -d:danger. The binary size can be further reduced to 49K with stripping (--passL:-s) and link-time optimization (--passC:-flto). Statically linking against musl brings it under 5K - see here for more details. * [2] commands used: + for Nim: nim c --forceBuild compiler/nim + for Rust: ./x.py build, details + for GCC: see 1 2 + for Clang: details + for Go: ./make.bash * [3] a separate nimscript file can be used if needed to execute code at compile time before compiling the main program but it's in the same language |
2021-11-18 03:23:44 by Masatake Daimon | Files touched by this commit (1) |
Log message: Support PKGSRC_USE_RELRO Also removed "--skipUserCfg --skipParentCfg" from the invocation of koch. These flags are automatically passed to nim by koch. |
2021-10-26 12:51:59 by Nia Alarie | Files touched by this commit (260) |
Log message: lang: Replace RMD160 checksums with BLAKE2s checksums All checksums have been double-checked against existing RMD160 and SHA512 hashes The following distfiles could not be fetched (possibly fetched conditionally?): ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-linux-gnu.tar.gz ./lang/rust-bin/distinfo \ rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-linux-musl.tar.gz ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-netbsd.tar.gz ./lang/rust-bin/distinfo \ rust-bin-1.54.0/rust-1.54.0-armv7-unknown-netbsd-eabihf.tar.gz ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-i686-unknown-linux-gnu.tar.gz ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-powerpc-unknown-netbsd90.tar.gz ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-sparc64-unknown-netbsd.tar.gz ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-apple-darwin.tar.gz ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-freebsd.tar.gz ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-linux-gnu.tar.gz ./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-linux-musl.tar.gz ./lang/smlnj/distinfo smlnj-110.73/boot.ppc-unix.tgz ./lang/smlnj/distinfo smlnj-110.73/boot.sparc-unix.tgz ./lang/oracle-jre8/distinfo jce_policy-8.zip ./lang/oracle-jre8/distinfo jre-8u202-linux-i586.tar.gz ./lang/oracle-jre8/distinfo jre-8u202-linux-x64.tar.gz ./lang/oracle-jre8/distinfo jre-8u202-macosx-x64.tar.gz ./lang/oracle-jre8/distinfo jre-8u202-solaris-x64.tar.gz ./lang/oracle-jdk8/distinfo jdk-8u202-linux-i586.tar.gz ./lang/oracle-jdk8/distinfo jdk-8u202-linux-x64.tar.gz ./lang/oracle-jdk8/distinfo jdk-8u202-solaris-x64.tar.gz ./lang/ghc80/distinfo ghc-7.10.3-boot-x86_64-unknown-solaris2.tar.xz ./lang/ghc80/distinfo ghc-8.0.2-boot-i386-unknown-freebsd.tar.xz ./lang/ghc80/distinfo ghc-8.0.2-boot-x86_64-unknown-freebsd.tar.xz ./lang/gcc5-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2 ./lang/gcc5-aux/distinfo ada-bootstrap.i386.freebsd.84.tar.bz2 ./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.dragonfly.41.tar.bz2 ./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2 ./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2 ./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2 ./lang/rust/distinfo rust-1.53.0-aarch64-apple-darwin.tar.gz ./lang/rust/distinfo rust-1.53.0-aarch64-unknown-linux-gnu.tar.gz ./lang/rust/distinfo rust-1.53.0-aarch64-unknown-netbsd.tar.gz ./lang/rust/distinfo rust-1.53.0-aarch64_be-unknown-netbsd.tar.gz ./lang/rust/distinfo rust-1.53.0-arm-unknown-linux-gnueabihf.tar.gz ./lang/rust/distinfo rust-1.53.0-armv7-unknown-linux-gnueabihf.tar.gz ./lang/rust/distinfo rust-1.53.0-i686-unknown-linux-gnu.tar.gz ./lang/rust/distinfo rust-1.53.0-powerpc-unknown-netbsd.tar.gz ./lang/rust/distinfo rust-1.53.0-powerpc-unknown-netbsd90.tar.gz ./lang/rust/distinfo rust-1.53.0-sparc64-unknown-netbsd.tar.gz ./lang/rust/distinfo rust-1.53.0-x86_64-apple-darwin.tar.gz ./lang/rust/distinfo rust-1.53.0-x86_64-unknown-freebsd.tar.gz ./lang/rust/distinfo rust-1.53.0-x86_64-unknown-illumos.tar.gz ./lang/rust/distinfo rust-1.53.0-x86_64-unknown-linux-gnu.tar.gz ./lang/rust/distinfo rust-std-1.53.0-aarch64-apple-darwin.tar.gz ./lang/rust/distinfo rust-std-1.53.0-aarch64-unknown-linux-gnu.tar.gz ./lang/rust/distinfo rust-std-1.53.0-aarch64-unknown-netbsd.tar.gz ./lang/rust/distinfo rust-std-1.53.0-aarch64_be-unknown-netbsd.tar.gz ./lang/rust/distinfo rust-std-1.53.0-arm-unknown-linux-gnueabihf.tar.gz ./lang/rust/distinfo rust-std-1.53.0-armv7-unknown-linux-gnueabihf.tar.gz ./lang/rust/distinfo rust-std-1.53.0-i686-unknown-linux-gnu.tar.gz ./lang/rust/distinfo rust-std-1.53.0-powerpc-unknown-netbsd.tar.gz ./lang/rust/distinfo rust-std-1.53.0-powerpc-unknown-netbsd90.tar.gz ./lang/rust/distinfo rust-std-1.53.0-sparc64-unknown-netbsd.tar.gz ./lang/rust/distinfo rust-std-1.53.0-x86_64-apple-darwin.tar.gz ./lang/rust/distinfo rust-std-1.53.0-x86_64-unknown-freebsd.tar.gz ./lang/rust/distinfo rust-std-1.53.0-x86_64-unknown-linux-gnu.tar.gz ./lang/smlnj11072/distinfo smlnj-110.72/boot.ppc-unix.tgz ./lang/smlnj11072/distinfo smlnj-110.72/boot.sparc-unix.tgz ./lang/ghc84/distinfo ghc-8.0.2-boot-x86_64-unknown-solaris2.tar.xz ./lang/ghc84/distinfo ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz ./lang/ghc84/distinfo ghc-8.4.4-boot-x86_64-apple-darwin.tar.xz ./lang/ghc84/distinfo ghc-8.4.4-boot-x86_64-unknown-freebsd.tar.xz ./lang/ghc7/distinfo ghc-7.10.3-boot-i386-unknown-freebsd.tar.xz ./lang/ghc7/distinfo ghc-7.6.3-boot-i386-unknown-solaris2.tar.xz ./lang/ghc7/distinfo ghc-7.6.3-boot-powerpc-apple-darwin.tar.xz ./lang/ghc7/distinfo ghc-7.6.3-boot-x86_64-unknown-solaris2.tar.xz ./lang/ghc90/distinfo ghc-8.10.4-boot-x86_64-unknown-solaris2.tar.xz ./lang/ghc90/distinfo ghc-9.0.1-boot-aarch64-unknown-netbsd.tar.xz ./lang/ghc90/distinfo ghc-9.0.1-boot-i386-unknown-freebsd.tar.xz ./lang/ghc90/distinfo ghc-9.0.1-boot-x86_64-apple-darwin.tar.xz ./lang/ghc90/distinfo ghc-9.0.1-boot-x86_64-unknown-freebsd.tar.xz ./lang/openjdk8/distinfo \ openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz ./lang/openjdk8/distinfo \ openjdk7/bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz ./lang/openjdk8/distinfo \ openjdk7/bootstrap-jdk-1.8.181-netbsd-8-aarch64-20180917.tar.xz ./lang/openjdk8/distinfo \ openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.6-amd64-20140719.tar.bz2 ./lang/openjdk8/distinfo \ openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.8-amd64-20140719.tar.bz2 ./lang/go-bin/distinfo go1.14.2.darwin-amd64.tar.gz ./lang/go-bin/distinfo go1.14.2.linux-386.tar.gz ./lang/go-bin/distinfo go1.14.2.linux-amd64.tar.gz ./lang/go-bin/distinfo go1.14.2.linux-arm64.tar.gz ./lang/go-bin/distinfo go1.14.2.linux-armv6l.tar.gz ./lang/go-bin/distinfo go1.14.2.netbsd-arm64.tar.gz ./lang/go-bin/distinfo go1.16beta1.darwin-arm64.tar.gz ./lang/gcc6-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2 ./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.dragonfly.41.tar.bz2 ./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2 ./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2 ./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2 ./lang/ghc810/distinfo ghc-8.8.4-boot-x86_64-unknown-solaris2.tar.xz ./lang/sun-jre7/distinfo UnlimitedJCEPolicyJDK7.zip ./lang/sun-jre7/distinfo jre-7u80-linux-x64.tar.gz ./lang/sun-jre7/distinfo jre-7u80-solaris-i586.tar.gz ./lang/sun-jre7/distinfo jre-7u80-solaris-x64.tar.gz ./lang/ghc88/distinfo ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz ./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-apple-darwin.tar.xz ./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-unknown-freebsd.tar.xz ./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-unknown-solaris2.tar.xz ./lang/gcc-aux/distinfo ada-bootstrap.i386.dragonfly.36A.tar.bz2 ./lang/gcc-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2 ./lang/gcc-aux/distinfo ada-bootstrap.i386.freebsd.84.tar.bz2 ./lang/gcc-aux/distinfo ada-bootstrap.x86_64.dragonfly.36A.tar.bz2 ./lang/gcc-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2 ./lang/gcc-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2 ./lang/gcc-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2 ./lang/gcc6/distinfo ecj-4.5.jar ./lang/openjdk11/distinfo bootstrap-jdk-1.11.0.7.10-netbsd-9-aarch64-20200509.tar.xz ./lang/sun-jdk7/distinfo jdk-7u80-linux-x64.tar.gz ./lang/sun-jdk7/distinfo jdk-7u80-solaris-i586.tar.gz ./lang/sun-jdk7/distinfo jdk-7u80-solaris-x64.tar.gz |
2021-10-07 16:21:17 by Nia Alarie | Files touched by this commit (282) |
Log message: lang: Remove SHA1 hashes for distfiles |
2021-05-30 15:45:46 by Ryo ONODERA | Files touched by this commit (2) |
Log message: nim: Update to 1.4.6 Changelog: Version 1.4.8 released 25 May 2021 The Nim Team The Nim team is happy to announce version 1.4.8, our fourth patch release for Nim 1.4. Version 1.4.8 is a result of one month of hard work, and it contains 23 commits , fixing the most important bugs and bringing additional improvements to our ORC memory management. We would recommend to all of our users to upgrade and use version 1.4.8. Release highlights * Just like our devel branch, v1.4.8 is built using csources_v1, which means you can use it on Apple M1 chips. * Version 1.4.6 triggered some false positives with several antivirus softwares. Based on our testing, this shouldn't happen with v1.4.8. * Now you can use -d:release and -d:danger in your config files, no need to manually write these flags on the command line anymore. * Additional improvements to our ORC memory management. Use --gc:orc to compile your projects with it. Version 1.4.6 Version 1.4.6 is our third patch release for Nim 1.4 and it brings several fixes since version 1.4.4, released two month ago. Bugfixes since 1.4.4 * Fixed GC crash resulting from inlining of the memory allocation procs (link ) * Fixed isolate doesn't work (#17264) * Fixed regression since 1.4.2: vm crash with lists.SinglyLinkedRing (# 16384) * Fixed Generics sandwiched between two modules don't mixin their scope symbols properly (#11225) * Fixed json.% raises Defect for uint64 (#17383) * Fixed memory allocation during {.global.} init breaks GC (#17085) * Fixed incorrect raises effect for $(NimNode) (#17454) Full changelog since v1.4.4 contains 19 commits. |
2021-03-01 14:12:56 by Ryo ONODERA | Files touched by this commit (2) |
Log message: nim: Update to 1.4.4 Changelog: Bugfixes since 1.4.2 Fixed "-d:fulldebug switch does not compile with gc:arc" (#16214) Fixed "Strange behavior when calling into Nim" (#16249) Fixed "VC++ winnt.h fatal error "No Target Architecture" in \ stdlib_io." (#14259) Fixed "osLastError may randomly raise defect and crash" (#16359) Fixed "& shows as & in docs" (#16364) Fixed "gc:arc - SIGSEGV for rawAlloc on windows" (#16365) Fixed "generic importc proc's don't work (breaking lots of vmops procs \ for js)" (#16428) Fixed "[ARC] Compiler error with a closure proc in a macro " (#15043) Fixed "genericAssignAux runtime error" (#16706) Fixed "Concept: codegen ignores parameter passing" (#16897) Fixed "{.push exportc.} interacts with anonymous functions" (#16967) Fixed "ARC exports a dangerous 'dispose' proc" (#17003) Fixed "Cursor inference leading to corrupt memory with a tuple" \ (#17033) Fixed "toOpenArray doesn't work in VM; toOpenArray with var openArray \ doesn't work in nim js" (#15952) Fixed "memory allocation during {.global.} init breaks GC" (#17085) |
2020-12-07 13:40:44 by Ryo ONODERA | Files touched by this commit (2) |
Log message: nim: Update to 1.4.2 Changelog: Bugfixes * Fixed "dbQuote additional escape regression" (#15560) * Fixed "[ARC] Finalizer with a do notation proc crashes the compiler" (# 15599) * Fixed "./koch drnim: git checkout ... fails (invalid git hash)" \ (#15639) * Fixed "Testament does not check memory leaks with Valgrind" (#15631) * Fixed "Templates can't be made discardable" (#13609) * Fixed "Taking a view of var openArray[T] generates broken C" (#15652) * Fixed "Regression: parsecsv from newGZFileStream" (#12410) * Fixed "NimVM generic procs that take anonymous tuples gives nil access error." (#15662) * Fixed "net.$ is not printing a zero group smaller than the compressed group" (#15698) * Fixed "map, mapIt, filter cause a segfault at compile time in a static block when passed an inline function" (#15363) * Fixed "const Table losing object variant data at runtime" (#8007) * Fixed "regression(1.0.2 => 1.0.4) VM register messed up depending on unrelated context" (#15704) * Fixed "VM: nil procvar treated as not nil in VM, causing FieldDefect and further errors" (#15595) * Fixed "ICE with sequtils + algorithm (mapIt, sortedByIt) + json " \ (#10456 ) * Fixed "Size of packed enum of byte is 2 byte; if highest value is 0xFF but should be 1" (#15752) * Fixed "OrderedTable.== throws error on empty table: unhandled exception: index out of bounds..." (#15750) * Fixed "strictFunc: system & is considered to have side effects under arc mode" (#15756) * Fixed "JSON parsing fails for integer values greater than BiggestInt.max " (#15413) * Fixed "yet another cmpIgnoreStyle bug" (#7686) * Fixed "1 mod 0 gives NaN with JS backend" (#7127) * Fixed "Discarding a dom.Node raises a javascript error" (#15638) * Fixed "Regression: overriding streams.write(T) does not work on 0.19 anymore" (#9091) * Fixed "Converter is applied to the first parameter of operator instead of last" (#9165) * Fixed "Recursion using concepts crashes compiler" (#8012) * Fixed "Union types in javascript" (#7658) * Fixed "Ambiguous call error when it's not" (#7416) * Fixed "Codegen does not like shadowed parameter" (#7374) * Fixed "incomplete code generation when using a compile time variable at run time (undeclared identifier)" (#6036) * Fixed "Compiler doesn't warn when using {.global.} and {.threadvar.} on JS backend despite it not working" (#11625) * Fixed "Discarding output with nested for/if statements" (#14227) * Fixed "regression: docgen drops enum doc comments" (#15702) * Fixed "regression(1.0): codegen error with locals" (#12682) * Fixed "[JS] $ on an enum in an if expression causes bad codegen" \ (#15651) * Fixed "Error upon conditional declaration inside a template" (#3670) * Fixed "Compiler crash when a value in enum is converted to the enum itself " (#15145) * Fixed "[AssertionDefect] json.to(type) on object with Option[ref object] field" (#15815) * Fixed "Crash with const tuple unpacking" (#15717) * Fixed "JS codegen can produce extreme switch statements with case a of range" (#8821) * Fixed "cannot capture result, produces unhelpful eror" (#15594) * Fixed "Code that work in 1.2.6, but not 1.4.0" (#15804) * Fixed "C-backend link failure for let with {.global, compileTime.} pragma " (#12640) * Fixed "json.to crashes (SIGSEGV) when object attribute is a JsonNode and the key is not there" (#15835) * Fixed "Cannot use custom pragmas in ref object" (#8457) * Fixed "GC_ref on empty string fails with [GCASSERT] incRef: \ interiorPtr" (#10307) * Fixed "VM segmentation faults with swap" (#15463) * Fixed "$(s: WideCString) changes result to repr on -gc:arc" (#15663) * Fixed "unittest.check rejects with a type error, code that Nim otherwise accepts" (#15618) * Fixed "Type mismatch on init of static[T] object with T being a static[U] " (#11142) * Fixed "sizeof array with static N crash in type section" (#12636) * Fixed "-gc:arc segfaults when returning result from a proc" (#15609) * Fixed "Error: 'newHttpHeaders' can have side effects" (#15851) * Fixed "template that overloads [] accessor does not compile" (#8829) * Fixed "Simple type definition crash" (#12897) * Fixed "mapIt from sequtils not working in {.push compile_time.} \ context" (#12558) * Fixed "-gc:arc/orc Error: unhandled exception: 'sym' is not accessible using discriminant 'kind' of type 'TNode' [FieldDefect]" (#15707) * Fixed "incorrect type inference with static: Error: ordinal type expected " (#15858) * Fixed "constructor causes SIGBUS if a destroy is defined" (#14601) * Fixed "internal error: getTypeDescAux(tyOr) on sink UnionType \ argument" ( #15825) * Fixed "Console apps in Windows can rise OSError" (#15874) * Fixed "nim doc cannot grok IOSelectorsException" (#12471) * Fixed "Method dispatch silently breaks on non-ref objects" (#4318) * Fixed "Cannot take the compile-time sizeof Atomic types" (#12726) * Fixed "Setting subscript index of cstring is allowed and generates bad code" (#14157) * Fixed "Compiler crash using if as an expression with a noreturn \ branch" ( #15909) * Fixed "docgen fatal: result[0].kind == nkSym [AssertionDefect]" \ (#15916) * Fixed "Iterator for sharedlist won't iterate all items." (#15941) * Fixed "Embedded templates with iterators fails to compile" (#2771) * Fixed "C++ Atomics in union: ::::::field with constructor not allowed in anonymous aggregate" ([#13062](https://github.com/nim-lang/Nim/issues/ 13062)) * Fixed "memory corruption in tmarshall.nim" (#9754) * Fixed "JS backend doesn't handle float->int type conversion " \ (#8404) * Fixed "The "try except" not work when the "OSError: Too \ many open files " error occurs!" (#15925) * Fixed "lent gives wrong results with -d:release" (#14578) * Fixed "backticks : Using reserved keywords as identifiers is not documented" (#15806) * Fixed "backticks : Using reserved keywords as identifiers is not documented" (#15806) * Fixed "backticks : Using reserved keywords as identifiers is not documented" (#15806) * Fixed "backticks : Using reserved keywords as identifiers is not documented" (#15806) * Fixed "Program SIGSEGV when using '-gc:orc'" (#15753) * Fixed "Assignment to Option[T] doesn't call destructor on existing contained value" (#15910) * Fixed "In for loop _ is accessible" (#15972) * Fixed "Pragma codegenDecl doesn't work inside iterators" (#6497) * Fixed "nim js --gc:arc gives bad error: undeclared identifier: '+!'" (# 16033) * Fixed "create a new function definitions got Internal error: environment misses:" (#14847) * Fixed "Nim emits #line 0 C preprocessor directives with -debugger:native, with ICE in gcc-10" (#15942) * Fixed "Serializing and deserializing a proc SIGSEV's" (#16022) * Fixed "Small tutorial error" (#16047) * Fixed "lent codegen error for c++ (works with c,js,vm)" (#15958) * Fixed "sink var/var sink both accepted; sink var leads to bad codegen and strange behavior" (#15671) * Fixed "tfuturevar fails when activated" (#9695) * Fixed "db_sqlite: Error: undeclared field: 'untypedLen'" (#16080) * Fixed "xmlparser removes significant white space" (#14056) * Fixed "nre.escapeRe is not gcsafe" (#16103) * Fixed "macros.getImpl still return incorrect AST for Sym \ "XXX:ObjectType "" (#16110) * Fixed ""Error: internal error: genRecordFieldAux" - in the \ "version-1-4 " branch" (#16069) * Fixed "Tracking memory leaks under ORC (mostly with async)" (#15076) * Fixed "Const seq into sink arg: =copy operator not found" (#16120) * Fixed "Copying of a sink parameter into a variable not allowed" \ (#16119) * Fixed "Memleak in AsyncHttpServer with arc/orc" (#16154) |