[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Release 0.3: Stand Back, We're Proffesionals.
- Subject: Re: Release 0.3: Stand Back, We're Proffesionals.
- From: James Turner <james@xxxxxxxxxxxxxxx>
- Reply-to: myrddin-dev@xxxxxxxxxxxxxx
- Date: Fri, 29 Jun 2018 22:59:32 -0400
- To: myrddin-dev@xxxxxxxxxxxxxx
On Fri, Jun 29, 2018 at 10:43:04PM -0400, James Turner wrote:
> Congrats. I'll be getting the OpenBSD updated in snapshots asap!
>
I had to run gmake bootstrap before gmake, otherwise I got the below
message. Is this expected? Should the from git instructions be updated?
could not find mbld: did you run "make bootstrap"?
> On Fri, Jun 29, 2018 at 07:33:40PM -0700, Ori Bernstein wrote:
> > To quote the website, minus the detailed descriptions that people have already
> > posted on this list:
> >
> > Thanks to everyone for the help, bug reports, patches, and everything else!
> >
> > Downloading
> > -----------
> >
> > The release has been tagged with r0.3.0 in git. If you want a
> > tarball, you can get it from here:
> >
> > - https://myrlang.org/releases/myrddin-0.3.0.tar.bz2
> > - https://myrlang.org/releases/myrddin-0.3.0.tar.gz
> > - https://myrlang.org/releases/myrddin-0.3.0.tar.xz
> >
> > Major Highlights since 0.2
> > --------------------------
> >
> > Lots of churn. The bulk of the code size increase has been adding
> > tests for many of our libraries.
> >
> > $ git diff --stat r0.2.2..HEAD | tail -n 1
> > 322 files changed, 34451 insertions(+), 3860 deletions(-)
> > $ git log r0.2.2..HEAD --pretty=oneline | wc -l
> > 359
> >
> > - The 'in' token has been removed fully. Now, `for elt in seq` is invalid
> > syntax: it must be written as `for elt : seq`. This frees up a useful
> > variable name.
> > - A `default.nix` has been added for building on systems.
> > - Many language bugs have been fixed, including trait issues, thanks to
> > lgv.
> > - Traits should work far more reliably.
> > - We should be more agressive about flagging uses of uninitialized
> > variables.
> > - Linking against C works on OpenBSD
> > - Several language features have been added
> > - Enums should be slightly cheaper (thanks, mpu)
> > - Auto declarations are now supported.
> > - You can use `==` on enum style unions
> > - Many library bugs have been fixed, covering everything from
> > the memory allocator, through to dealing with packet loss correctly
> > in the DNS resolver.
> > - Mbld is a bit smarter in several ways.
> > - It knows when the compiler or libraries changed, so it will now
> > rebuild your myrddin install changes. This prevents some mysterious
> > build failures around mismatched library versions.
> > - mbld now outputs to `obj/` instead of the current working directory,
> > leading to cleaner builds.
> > - mbld knows how to run subsets of tests.
> > - Several new CPU type tags are set by default.
> > - Several new libraries have been added, most notably:
> > - [libmath](https://git.eigenstate.org/ori/mc.git/tree/lib/math),
> > which implements several floating point functions of interest
> > from scratch.
> > - [libflate](https://git.eigenstate.org/ori/mc.git/tree/lib/flate),
> > which implements gzip compression/decompression.
> > - Several existing ones have been significantly improved.
> > - Libthread is now usable on OSX, thanks to the work of iriri. It also
> > now uses futexes on OpenBSD, significantly improving its performance
> > and behavior.
> > - Several threading bugs have been fixed in libstd, largely focused
> > around forking and execing in a threaded program.
> > - Pledge has been added to libstd. It's invokes pledge on OpenBSD,
> > and is a no-op on deficient platforms.
> > - Constant time RSA has been implemented in libcrypto, following the lead of
> > BearSSL
> > - AES GCM mode is now implemented in libcrypto.
> > - SHA HMAC functions are now implemented in libcrypto.
> > - Libbio now has a vtable, and therefore can be used to buffer any
> > stream of data.
> > - Others have been less significantly improved.
> > - Integers can be printed in any base.
> > - std.put now will allow printing arbitrary binary data, instead of
> > just unicode.
> > - Libstd now counts graphemes instead of simply counting codepoints
> > when outputting text.
> > - Libtermdraw also counts graphemes instead of codepoints.
> > - Regex has been sped up by several times.
> > - libfileutil has had several API signatures changed, and now
> > has code to remove file trees recursively.
> > - IPv6 is now fully supported.
> > - The size of generated binaries is now smaller, thanks to enabling
> > `--gc-sections` by default on platforms that support it.
> > - Dependent system tags can now be defined.
> > - Several new APIs have been added, including:
> > - Support for OpenBSD 6.3 (from 0.2.2)
> >
> > Breaking changes
> > ----------------
> >
> > - Auto variables have been removed in favor of the auto operator.
> > - Trait syntax has been changed, in order to reduce repetition and allow for
> > auxiliary types to be attached to traits.
> > - The earlier `for, in` change.
> > - libbio now returns `std.result(@t, bio.err)` instead of a custom
> > `bio.status(@t)` type.
> > - Hash tables now use traits instead of callbacks, meaning that all
> > hash tables using `std.mkht(hashfn, cmpfn)` need to be replaced
> > with `std.mkht()`. The types should be inferred appropriately in
> > most cases.
> > - The various equality checking functions have been removed in favor
> > of trait overloading `std.eq`.
> > - Several iterators have been moved out of libstd and into libiter
> >
> >
> > --
> > Ori Bernstein
> >
>
> --
> James Turner
>
--
James Turner