Zubin pushed to branch wip/ghc-9.14-final at Glasgow Haskell Compiler / GHC

Commits:

2 changed files:

Changes:

  • configure.ac
    ... ... @@ -22,7 +22,7 @@ AC_INIT([The Glorious Glasgow Haskell Compilation System], [9.14.0], [glasgow-ha
    22 22
     AC_CONFIG_MACRO_DIRS([m4])
    
    23 23
     
    
    24 24
     # Set this to YES for a released version, otherwise NO
    
    25
    -: ${RELEASE=NO}
    
    25
    +: ${RELEASE=YES}
    
    26 26
     
    
    27 27
     # The primary version (e.g. 7.5, 7.4.1) is set in the AC_INIT line
    
    28 28
     # above.  If this is not a released version, then we will append the
    

  • docs/users_guide/9.14.1-notes.rst
    ... ... @@ -110,6 +110,9 @@ Language
    110 110
     - Explicit level import support, allowing ``import`` declarations to explicitly
    
    111 111
       state which compilation stages they are are visible to.
    
    112 112
     
    
    113
    +- Fix handling of tabs in string gaps (:ghc-ticket:`26415`). Tabs are now
    
    114
    +  correctly treated as whitespace in string gaps, matching the Haskell Report.
    
    115
    +
    
    113 116
     Compiler
    
    114 117
     ~~~~~~~~
    
    115 118
     
    
    ... ... @@ -160,6 +163,23 @@ Compiler
    160 163
     
    
    161 164
     - Initial native code generator support for the LoongArch CPU architecture.
    
    162 165
     
    
    166
    +- Several fixes to :extension:`DeepSubsumption` type checking, improving handling
    
    167
    +  of higher-rank types in various contexts (:ghc-ticket:`26225`, :ghc-ticket:`26255`,
    
    168
    +  :ghc-ticket:`26277`, :ghc-ticket:`26331`, :ghc-ticket:`26332`).
    
    169
    +
    
    170
    +- Fix a scoping error in the Specialiser that could cause incorrect code generation
    
    171
    +  with :ghc-flag:`-fpolymorphic-specialisation` (:ghc-ticket:`26329`).
    
    172
    +
    
    173
    +- Fix a long-standing bug in the coercion optimiser that could produce invalid
    
    174
    +  coercions for ``ForAllCo`` (:ghc-ticket:`26345`).
    
    175
    +
    
    176
    +- Fix the type-family occurs check in unification (:ghc-ticket:`26457`).
    
    177
    +
    
    178
    +- Fix solving of forall-constraints (quantified constraints) to avoid infinite
    
    179
    +  loops in certain cases (:ghc-ticket:`26314`, :ghc-ticket:`26315`, :ghc-ticket:`26376`).
    
    180
    +
    
    181
    +- Fix reporting of redundant constraints on default-method declarations
    
    182
    +  (:ghc-ticket:`25992`).
    
    163 183
     
    
    164 184
     GHCi
    
    165 185
     ~~~~
    
    ... ... @@ -188,6 +208,12 @@ GHCi
    188 208
         debugging clients
    
    189 209
       * Internal refactorings towards making the debugger multi-thread aware (:ghc-ticket:`26064`)
    
    190 210
     
    
    211
    +- Fix bytecode generation for unsaturated applications of data constructor
    
    212
    +  workers (:ghc-ticket:`23210`).
    
    213
    +
    
    214
    +- Fix bytecode to use 32 bits for breakpoint indices, allowing more breakpoints
    
    215
    +  in large modules (:ghc-ticket:`26325`).
    
    216
    +
    
    191 217
     WebAssembly backend
    
    192 218
     ~~~~~~~~~~~~~~~~~~~
    
    193 219
     
    
    ... ... @@ -201,6 +227,18 @@ See the blog post on `Tweag's blog
    201 227
     <https://www.tweag.io/blog/2025-04-17-wasm-ghci-browser/>`_ for more
    
    202 228
     information.
    
    203 229
     
    
    230
    +- Fix handling of forward declared ``GOT.func`` items in the wasm dynamic
    
    231
    +  linker (:ghc-ticket:`26430`).
    
    232
    +
    
    233
    +- Fix ``setKeepCAFs()`` to be properly called during wasm GHCi initialization
    
    234
    +  (:ghc-ticket:`26106`).
    
    235
    +
    
    236
    +- Fix JSFFI initialization constructor code to avoid clashing with user-defined
    
    237
    +  main functions.
    
    238
    +
    
    239
    +- Improve error handling in the JavaScript linker when library directories
    
    240
    +  are misconfigured (:ghc-ticket:`26383`).
    
    241
    +
    
    204 242
     Runtime system
    
    205 243
     ~~~~~~~~~~~~~~
    
    206 244
     
    
    ... ... @@ -212,17 +250,44 @@ Runtime system
    212 250
     - Reorganise how certain symbols are linked to avoid a bootstrapping failure
    
    213 251
       with the linker shipping newer macOS versions (:ghc-ticket:`26166`)
    
    214 252
     
    
    253
    +- Fix eager black holes handling: properly record mutated closures and fix
    
    254
    +  an incorrect assertion that could cause issues with multiple threads racing
    
    255
    +  to claim a black hole (:ghc-ticket:`26495`)
    
    256
    +
    
    257
    +- Fix the Windows runtime linker to copy DLL path strings before inserting
    
    258
    +  them into the cache, preventing use-after-free issues (:ghc-ticket:`26613`)
    
    259
    +
    
    260
    +- Fix lost wakeups in ``threadPaused`` for threads blocked on black holes,
    
    261
    +  which could cause hangs in concurrent programs (:ghc-ticket:`26324`).
    
    262
    +
    
    263
    +- Fix heap reservation logic on POSIX systems to avoid infinite loops when
    
    264
    +  the OS repeatedly returns low memory addresses (:ghc-ticket:`26151`).
    
    265
    +
    
    266
    +- Fix handling of ``WHITEHOLE`` closures in ``scavenge_one`` when using the
    
    267
    +  non-moving garbage collector (:ghc-ticket:`26204`).
    
    268
    +
    
    269
    +- Fix alignment for ``gen_workspace`` on s390x to allow bootstrap on that
    
    270
    +  platform (:ghc-ticket:`26334`).
    
    271
    +
    
    272
    +- Push the correct update frame type in ``stg_AP_STACK`` for eager black holes.
    
    273
    +
    
    215 274
     ``base`` library
    
    216 275
     ~~~~~~~~~~~~~~~~
    
    217 276
     
    
    218 277
     - Updated to `Unicode 17.0.0 <https://www.unicode.org/versions/Unicode17.0.0>`_.
    
    219 278
     
    
    279
    +- Removed unstable heap representation details from ``GHC.Exts`` (:ghc-ticket:`25110`).
    
    280
    +
    
    220 281
     ``ghc-prim`` library
    
    221 282
     ~~~~~~~~~~~~~~~~~~~~
    
    222 283
     
    
    223 284
     ``ghc-prim`` is now a legacy interface providing access to primitive operations
    
    224 285
     and types which are now also exposed via the ``ghc-experimental`` package.
    
    225 286
     
    
    287
    +- A new primop ``annotateStack#`` has been added, allowing arbitrary data to be
    
    288
    +  pushed onto the call stack for later extraction when decoding stack traces
    
    289
    +  (:ghc-ticket:`26218`).
    
    290
    +
    
    226 291
     ``ghc`` library
    
    227 292
     ~~~~~~~~~~~~~~~
    
    228 293
     
    
    ... ... @@ -263,6 +328,16 @@ and types which are now also exposed via the ``ghc-experimental`` package.
    263 328
       reading of the relevant Closure attributes without reliance on incomplete
    
    264 329
       selectors.
    
    265 330
     
    
    331
    +* Fix a race condition with profiling builds (:ghc-ticket:`15197`, :ghc-ticket:`26407`).
    
    332
    +
    
    333
    +* Fix stack decoding when using the profiled runtime (:ghc-ticket:`26507`).
    
    334
    +
    
    335
    +``ghc-internal`` library
    
    336
    +~~~~~~~~~~~~~~~~~~~~~~~~
    
    337
    +
    
    338
    +* Fix ``naturalAndNot`` for the ``NB``/``NS`` (native bignum) case
    
    339
    +  (:ghc-ticket:`26230`).
    
    340
    +
    
    266 341
     ``ghc-experimental`` library
    
    267 342
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    268 343