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
__useNewerCompiler
in 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
iconPath
inios/default.nix
-
iOS: Make it possible to build a TestFlight/App Store ready ipa. See
isRelease
inios/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
javaSources
argument ofandroid/default.nix
is 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"
dlist
ghcjs-base
ghcjs-base
primitive
vector
- 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
preBuild
hook 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
-dedupe
flag. (See obsidiansystems/ghcjs#3 for more information.) - Bump
all-cabal-hashes
to more recent snapshot of Hackage.reflex
to 0.7.1.0.reflex-dom
/reflex-dom-core
to 0.6.0.0.reflex-fsnotify
to 0.2.1.1.reflex-ghci
to 0.1.4.1.reflex-process
to 0.3.0.0.reflex-vty
to 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
patch
to0.0.3.1
. - (#649, #655) Update
hackGet
to support thunks withthunk.nix
when packed.
-
Fix issues with iOS deploy script caused by the
openssl
command 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
hackGet
when files other than thegit/github.json
anddefault.nix
are there. This is a common problem whengit/github.json
exist 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
servant
in GHCJS. -
Bump
reflex
to0.6.4.1
. -
Bump
reflex-process
to 0.2.1.0 andreflex-ghci
to 0.1.4.0.
- Bump
reflex
to0.6.4
.
-
Add haskell overlay for
reflex-ghci
and 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-certificate
command for the team ID are now accepted. -
Bump
reflex-process
to0.2.0.0
, a breaking change though small. -
Bump
patch
to0.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 Development
andiPhone Developer
profiles 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-depends
andbuild-tool-depends
being properly built with GHC rather than GHCJS. That, in turn, will allowmarkdown-unlit
READMEs 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-dom
to0.9.4.0
ghcjs-dom-jsaddle
to0.9.4.0
ghcjs-dom-jsffi
to0.9.4.0
jsaddle-dom
to0.9.4.0
-
Bump aeson, and other packages to work with it:
aeson
to1.4.5.0
time-compat
to1.9.2.2
hpack
to0.32.0
webdriver
to0.9.0.1
-
Bump ghc to include more
8.6
backports
-
Upgrade reflex packages:
reflex
to0.6.3
reflex-dom
to0.5.3
reflex-dom-core
to0.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.ghcSplices
attribute, leaving behindnixpkgs.haskell.compiler.ghcSplices-8_6
, which is its intended replacement. -
Add optional
runtimeSharedLibs
parameter tobuildApp
. See that function's documentation for how to use it. -
zlib
for mobile doesn't provide any*.so
/.dylib
, that way you are guaranteed to link the.a
and 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
:attrsToList
mapSet
mkSdist
sdists
mkHackageDocs
hackageDocs
mkReleaseCandidate
releaseCandidates
These are only useful to the maintainers of packages in reflex platform, and just clutter the top level for everyone else.
-
Deprecate:
generalDevTools
generalDevToolsAttrs
nativeHaskellPackages
And make
generalDevTools'
as a replacement for justgeneralDevToolsAttrs
with 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
:workOnMulti
workOnMulti'
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
_dep
attribute with all the source derivations introduced by the overlay. This is just sorelease.nix
can 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.