Releases: obsidiansystems/obelisk
v0.9.0.1
v0.9.0.0
v0.9.0.0
- (Breaking change) Backport nixpkgs upgrades to ACME/Let's Encrypt handling so that HTTPS deployments continue to work flawlessly. If your deployment is having trouble renewing Let's Encrypt certificates, upgrade to this version.
- IMPORTANT: In order to use Let's Encrypt you must now accept their terms of service. To do that, add
terms.security.acme.acceptTerms = true;
to theimport ./.obelisk/impl {
section in yourdefault.nix
. The new skeleton application may serve as an example.
- IMPORTANT: In order to use Let's Encrypt you must now accept their terms of service. To do that, add
- Update reflex-platform dependency to v0.6.0.0
- (#715) In
Obelisk.Route
deprecateisoEncoder
andprismEncoder
in favor of more precisely namedviewEncoder
andreviewEncoder
(respectively) and improve documentation regarding contravariance ofreviewEncoder
. - (#739) Improve
ob shell
by allowing commands to be passed verbatim after a--
argument. For example,ob shell 'run command'
can now be writtenob shell -- run command
. - (#735) Fix regression causing custom
Prelude
s to breakob run
/ob watch
/ob repl
. - (#737) Fix bug causing custom
Prelude
s to breakob profile
. - (#752) Fix the
ob
command-line tool to return non-zero exit code when underlying processes fail. - (#742, #57, #406) Enable
-dedupe
and-DGHCJS_BROWSER
in GHCJS builds to make JavaScript output considerably smaller leading to faster load/parse times and faster build times.- Migration: New Obelisk projects will automatically benefit from this change, but existing projects need to apply a change similar to this one.
- (#742) Update
reflex-platform
which includes:- A new version of GHCJS where
-dedupe
is fixed.
- A new version of GHCJS where
v0.8.0.0
-
(#674, #711) Introduce a new thunk format to support accessing the thunk's source directly when packed. When packed, thunks have an additional file called
thunk.nix
anddefault.nix
is now a thin wrapper around that. -
(#665) Add
--interpret
and--no-interpret
options toob run
/ob watch
/ob repl
/ob shell
. These options allow you to pick which paths will be pre-compiled bynix
when entering the shell/session and which won't. For exampleob run --no-interpret dep
will ensure that any dependencies found in./dep
will be built bynix
before loading the rest of the project into theghci
session. The same configuration forob shell
will ensure that those packages are built and available in theghc
package database inside the shell.NOTE:
ob shell
's default behavior is now different. By default it now behaves likeob run
/ob watch
/ob repl
in that it does not pre-build any packages whose.cabal
orpackage.yaml
files are found in the project. To regain the previous behavior, useob shell --no-interpret . --interpret backend --interpret common --interpret frontend
from the project root. -
(#695)
ob deploy init
now requires that your obelisk project be a cleangit
checkout with pushed changes. It has always required that your obelisk project be agit
repository, but it did not require that your local changes be committed and pushed. This new requirement is added to ensure users don't accidentally create a deployment pointing to an old version of the project. -
(#705) Add
Obelisk.Route.packTextEncoder
and generalizeObelisk.Route.unpackTextEncoder
over anyData.Text.Lens.IsText
. -
(#712) Update
reflex-platform
to version 0.5.3.0. -
(#700) Ensure
ob init
uses the thunk format of the target obelisk rather than the one currently running the init command. If a user had installed a version of obelisk with a new thunk format, a newly initialized skeleton of an older version would not be able to unpack it's own.obelisk/impl
. -
(#693) Fix a bug where some packages in
.attr-cache
directories would be incorrectly picked up and used instead of the correct ones when usingob run
/ob watch
/ob repl
. -
(#709) Fix a bug in obelisk's preprocessor causing it to incorrectly skip files in some circumstances.
-
(#663) Add experimental support for
ghcide
. See the README for more information. -
(#714) Miscellaneous improvements to CLI help and logging.
v0.7.0.1
v0.7.0.0
- Fully support HTTP Range requests on static assets to support Safari. (#664)
- Support non-EC2 deployments. (#658)
- Fix
ob deploy test android
to work. (#645) - Fix vulnerability where Android deployments would leave signing keys in the nix store which is world readable. (#645) (Thanks to kmicklas for the report.)
- Add
Obelisk.Backend.runBackendWith
to allow several customizations. (#668, #644) - Add
ob profile
command to run Obelisk projects with profiling.ob profile
works likeob run
, but instead of usingghci
, it builds an executable that is built with profiling enabled. (#654) - Obelisk's
default.nix
now exposesmkAssets
function which is used to construct the assets served by an Obelisk application. (#651) - Bump reflex-platform to v0.5.2.0. (#671)
v0.6.0.0
-
Fix a bug in
Obelisk.Route.Frontend
whererouteLink
,routeLinkDynAttr
, anddynRouteLink
would not behave exactly like<a href="...">
when run by JavaScript. These functions now scroll to the top of the page when the link is clicked. (#540) -
Fix a bug in
ob run
/ob watch
/ob repl
where nested Obelisk projects would also be loaded into the session. These are now ignored. (#652) -
Improve behavior of
ob run
/ob watch
/ob repl
when multiple packages with the same name are encountered. Obelisk now issues a warning and tells you which one it will use. (#653) -
Removed
Obelisk.Backend.mkRouteToUrl
since it is easily written in terms ofObelisk.Route.renderObeliskRoute
:mkRouteToUrl validFullEncoder (k :/ v) = renderObeliskRoute validFullEncoder (FullRoute_Frontend (ObeliskRoute_App k) :/ v)
-
Add
Obelisk.Backend.renderAllJsPath
to expose URL path toghcjs/all.js
. (#545) -
Add argument to
serveDefaultObeliskApp
,serveObeliskApp
, andserveGhcjsApp
to take the path toall.js
instead of hard-coding it. (#545)
v0.5.0.0
- Add
Obelisk.Route.(?/)
, a convenience function for constructing routes nested inMaybe
. (#457) - Add local unpacked packages to the
ob run
,ob watch
, andob repl
sessions. Any.cabal
or hpack package inside the current obelisk project will be loaded into the session. Forob run
/ob watch
this means the session will automatically reload when you save a source file in any of those packages. Forob repl
it means that:r
will reload changes to any of those packages. There are some edge cases where this integration is still rough. Report any issues you encounter. (#489) - Add
ob hoogle
command to start a local Hoogle server for the project. (#628) ob thunk pack
will now attempt to automatically detect if the thunk is a private or public repo. To avoid this detection, specify--private
or--public
manually. (#607)- Fix a bug in the plain git thunk loader for thunks marked as 'private' when the revision is not in the default branch. (#648)
- Improve handling of runtime nix dependencies. This may fix some issues encountered particularly by users on systems other than NixOS.
v0.4.0.0
- Bump reflex-platform which, notably, bumps nixpkgs to 19.09. (#585)
- Add new thunk loader for Git repositories that supports
file://
Git remotes and supports private repositories viabuiltins.fetchGit
for private repositories (when thegit.json
file specifies"private": true
). (#594) - Add a new thunk loader for GitHub repositories that uses
builtins.fetchTarball
for public repositories to increase loader performance and usesfetchFromGitHub
for private repositories (when thegithub.json
file specifies"private": true
). Note thatfetchFromGitHub
requires some Nix configuration for the Nix builder to access the repository. Ifob thunk pack
fails in this case, use-v
to see Nix's helpful message. (#594) - Add
--public
/--private
options toob thunk pack
to specify if a repository should be treated as a public or private. (#594) - Improve error messaging when a dependency doesn't have the expected
.cabal
orpackage.yaml
file. (#597) - Improve the skeleton in small ways. (#593, #589)
- Fix
ob
commands to again support running from any subdirectory of an obelisk project (#591) - Add
reflex-platform-func
argument to Obelisk'sdefault.nix
. It defaults to it's prior behavior of using the reflex-platform in indep
. (#612)
v0.3.0.0
- Generalised
pathSegmentEncoder
, addedpathFieldEncoder
. - Added some
Prism
s to the encoder library for manipulatingDSum
s. - Add
ob doc
command, which lists paths to haddock documentation for specified packages. - Bump reflex-platform so that obelisk now uses GHC 8.6.5 and the nixos-19.03 nixpkgs set.
- Add support in
obelisk-route
for single parameters in URL paths. - Bump reflex-platform so that obelisk now uses reflex-dom 0.5.2.0.
- Use a
--pure
nix shell inob run
for parity withob repl
and more resilience against "works on my machine". - Pin usages of
<nixpkgs>
in obelisk thunks, etc. to the nixpkgs used by the project's obelisk impl. - Backport ACMEv2 support in obelisk server to regain LetsEncrypt account creation.
- Enable HTTPS in
ob run
. ob run
now handlesghci
errors better, and includes a customghcid
version. As a result, you no longer need to have ghcid installed to
useob run
, as we provide one for you.ob
commands now complain less on systems with umasks other than0022
.- Ignore package environment files in
ob run
andob repl
. - Add
Obelisk.Route.Frontend.routeLinkDynAttr
.
v0.2.0.0
Merge branch 'develop'