docs: Add changelog and release notes entry for traceBinaryEvent#
[ghc.git] / libraries / ghc-prim / changelog.md
1 ## 0.6.0
2
3 - Shipped with GHC 8.8.1
4
5 - Added to `GHC.Prim`:
6         traveBinaryEvent# :: Addr# -> Int# -> State# s -> State# s
7
8 ## 0.5.3 (edit as necessary)
9
10 - Shipped with GHC 8.6.1
11
12 - Added to `GHC.Prim`:
13         addWordC# :: Word# -> Word# -> (# Word#, Int# #)
14
15 - `unpackClosure#` can now unpack any valid Haskell closure.
16   Previously it returned empty pointer and non-pointer arrays
17   for thunks.
18
19 ## 0.5.2.0
20
21 - Shipped with GHC 8.4.1
22
23 - Added to `GHC.Prim`:
24
25         compareByteArrays# :: ByteArray# -> Int# -> ByteArray# -> Int# -> Int# -> Int#
26
27 - Don't allocate a thunk for each unpacked UTF-8 character in `unpackCStringUtf8#`
28
29 ## 0.5.1.1 *November 2017*
30
31 - Shipped with GHC 8.2.2
32
33 - Changed strictness properties of `catchRetry#` (#14171)
34
35 ## 0.5.1.0 *July 2017*
36
37 - Shipped with GHC 8.2.1
38
39 - Added to `GHC.Prim`:
40
41         fabsDouble# :: Double# -> Double#
42         fabsFloat# :: Float# -> Float#
43         isByteArrayPinned# :: ByteArray# -> Int#
44         isMutableByteArrayPinned# :: MutableByteArray# s -> Int#
45         anyToAddr# :: a -> State# (RealWorld) -> (# State# (RealWorld),Addr# #)
46
47 - New primitives for compact regions in `GHC.Prim`:
48
49         Compact#
50         compactNew#
51         compactResize#
52         compactContains#
53         compactContainsAny#
54         compactGetFirstBlock#
55         compactGetNextBlock#
56         compactAllocateBlock#
57         compactFixupPointers#
58         compactAdd#
59         compactAddWithSharing#
60         compactSize#
61
62 - Generalised `noDuplicate#` from
63
64         noDuplicate# :: State# (RealWorld) -> State# (RealWorld)
65
66     to
67
68         noDuplicate# :: State# s -> State# s
69
70
71 ## 0.5.0.0
72
73 - Shipped with GHC 8.0.1
74
75 - `GHC.Classes`: new `class IP (a :: Symbol) b | a -> b`
76
77 - `GHC.Prim`: changed type signatures from
78
79         check# :: (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, () #)
80         finalizeWeak# :: Weak# a -> State# RealWorld -> (# State# RealWorld, Int#, State# RealWorld -> (# State# RealWorld, () #) #)
81         mkWeak# :: a -> b -> c -> State# RealWorld -> (# State# RealWorld, Weak# b #)
82
83     to
84
85         check# :: (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> State# RealWorld
86         finalizeWeak# :: Weak# a -> State# RealWorld -> (# State# RealWorld, Int#, State# RealWorld -> (# State# RealWorld, b #) #)
87         mkWeak# :: a -> b -> (State# RealWorld -> (# State# RealWorld, c #)) -> State# RealWorld -> (# State# RealWorld, Weak# b #)
88
89 - Removed from `GHC.Prim`:
90
91         parAt# :: b -> a -> Int# -> Int# -> Int# -> Int# -> c -> Int#
92         parAtAbs# :: a -> Int# -> Int# -> Int# -> Int# -> Int# -> b -> Int#
93         parAtForNow# :: b -> a -> Int# -> Int# -> Int# -> Int# -> c -> Int#
94         parAtRel# :: a -> Int# -> Int# -> Int# -> Int# -> Int# -> b -> Int#
95         parGlobal# :: a -> Int# -> Int# -> Int# -> Int# -> b -> Int#
96         parLocal# :: a -> Int# -> Int# -> Int# -> Int# -> b -> Int#
97
98 - Added to `GHC.Prim`:
99
100         getSizeofMutableByteArray# :: MutableByteArray# d -> State# d -> (# State# d, Int# #)
101         subWordC# :: Word# -> Word# -> (# Word#, Int# #)
102         runRW# :: (State# RealWorld -> (# State# RealWorld, o #)) -> (# State# RealWorld, o #)
103
104 - Added to `GHC.Types`:
105
106         data Module = Module TrName TrName
107         data Nat
108         data Symbol
109         data TrName = TrNameS Addr# | TrNameD [Char]
110         data TyCon = TyCon Word# Word# Module TrName