This project's release branch is master. This log is written from the perspective of the release branch: when changes hit master, they are considered released.
- Add support for aarch64-darwin (apple silicon macs) and aarch64-linux. See docs/platform-support.md for more information about what's supported and what isn't on each platform.
- nixpkgs updated to 22.11
- Breaking change: Disable webkit2gtk backend for reflex-dom by default. To enable it, use the useWebkit2Gtk flag in
default.nix. - Breaking change: Remove deprecated cabal2nixResult
- Haskell Libraries Updates
- reflex-dom 0.6.3.1
- ios: Update ios-deploy to v1.12.2
- Haskell Libraries Updated
- Update android target sdk version to 33
- Haskell Library Updated
- reflex 0.9.2.0
- reflex-vty 0.5.1.0
- reflex-process 0.3.2.1
- reflex-ghci 0.2.0.1
- Update android targetSdk to 31
- Breaking change: GHC 8.10.7 is now selected by default. Set
__useNewerCompilerin default.nix to false if you'd like to keep using GHC 8.6.5. - Haskell Library Updates
- all-cabal-hashes "Update from Hackage at 2023-05-25T12:06:44Z" (f297f1f3)
- reflex 0.9.1.0
- reflex-dom-core 0.8.0.0
- reflex-ghci 0.2.0.0
- reflex-vty 0.4.1.1
- reflex-fsnotify 0.3.0.0
- reflex-process 0.3.2.0
- beam-core 0.10.0.0
- beam-migrate 0.5.2.0
- beam-postgres 0.5.3.0
- beam-automigrate 0.1.3.0
- some 1.0.4
- dependent-sum-template 0.1.2.0
- iOS: Bump SDK version from 15.0 -> 16.1
- Haskell Library Updates
- reflex-dom-core to 0.7.0.3
- aeson to 2.1.1.0
-
Nix
- Update pinned nixpkgs to nixpkgs-21.05
-
Android: Use gradle v7 and build-tools 30.0.2 by default
-
Android: Automatically set build tool version in gradle.properties based on the configured
buildToolsVersions -
Android: Drop aarch32/armv7/armeabi support for 8.10.7 due to upstream ghc bugs (!17973)
- We will continue to support GHC 8.6.5 Android 32-bit
- This means 32-bit android devices are no longer supported on 8.10.7 and up
-
iOS: Make it possible to specify the path to the app's icons and splash images. See
iconPathinios/default.nix -
iOS: Make it possible to build a TestFlight/App Store ready ipa. See
isReleaseinios/default.nix -
iOS: Include Assets Archive if present at
iconPath -
Fix SIGBUS crashes on armv7a due unaligned writes (!774)
-
Always use GHC 8.10.7, not GHC 8.10.4, for GHC 8.10. Previously we were using mixed GHC 8.10 versions to avoid issues.
-
GHC 8.10 support is complete, with the remaining profiling builds that worked for 8.6 (everything but GHCJS's) now also working for 8.10.
-
Breaking Change: The
javaSourcesargument ofandroid/default.nixis now a function that takes the default sources as arguments instead of a list that is always appended to the default sources. It is now possible to override the default java sources. See the documentation here. -
Always use GHC 8.10.7, not GHC 8.10.4, for GHC 8.10. Previously we were using mixed GHC 8.10 versions to avoid issues.
-
GHC 8.10 support is complete, with the remaining profiling builds that worked for 8.6 (everything but GHCJS's) now also working for 8.10.
-
GHCJS 8.6 no longer uses older versions of some libraries with "text JS-string"
dlistghcjs-baseghcjs-baseprimitivevector- hashable Instead it uses the same versions as everything else.
-
Haskell Library Updates
- Intentional bumps:
- all-cabal-hashes "Update from Hackage at 2022-06-29T01:24:32Z"
- dependent-monoidal-map to 0.1.1.3
- dependent-sum-aeson-orphans to 0.3.1.1
- dependent-sum-template to 0.1.1.0
- monoidal-containers to 0.6.2.0
- patch to 0.0.8.0
- reflex to 0.8.2.2
- reflex-dom-core to 0.7.0.2
- reflex-ghci to 0.1.5.4
- reflex-process to 0.3.1.2
- reflex-vty to 0.3.0.0
- some to 1.0.2
- vessel to 0.3.0.0
- witherable to 0.4.2
- Prerequisite bumps:
- OneTuple 0.3.1
- QuickCheck 2.14.1
- aeson 1.5.4.1
- base-orphans 0.8.6
- bifunctors 5.5.11
- commutative-semigroups (newly added at 0.1.0.0)
- comonad 5.0.8
- generic-deriving 1.14.1
- hashable 1.3.5.0
- index-traversable 0.1.2
- invariant 0.5.5
- lens 4.19.2
- microlens-th 0.4.3.10
- quickcheck-instances 0.3.27
- splitmix 0.1.0.4
- strict 0.4.0.1
- tagged 0.8.6.1
- th-abstraction 0.4.3.0
- th-lift 0.8.2
- time-compat 1.9.4
- Intentional bumps:
- Bump
- reflex-dom-core to 0.7.0.0.
- reflex-dom to 0.6.1.1-r1
-
Add a partial preview of GHC 8.10 support, not on by default.
- native: linux and macOS
- iOS, unprofiled only
- android, unprofiled only
- Add GHCJS 8.10.7
-
Bump
- reflex to 0.8.2.0
- reflex-dom-core to 0.6.3.0
- reflex-dom to 0.6.1.1
- reflex-vty to 0.2.0.0
- reflex-process to 0.3.1.1
- reflex-ghci to 0.1.5.2
- cabal-macosx to 0.2.4.2
- all-cabal-hashes ("Update from Hackage at 2021-12-22T18:48:06Z")
- beam-automigrate to 0.1.2.0
- beam-core to 0.9.1.0
- beam-migrate to 0.5.1.0
- beam-postgres to 0.5.1.0
- pandoc to 2.16.2
-
New pins
- ghcjs-promise 0.1.0.3
- Bump
- Nixpkgs to 20.09
- Fix pure Nix evaluation.
- Bug fix relating to
preBuildhook when TH splicing.
- Just fixing a change log entry.
- Bump
- Nixpkgs to 20.03
- Add more hooks to android Native APIs
- Bump
- Nixpkgs to newer 19.09
- patch to 0.0.4.0
- (#731) Choose iOS simulator runtime based on supported devices
- Bump
- reflex to 0.8.1.0
- reflex-dom-core to 0.6.2.0
- jsaddle to 0.9.7.1
- jsaddle-dom to 0.9.4.1
- New pins
- hnix 0.12.0.1 and dependencies
- dependent-monoidal-map 0.1.1.2
- Bump
- all-cabal-hashes ("Update from Hackage at 2020-12-01T14:56:13Z")
- beam-core to 0.9.0.0
- beam-migrate to 0.5.0.0
- beam-postgres to 0.5.0.0
- New pins
- beam-automigrate 0.1.0.0
- Android
- Add allowBackup/fullBackupContent to manifest
- Bump gradle to v3.4.0 and upgrade related maven dependencies
- Allow maven dependencies to be overridden
- Copy google-services.json to the location expected by google integrations
- Disable multi-dex on android builds (see note)
- Update to android sdk version 29
- iOS
- Copy default splash screen images and app icon into sample application
- Make ios-deploy tool overridable
- Update iosSdkVersion to 13.2
- Make xcode version customizable
- Remove ResourceRules.plist as it is no longer necessary
- Set CFBundleIconName as required by App Store
- Add portable-deploy script for iOS for creating a pre-signed tarball which can be tested without Nix.
- Add iOS Simulator target
- Bump
- all-cabal-hashes ("Update from Hackage at 2020-11-06T16:55:57Z")
- which to 0.2.0.0
- gargoyle to 0.1.1.0
- gargoyle-postgresql to 0.2.0.1
- gargoyle-postgresql-nix to 0.3.0.0
- aeson-gadt-th to 0.2.4
- reflex-ghci to 0.1.5.1
- constraints-extras to 0.3.0.2
- some to 1.0.1
- prim-uniq to 0.2
- aeson-gadt-th to 0.2.4
- dependent-map to 0.4
- dependent-sum to 0.7.1.0
- dependent-sum-template to 0.1.0.3
- dependent-sum-aeson-orphans to 0.3.0.0
- reflex to 0.7.2.0
- reflex-vty to 0.1.4.1
- patch to 0.0.3.2
- reflex-dom to 0.6.1.0
- reflex-fsnotify to 0.2.1.2
- reflex-process to 0.3.1.0
- New Pins
- gargoyle-postgresql-connect 0.1.0.0
- (#658) Include infrastructure for experimental WebGHC support.
- (#664) Update GHCJS to include a critical bugfix to the
-dedupeflag. (See obsidiansystems/ghcjs#3 for more information.) - Bump
all-cabal-hashesto more recent snapshot of Hackage.reflexto 0.7.1.0.reflex-dom/reflex-dom-coreto 0.6.0.0.reflex-fsnotifyto 0.2.1.1.reflex-ghcito 0.1.4.1.reflex-processto 0.3.0.0.reflex-vtyto 0.1.4.0.android-activity. It now detects the number of cores on Android devices to utilize them better.- pandoc to 2.11.0.2 (bumping various dependencies as well)
- Remove support for haskell-ide-engine
- (#578) Bump
patchto0.0.3.1. - (#649, #655) Update
hackGetto support thunks withthunk.nixwhen packed.
-
Fix issues with iOS deploy script caused by the
opensslcommand sometimes resolving to OpenSSL and other times to LibreSSL, which output parsed X.509 certificates in slightly different formats. Now it always uses LibreSSL as provided by Nixpkgs. -
Throw an error in
hackGetwhen files other than thegit/github.jsonanddefault.nixare there. This is a common problem whengit/github.jsonexist in an unpacked thunk. -
Add missing dependencies for Android release builds, fixing the problem with full Android release being broken.
-
Allow passing signing parameters to the Android deploy script, instead of Nix build scripts, to match iOS deployments. This can help to avoid leaking secrets into the Nix store, important when the Nix store is publicly readable.
-
Fix builds of
servantin GHCJS. -
Bump
reflexto0.6.4.1. -
Bump
reflex-processto 0.2.1.0 andreflex-ghcito 0.1.4.0.
- Bump
reflexto0.6.4.
-
Add haskell overlay for
reflex-ghciand include it in the general dev tools set that is available in development shells (e.g., when runningwork-on) -
Make script iOS deploy more flexible. Splaces on either side of the
=printed out by Apple'ssecurity find-certificatecommand for the team ID are now accepted. -
Bump
reflex-processto0.2.0.0, a breaking change though small. -
Bump
patchto0.0.2.0.
-
Add haskell overlays for
reflex-process,reflex-fsnotify, andreflex-vty -
Bump
jsaddle*to0.9.7.0. -
Test profiling in
release.nix. Jobs names were shuffled in the process, which is acceptible as this file is not intended to be comsumed by anything but CI and QA. Add a note explaining that instability. -
Bump
reflex-todomvc -
Support both
Apple DevelopmentandiPhone Developerprofiles on iOS deploy. If you have many certificates it will take the first one it finds, for that reason it is recommended to put certificates in a user login keychain instead of the system one in multi-user machines.
-
Make Nixpkgs treat GHCJS builds as cross. This will fix things like
setup-dependsandbuild-tool-dependsbeing properly built with GHC rather than GHCJS. That, in turn, will allowmarkdown-unlitREADMEs and other things that we had trouble with. -
Bump cabal-macosx to correctly use the host platform rather than build platform to decide whether its appropriate to make a desktop app bundle.
- Bump nixpkgs to 19.09. This will bump the versions of numerous packages, including much of Hackage.
-
Bump ghcjs-dom packages:
ghcjs-domto0.9.4.0ghcjs-dom-jsaddleto0.9.4.0ghcjs-dom-jsffito0.9.4.0jsaddle-domto0.9.4.0
-
Bump aeson, and other packages to work with it:
aesonto1.4.5.0time-compatto1.9.2.2hpackto0.32.0webdriverto0.9.0.1
-
Bump ghc to include more
8.6backports
-
Upgrade reflex packages:
reflexto0.6.3reflex-domto0.5.3reflex-dom-coreto0.5.3
-
Document how to accept android sdk license agreement and pass acceptance through to android infrastructure.
-
Update to GHC(JS) 8.6.5
- Apply workaround patch for ghc#16893, avoiding segmentation fault when using base.
-
Update to the nixos-19.03 nixpkgs channel
-
Update to gradle build tools 3.1.0, androidsdk 9, and default to android platform version 28
-
Bump reflex-dom 0.5.2
-
Fixes an inconsistency between nix-shell and nix-build where certain Haskell build tools were not being overriden (#548
-
Removing long-since-broken
nixpkgs.haskell.compiler.ghcSplicesattribute, leaving behindnixpkgs.haskell.compiler.ghcSplices-8_6, which is its intended replacement. -
Add optional
runtimeSharedLibsparameter tobuildApp. See that function's documentation for how to use it. -
zlibfor mobile doesn't provide any*.so/.dylib, that way you are guaranteed to link the.aand not one of the others by mistake. -
Fix work-on-multi to respect the do-check of the haskell-config derivations
-
The following attributes have been deprecated in
default.nix, and are now defined innix-utils/hackage.nix:attrsToListmapSetmkSdistsdistsmkHackageDocshackageDocsmkReleaseCandidatereleaseCandidates
These are only useful to the maintainers of packages in reflex platform, and just clutter the top level for everyone else.
-
Deprecate:
generalDevToolsgeneralDevToolsAttrsnativeHaskellPackages
And make
generalDevTools'as a replacement for justgeneralDevToolsAttrswith a more structured argument.The are exposed for now for backwards compat, but will be removed at a later point. They are mainly used in the implementation of the
work-on*scripts. -
The following attributes have been deprecated in
default.nix, and are now defined innix-utils/work-on-multi.nix:workOnMultiworkOnMulti'
If you just used
script/work-on-multi, nothing has changed. But if you do use the nix attributes directly, see how the deprecated exports are written to migrate your code to not use them.
-
Move git "thunks" to
dep/dirs within each overlay, rather than one bigdep/directory at the top level. This does make checking out thunks a bit more involved, but has the benefit of untangling reflex-platform a bit and making it more modular. -
Many of the overlays have a
_depattribute with all the source derivations introduced by the overlay. This is just sorelease.nixcan build all the sources, ensuring that these build-time dependencies also make it to the cache. This attribute is not intended to be overridden by consumers of reflex-platform. In particular it's possible the way we now push to the cache doesn't need this, and it will be removed entirely. -
Remove support for GHCs older than 8.4.