|
| 1 | +0.28.0 |
| 2 | +--- |
| 3 | + |
| 4 | +* **general** |
| 5 | + - fix parallelism in the compiler on Windows by building LLVM with thread support |
| 6 | + - support qemu-user debugging |
| 7 | + - make target JSON msd-volume-name an array |
| 8 | + - print source location when a panic happens in -monitor |
| 9 | + - `test`: don't print `ok` for a successful compile-only |
| 10 | +* **compiler** |
| 11 | + - `builder`: remove non-ThinLTO build mode |
| 12 | + - `builder`: fail earlier if Go is not available |
| 13 | + - `builder`: improve `-size=full` in a number of ways |
| 14 | + - `builder`: implement Nordic DFU file writer in Go |
| 15 | + - `cgo`: allow `LDFLAGS: --export=...` |
| 16 | + - `compiler`: support recursive slice types |
| 17 | + - `compiler`: zero struct padding during map operations |
| 18 | + - `compiler`: add llvm.ident metadata |
| 19 | + - `compiler`: remove `unsafe.Pointer(uintptr(v) + idx)` optimization (use `unsafe.Add` instead) |
| 20 | + - `compiler`: add debug info to `//go:embed` data structures for better `-size` output |
| 21 | + - `compiler`: add debug info to string constants |
| 22 | + - `compiler`: fix a minor race condition |
| 23 | + - `compiler`: emit correct alignment in debug info for global variables |
| 24 | + - `compiler`: correctly generate reflect data for local named types |
| 25 | + - `compiler`: add alloc attributes to `runtime.alloc`, reducing flash usage slightly |
| 26 | + - `compiler`: for interface maps, use the original named type if available |
| 27 | + - `compiler`: implement most math/bits functions as LLVM intrinsics |
| 28 | + - `compiler`: ensure all defers have been seen before creating rundefers |
| 29 | +* **standard library** |
| 30 | + - `internal/task`: disallow blocking inside an interrupt |
| 31 | + - `machine`: add `CPUReset` |
| 32 | + - `machine/usb/hid`: add MediaKey support |
| 33 | + - `machine/usb/hid/joystick`: move joystick under HID |
| 34 | + - `machine/usb/hid/joystick`: allow joystick settings override |
| 35 | + - `machine/usb/hid/joystick`: handle case where we cannot find the correct HID descriptor |
| 36 | + - `machine/usb/hid/mouse`: add support for mouse back and forward |
| 37 | + - `machine/usb`: add ability to override default VID, PID, manufacturer name, and product name |
| 38 | + - `net`: added missing `TCPAddr` and `UDPAddr` implementations |
| 39 | + - `os`: add IsTimeout function |
| 40 | + - `os`: fix resource leak in `(*File).Close` |
| 41 | + - `os`: add `(*File).Sync` |
| 42 | + - `os`: implement `(*File).ReadDir` for wasi |
| 43 | + - `os`: implement `(*File).WriteAt` |
| 44 | + - `reflect`: make sure null bytes are supported in tags |
| 45 | + - `reflect`: refactor this package to enable many new features |
| 46 | + - `reflect`: add map type methods: `Elem` and `Key` |
| 47 | + - `reflect`: add map methods: `MapIndex`, `MapRange`/`MapIter`, `SetMapIndex`, `MakeMap`, `MapKeys` |
| 48 | + - `reflect`: add slice methods: `Append`, `MakeSlice`, `Slice`, `Slice3`, `Copy`, `Bytes`, `SetLen` |
| 49 | + - `reflect`: add misc methods: `Zero`, `Addr`, `UnsafeAddr`, `OverflowFloat`, `OverflowInt`, `OverflowUint`, `SetBytes`, `Convert`, `CanInt`, `CanFloat`, `CanComplex`, `Comparable` |
| 50 | + - `reflect`: add type methods: `String`, `PkgPath`, `FieldByName`, `FieldByIndex`, `NumMethod` |
| 51 | + - `reflect`: add stubs for `Type.Method`, `CanConvert`, `ArrayOf`, `StructOf`, `MapOf` |
| 52 | + - `reflect`: add stubs for channel select routines/types |
| 53 | + - `reflect`: allow nil rawType to call Kind() |
| 54 | + - `reflect`: ensure all ValueError panics have Kind fields |
| 55 | + - `reflect`: add support for named types |
| 56 | + - `reflect`: improve `Value.String()` |
| 57 | + - `reflect`: set `Index` and `PkgPath` field in `Type.Field` |
| 58 | + - `reflect`: `Type.AssignableTo`: you can assign anything to `interface{}` |
| 59 | + - `reflect`: add type check to `Value.Field` |
| 60 | + - `reflect`: let `TypeOf(nil)` return nil |
| 61 | + - `reflect`: move `StructField.Anonymous` field to match upstream location |
| 62 | + - `reflect`: add `UnsafePointer` for Func types |
| 63 | + - `reflect`: `MapIter.Next` needs to allocate new keys/values every time |
| 64 | + - `reflect`: fix `IsNil` for interfaces |
| 65 | + - `reflect`: fix `Type.Name` to return an empty string for non-named types |
| 66 | + - `reflect`: add `VisibleFields` |
| 67 | + - `reflect`: properly handle embedded structs |
| 68 | + - `reflect`: make sure `PointerTo` works for named types |
| 69 | + - `reflect`: `Set`: convert non-interface to interface |
| 70 | + - `reflect`: `Set`: fix direction of assignment check |
| 71 | + - `reflect`: support channel directions |
| 72 | + - `reflect`: print struct tags in Type.String() |
| 73 | + - `reflect`: properly handle read-only values |
| 74 | + - `runtime`: allow custom-gc SetFinalizer and clarify KeepAlive |
| 75 | + - `runtime`: implement KeepAlive using inline assembly |
| 76 | + - `runtime`: check for heap allocations inside interrupts |
| 77 | + - `runtime`: properly turn pointer into empty interface when hashing |
| 78 | + - `runtime`: improve map size hint usage |
| 79 | + - `runtime`: zero map key/value on deletion to so GC doesn't see them |
| 80 | + - `runtime`: print the address where a panic happened |
| 81 | + - `runtime/debug`: stub `SetGCPercent`, `BuildInfo.Settings` |
| 82 | + - `runtime/metrics`: add this package as a stub |
| 83 | + - `syscall`: `Stat_t` timespec fields are Atimespec on darwin |
| 84 | + - `syscall`: add `Timespec.Unix()` for wasi |
| 85 | + - `syscall`: add fsync using libc |
| 86 | + - `testing`: support -test.count |
| 87 | + - `testing`: make test output unbuffered when verbose |
| 88 | + - `testing`: add -test.skip |
| 89 | + - `testing`: move runtime.GC() call to runN to match upstream |
| 90 | + - `testing`: add -test.shuffle to order randomize test and benchmark order |
| 91 | +* **targets** |
| 92 | + - `arm64`: fix register save/restore to include vector registers |
| 93 | + - `attiny1616`: add support for this chip |
| 94 | + - `cortexm`: refactor EnableInterrupts and DisableInterrupts to avoid `arm.AsmFull` |
| 95 | + - `cortexm`: enable functions in RAM for go & cgo |
| 96 | + - `cortexm`: convert SystemStack from `AsmFull` to C inline assembly |
| 97 | + - `cortexm`: fix crash due to wrong stack size offset |
| 98 | + - `nrf`: samd21, stm32: add flash API |
| 99 | + - `nrf`: fix memory issue in ADC read |
| 100 | + - `nrf`: new peripheral type for nrf528xx chips |
| 101 | + - `nrf`: implement target mode |
| 102 | + - `nrf`: improve ADC and add oversampling, longer sample time, and reference voltage |
| 103 | + - `rp2040`: change calling order for device enumeration fix to do first |
| 104 | + - `rp2040`: rtc delayed interrupt |
| 105 | + - `rp2040`: provide better errors for invalid pins on I2C and SPI |
| 106 | + - `rp2040`: change uart to allow for a single pin |
| 107 | + - `rp2040`: implement Flash interface |
| 108 | + - `rp2040`: remove SPI `DataBits` property |
| 109 | + - `rp2040`: unify all linker scripts using LDFLAGS |
| 110 | + - `rp2040`: remove SPI deadline for improved performance |
| 111 | + - `rp2040`: use 4MHz as default frequency for SPI |
| 112 | + - `rp2040`: implement target mode |
| 113 | + - `rp2040`: use DMA for send-only SPI transfers |
| 114 | + - `samd21`: rearrange switch case for get pin cfg |
| 115 | + - `samd21`: fix issue with WS2812 driver by making pin accesses faster |
| 116 | + - `samd51`: enable CMCC cache for greatly improved performance |
| 117 | + - `samd51`: remove extra BK0RDY clear |
| 118 | + - `samd51`: implement Flash interface |
| 119 | + - `samd51`: use correct SPI frequency |
| 120 | + - `samd51`: remove extra BK0RDY clear |
| 121 | + - `samd51`: fix ADC multisampling |
| 122 | + - `wasi`: allow users to set the `runtime_memhash_tsip` or `runtime_memhash_fnv` build tags |
| 123 | + - `wasi`: set `WASMTIME_BACKTRACE_DETAILS` when running in wasmtime. |
| 124 | + - `wasm`: implement the `//go:wasmimport` directive |
| 125 | +* **boards** |
| 126 | + - `gameboy-advance`: switch to use register definitions in device/gba |
| 127 | + - `gameboy-advance`: rename display and make pointer receivers |
| 128 | + - `gopher-badge`: Added Gopher Badge support |
| 129 | + - `lorae5`: add needed definition for UART2 |
| 130 | + - `lorae5`: correct mapping for I2C bus, add pin mapping to enable power |
| 131 | + - `pinetime`: update the target file (rename from pinetime-devkit0) |
| 132 | + - `qtpy`: fix bad pin assignment |
| 133 | + - `wioterminal`: fix pin definition of BCM13 |
| 134 | + - `xiao`: Pins D4 & D5 are I2C1. Use pins D2 & D3 for I2C0. |
| 135 | + - `xiao`: add DefaultUART |
| 136 | + |
| 137 | + |
1 | 138 | 0.27.0
|
2 | 139 | ---
|
3 | 140 |
|
|
0 commit comments