Skip to content

Releases: obsidiansystems/obelisk

v0.9.0.1

23 Oct 00:56
Compare
Choose a tag to compare

v0.9.0.1

  • (#810) Fix loading of all.js in fully compiled web apps.

v0.9.0.0

20 Oct 12:46
9f9c11d
Compare
Choose a tag to compare

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 the import ./.obelisk/impl { section in your default.nix. The new skeleton application may serve as an example.
  • Update reflex-platform dependency to v0.6.0.0
  • (#715) In Obelisk.Route deprecate isoEncoder and prismEncoder in favor of more precisely named viewEncoder and reviewEncoder (respectively) and improve documentation regarding contravariance of reviewEncoder.
  • (#739) Improve ob shell by allowing commands to be passed verbatim after a -- argument. For example, ob shell 'run command' can now be written ob shell -- run command.
  • (#735) Fix regression causing custom Preludes to break ob run/ob watch/ob repl.
  • (#737) Fix bug causing custom Preludes to break ob 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.

v0.8.0.0

23 Apr 19:10
v0.8.0.0
d9df151
Compare
Choose a tag to compare
  • (#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 and default.nix is now a thin wrapper around that.

  • (#665) Add --interpret and --no-interpret options to ob run/ob watch/ob repl/ob shell. These options allow you to pick which paths will be pre-compiled by nix when entering the shell/session and which won't. For example ob run --no-interpret dep will ensure that any dependencies found in ./dep will be built by nix before loading the rest of the project into the ghci session. The same configuration for ob shell will ensure that those packages are built and available in the ghc package database inside the shell.

    NOTE: ob shell's default behavior is now different. By default it now behaves like ob run/ob watch/ob repl in that it does not pre-build any packages whose .cabal or package.yaml files are found in the project. To regain the previous behavior, use ob 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 clean git checkout with pushed changes. It has always required that your obelisk project be a git 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 generalize Obelisk.Route.unpackTextEncoder over any Data.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 using ob 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

22 Mar 23:48
0aaa9c8
Compare
Choose a tag to compare
  • Fix the version number for ob the command-line tool. (#679)

v0.7.0.0

19 Mar 14:30
83d20a9
Compare
Choose a tag to compare
  • 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 like ob run, but instead of using ghci, it builds an executable that is built with profiling enabled. (#654)
  • Obelisk's default.nix now exposes mkAssets 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

20 Feb 16:24
fc876df
Compare
Choose a tag to compare
  • Fix a bug in Obelisk.Route.Frontend where routeLink, routeLinkDynAttr, and dynRouteLink 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 of Obelisk.Route.renderObeliskRoute:

    mkRouteToUrl validFullEncoder (k :/ v) = renderObeliskRoute validFullEncoder (FullRoute_Frontend (ObeliskRoute_App k) :/ v)
    
  • Add Obelisk.Backend.renderAllJsPath to expose URL path to ghcjs/all.js. (#545)

  • Add argument to serveDefaultObeliskApp, serveObeliskApp, and serveGhcjsApp to take the path to all.js instead of hard-coding it. (#545)

v0.5.0.0

07 Feb 22:58
57fd855
Compare
Choose a tag to compare
  • Add Obelisk.Route.(?/), a convenience function for constructing routes nested in Maybe. (#457)
  • Add local unpacked packages to the ob run, ob watch, and ob repl sessions. Any .cabal or hpack package inside the current obelisk project will be loaded into the session. For ob run/ob watch this means the session will automatically reload when you save a source file in any of those packages. For ob 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

10 Jan 22:58
5c29c50
Compare
Choose a tag to compare
  • 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 via builtins.fetchGit for private repositories (when the git.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 uses fetchFromGitHub for private repositories (when the github.json file specifies "private": true). Note that fetchFromGitHub requires some Nix configuration for the Nix builder to access the repository. If ob thunk pack fails in this case, use -v to see Nix's helpful message. (#594)
  • Add --public/--private options to ob 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 or package.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's default.nix. It defaults to it's prior behavior of using the reflex-platform in in dep. (#612)

v0.3.0.0

20 Dec 19:42
070cde8
Compare
Choose a tag to compare
  • Generalised pathSegmentEncoder, added pathFieldEncoder.
  • Added some Prisms to the encoder library for manipulating DSums.
  • 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 in ob run for parity with ob 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 handles ghci errors better, and includes a custom ghcid
    version. As a result, you no longer need to have ghcid installed to
    use ob run, as we provide one for you.
  • ob commands now complain less on systems with umasks other than 0022.
  • Ignore package environment files in ob run and ob repl.
  • Add Obelisk.Route.Frontend.routeLinkDynAttr.

v0.2.0.0

18 Aug 02:25
Compare
Choose a tag to compare
Merge branch 'develop'