0af4c3145b8e02a806817d1f8242c3905e571591
[ghc.git] / docs / users_guide / 7.10.1-notes.xml
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <sect1 id="release-7-10-1">
3 <title>Release notes for version 7.10.1</title>
4
5 <para>
6 The significant changes to the various parts of the compiler are listed
7 in the following sections. There have also been numerous bug fixes and
8 performance improvements over the 7.8 branch.
9 </para>
10
11 <sect2>
12 <title>Highlights</title>
13
14 <para>
15 The highlights, since the 7.8 branch, are:
16 </para>
17
18 <itemizedlist>
19 <listitem>
20 <para>
21 TODO FIXME
22 </para>
23 </listitem>
24 </itemizedlist>
25 </sect2>
26
27 <sect2>
28 <title>Full details</title>
29 <sect3>
30 <title>Language</title>
31 <itemizedlist>
32 <listitem>
33 <para>
34 Added support for <link linkend="binary-literals">binary integer literals</link>
35 </para>
36 </listitem>
37 </itemizedlist>
38 </sect3>
39
40 <sect3>
41 <title>Compiler</title>
42 <itemizedlist>
43 <listitem>
44 <para>
45 GHC now checks that all the language extensions required for
46 the inferred type signatures are explicitly enabled. This
47 means that if any of the type signatures inferred in your
48 program requires some language extension you will need to
49 enable it. The motivation is that adding a missing type
50 signature inferred by GHC should yield a program that
51 typechecks. Previously this was not the case.
52 </para>
53 <para>
54 This is a breaking change. Code that used to compile in the
55 past might fail with an error message requiring some
56 particular language extension (most likely
57 <option>-XTypeFamilies</option>, <option>-XGADTs</option> or
58 <option>-XFlexibleContexts</option>).
59 </para>
60 </listitem>
61 </itemizedlist>
62 </sect3>
63
64 <sect3>
65 <title>GHCi</title>
66 <itemizedlist>
67 <listitem>
68 <para>
69 TODO FIXME
70 </para>
71 </listitem>
72 </itemizedlist>
73 </sect3>
74
75 <sect3>
76 <title>Template Haskell</title>
77 <itemizedlist>
78 <listitem>
79 <para>
80 TODO FIXME
81 </para>
82 </listitem>
83 </itemizedlist>
84 </sect3>
85
86 <sect3>
87 <title>Runtime system</title>
88 <itemizedlist>
89 <listitem>
90 <para>
91 TODO FIXME
92 </para>
93 </listitem>
94 </itemizedlist>
95 </sect3>
96
97 <sect3>
98 <title>Build system</title>
99 <itemizedlist>
100 <listitem>
101 <para>
102 <literal>ghc-pkg</literal> now respects <option>--user</option>
103 and <option>--global</option> when modifying packages (e.g.
104 changing exposed/trust flag or unregistering). Previously,
105 <literal>ghc-pkg</literal> would ignore these flags and modify
106 whichever package it found first on the database stack. To
107 recover the old behavior, simply omit these flags.
108 </para>
109 </listitem>
110 <listitem>
111 <para>
112 <literal>ghc-pkg</literal> accepts a <option>--user-package-db</option>
113 flag which allows a user to override the location of the user package
114 database. Unlike databases specified using <option>--package-db</option>,
115 a user package database configured this way respects
116 the <option>--user</option> flag.
117 </para>
118 </listitem>
119 </itemizedlist>
120 </sect3>
121 </sect2>
122
123 <sect2>
124 <title>Libraries</title>
125
126 <sect3>
127 <title>array</title>
128 <itemizedlist>
129 <listitem>
130 <para>
131 Version number XXXXX (was 0.5.0.0)
132 </para>
133 </listitem>
134 </itemizedlist>
135 </sect3>
136
137 <sect3>
138 <title>base</title>
139 <itemizedlist>
140 <listitem>
141 <para>
142 Version number XXXXX (was 4.7.0.0)
143 </para>
144 </listitem>
145 </itemizedlist>
146 </sect3>
147
148 <sect3>
149 <title>bin-package-db</title>
150 <itemizedlist>
151 <listitem>
152 <para>
153 This is an internal package, and should not be used.
154 </para>
155 </listitem>
156 </itemizedlist>
157 </sect3>
158
159 <sect3>
160 <title>binary</title>
161 <itemizedlist>
162 <listitem>
163 <para>
164 Version number XXXXX (was 0.7.1.0)
165 </para>
166 </listitem>
167 </itemizedlist>
168 </sect3>
169
170 <sect3>
171 <title>bytestring</title>
172 <itemizedlist>
173 <listitem>
174 <para>
175 Version number XXXXX (was 0.10.4.0)
176 </para>
177 </listitem>
178 </itemizedlist>
179 </sect3>
180
181 <sect3>
182 <title>Cabal</title>
183 <itemizedlist>
184 <listitem>
185 <para>
186 Version number XXXXX (was 1.18.1.3)
187 </para>
188 </listitem>
189 </itemizedlist>
190 </sect3>
191
192 <sect3>
193 <title>containers</title>
194 <itemizedlist>
195 <listitem>
196 <para>
197 Version number XXXXX (was 0.5.4.0)
198 </para>
199 </listitem>
200 </itemizedlist>
201 </sect3>
202
203 <sect3>
204 <title>deepseq</title>
205 <itemizedlist>
206 <listitem>
207 <para>
208 Version number XXXXX (was 1.3.0.2)
209 </para>
210 </listitem>
211 </itemizedlist>
212 </sect3>
213
214 <sect3>
215 <title>directory</title>
216 <itemizedlist>
217 <listitem>
218 <para>
219 Version number XXXXX (was 1.2.0.2)
220 </para>
221 </listitem>
222 </itemizedlist>
223 </sect3>
224
225 <sect3>
226 <title>filepath</title>
227 <itemizedlist>
228 <listitem>
229 <para>
230 Version number XXXXX (was 1.3.0.2)
231 </para>
232 </listitem>
233 </itemizedlist>
234 </sect3>
235
236 <sect3>
237 <title>ghc</title>
238 <itemizedlist>
239 <listitem>
240 <para>
241 Many internal functions in GHC related to package IDs have been
242 renamed to refer to package keys, e.g. <literal>PackageId</literal>
243 is now <literal>PackageKey</literal>, the wired-in names
244 such as <literal>primPackageId</literal> are now
245 <literal>primPackageKey</literal>, etc. This reflects a distinction
246 that we are now making: a package ID is, as before, the user-visible
247 ID from Cabal <literal>foo-1.0</literal>; a package key is now
248 a compiler-internal entity used for generating linking symbols, and
249 may not correspond at all to the package ID. In
250 particular, there may be multiple package keys per
251 package ID.
252 </para>
253 </listitem>
254 </itemizedlist>
255 </sect3>
256
257 <sect3>
258 <title>ghc-prim</title>
259 <itemizedlist>
260 <listitem>
261 <para>
262 Version number XXXXX (was 0.3.1.0)
263 </para>
264 </listitem>
265 </itemizedlist>
266 </sect3>
267
268 <sect3>
269 <title>haskell98</title>
270 <itemizedlist>
271 <listitem>
272 <para>
273 Version number XXXXX (was 2.0.0.3)
274 </para>
275 </listitem>
276 </itemizedlist>
277 </sect3>
278
279 <sect3>
280 <title>haskell2010</title>
281 <itemizedlist>
282 <listitem>
283 <para>
284 Version number XXXXX (was 1.1.1.1)
285 </para>
286 </listitem>
287 </itemizedlist>
288 </sect3>
289
290 <sect3>
291 <title>hoopl</title>
292 <itemizedlist>
293 <listitem>
294 <para>
295 Version number XXXXX (was 3.10.0.0)
296 </para>
297 </listitem>
298 </itemizedlist>
299 </sect3>
300
301 <sect3>
302 <title>hpc</title>
303 <itemizedlist>
304 <listitem>
305 <para>
306 Version number XXXXX (was 0.6.0.1)
307 </para>
308 </listitem>
309 </itemizedlist>
310 </sect3>
311
312 <sect3>
313 <title>integer-gmp</title>
314 <itemizedlist>
315 <listitem>
316 <para>
317 Version number XXXXX (was 0.5.1.0)
318 </para>
319 </listitem>
320 </itemizedlist>
321 </sect3>
322
323 <sect3>
324 <title>old-locale</title>
325 <itemizedlist>
326 <listitem>
327 <para>
328 Version number XXXXX (was 1.0.0.6)
329 </para>
330 </listitem>
331 </itemizedlist>
332 </sect3>
333
334 <sect3>
335 <title>old-time</title>
336 <itemizedlist>
337 <listitem>
338 <para>
339 Version number XXXXX (was 1.1.0.2)
340 </para>
341 </listitem>
342 </itemizedlist>
343 </sect3>
344
345 <sect3>
346 <title>process</title>
347 <itemizedlist>
348 <listitem>
349 <para>
350 Version number XXXXX (was 1.2.0.0)
351 </para>
352 </listitem>
353 </itemizedlist>
354 </sect3>
355
356 <sect3>
357 <title>template-haskell</title>
358 <itemizedlist>
359 <listitem>
360 <para>
361 Version number XXXXX (was 2.9.0.0)
362 </para>
363 </listitem>
364 </itemizedlist>
365 </sect3>
366
367 <sect3>
368 <title>time</title>
369 <itemizedlist>
370 <listitem>
371 <para>
372 Version number XXXXX (was 1.4.1)
373 </para>
374 </listitem>
375 </itemizedlist>
376 </sect3>
377
378 <sect3>
379 <title>unix</title>
380 <itemizedlist>
381 <listitem>
382 <para>
383 Version number XXXXX (was 2.7.0.0)
384 </para>
385 </listitem>
386 </itemizedlist>
387 </sect3>
388
389 <sect3>
390 <title>Win32</title>
391 <itemizedlist>
392 <listitem>
393 <para>
394 Version number XXXXX (was 2.3.0.1)
395 </para>
396 </listitem>
397 </itemizedlist>
398 </sect3>
399 </sect2>
400
401 <sect2>
402 <title>Known bugs</title>
403 <itemizedlist>
404 <listitem>
405 <para>
406 TODO FIXME
407 </para>
408 </listitem>
409 </itemizedlist>
410 </sect2>
411 </sect1>