Releases: ponylang/ponyc
Releases · ponylang/ponyc
0.9.0
[0.9.0] - 2016-11-11
Fixed
- Stop leaking memory during serialization (issue #1413) (PR #1414)
- Fixed compiler segmentation fault when given an invalid target triple. (PR #1406)
- Fixed error message when no type arguments are given (issue #1396) (PR #1397)
- Fixed compiler assert failure when constructor is called on type intersection (issue #1398) (PR #1401)
- Fix compiler assert fail on circular type inference error (issue #1334) (PR #1339)
- Performance problem in the scheduler queue when running with many threads (issue #1404)
- Invalid name mangling in generated C headers (issue #1377)
Added
- Method chaining (RFC #25) (PR #1411)
- Iter class methods
all
,any
,collect
,count
,find
,last
,nth
,run
,skip
,skip_while
,take
,take_while
(issue #1370) - Output of
ponyc --version
shows C compiler used to build pony (issue #1245) - Makefile detects
llvmconfig39
in addition tollvm-config-3.9
(#1379) - LLVM 3.9 support
Changed
0.8.0
[0.8.0] - 2016-10-27
Fixed
- Link the correct version of
libponyrt
when compiling with--pic
on Linux (issue #1359)
Added
- Runtime function
pony_send_next
. This function can help optimise some message sending scenarios. - Floating point
min_normalised
. The function returns the smallest normalised positive number, asmin_value
used to do (issue #1351)
Changed
- Floating point
min_value
now returns the smallest negative number instead of the smallest normalised positive number (issue #1351)
0.7.0
[0.7.0] - 2016-10-22
Fixed
- Concatenate docstrings from case methods (issue #575).
Added
- TCP read and write backpressure hooks in
TCPConnection
(issue #1311) - Allow TCP notifiers to cause connections to yield while receiving (issue #1343)
Changed
break
without a value now generates its value from theelse
branch of a loop instead of being an implicitbreak None
.- The
for
loop will now break out of the loop instead of continuing with the following iterations ifIterator.next
errors.
0.6.0
[0.6.0] - 2016-10-20
Fixed
- Compiling ponyrt with Clang versions >= 3.3, < 3.6.
- Restrict mutable tuple recovery to maintain reference capability security (issue #1123)
- Crash in the runtime scheduler queues
Added
- DTrace and SystemTap support -
use=dtrace
Changed
- Replaces
use=telemetry
by DTrace/SystemTap scripts String.cstring()
now always returns a null-terminated string
(which may result in a copy) whilecpointer()
(also available on
Array
objects) returns a pointer to the underlying array as-is
(issue #1309).
0.5.1
0.5.0
[0.5.0] - 2016-10-09
Fixed
- Memory copy bounds for
String.clone
(issue #1289). - Security issues in
ProcessMonitor
(issue #1180) SSLConnection
bugs due to missingsentv
notify method (issue #1282)
Added
Iter
class (issue #1267)- read_until method on buffered.Reader (RFC 0013)
format
package (issue #1285)
Changed
0.4.0
0.3.3
[0.3.3] - 2016-09-23
Fixed
- Incorrect build number generated on Windows when building from non-git directory.
- Stop generating
llvm.invariant.load
for fields ofval
references. - Embedded fields construction through tuples.
Added
- Improved error handling for
files
package. - ProcessMonitor.expect
- ProcessNotify.created
- ProcessNotify.expect
Changed
- On Linux and FreeBSD, ponyc now uses $CC as the linker if the environment variable is defined.
0.3.2
[0.3.2] - 2016-09-18
Fixed
- The
ponyc
version is now consistently set from the VERSION file. - Stop generating
llvm.invariant.load
intrinsic for "let" references, as these don't necessarily match the semantics of that intrinsic.
Changed
- The
setversion
andrelease
commands have been removed fromMakefile
. - LTO is again enabled by default on OSX
- make now builds a
release
rather thandebug
build by default
0.3.1
[0.3.1] - 2016-09-14
Fixed
- Make sure all scheduler threads are pinned to CPU cores; on Linux/FreeBSD this wasn't the case for the main thread.
- Account for both hyperthreading and NUMA locality when assigning scheduler threads to cores on Linux.
- Stop generating
llvm.invariant.start
intrinsic. It was causing various problems in code generation. - Buffer overflow triggerable by very long
ponyc
filename (issue #1177). - Assertion failure in optimisation passes.
- Race condition in scheduler queues on weakly-ordered architectures.
- Issue #1212 by reverting commit e56075d
Added
--ponypinasio
runtime option for pinning asio thread to a cpu core.--ponynopin
runtime option for not pinning any threads at all.
Changed
- Path.base now provides option to omit the file extension from the result.
- Map.upsert returns value for upserted key rather than
this
. ponyc --version
now includes llvm version in its output.- LTO is now disabled by default on OSX.