- generation of testable Genie apps
- better loading of secrets
- bug fixes
- removed broken hooks from web sockets routing
- better exception handling in FileSessions.jl
- Secure => true sessions flag
- reexport Router
- support for running the HTTP/S and WS/S on the same port
- Renderer.Http does not output attributes with value
nothing
- for new apps
config.server_handle_static_files
is enabled by default in production but warns (previously false) - removed outdated asset pipeline files from
files/
- added Requests.getheaders
- added Requests.getrequest
- deps update
- removed Revise from where not used
- added support for SSL to Genie apps
- added SSL initializer
- bundled localhost cert and key
- automatically forwarding all extra arguments from
Genie.up
toHTTP.serve
HTTP.listen
- added tests
- fixed failing tests
- improved content negotiation and default error responses
- new html() method, combining string view and file layout
- removed forgotten debug @show from Plugins
- fixed issue with tags being stripped away
- fixed issue with missing <!DOCTYPE>
- deps update
Router.get_route
warns by default when named route not found (previously errored)- fixed issue with emtpy SECRET_TOKEN
- Session improvements
- more tests
- Markdown views fixes
- fixed
Genie.serve
for serving static websites - fixed issue with cookie encryption/decryption
- support for "inline" markdown views
- more tests
- fix issue with CORS "*"
- documentation improvements
- doc comments
- names of apps and resources are automatically cleaned (illegal Julia vars chars removed)
- support for file uploads with UTF-8 chars
- deps updates
- docs updates
- bug fixes
- performance improvements
- deps update
- refactoring of the Rendering engine (breaking)
- deps update
- enhanced support for WebChannels and websockets operations
- more tests
- support for
if
blocks - internal API refactoring
- added support for
if
blocks - performance optimisations
- bug fixes
- deps update
- added type hints to renderer's
invokelastest
calls - fixed issue with JSON rendering where view variables won't get updated
- logic to normalize the case of request headers to "Request-Header-Key"
- deps update
Router.@params
is now set with default values- vars in view can now be accessed directly (without
@vars
) - internal API enhancements and bug fixes
- internal rewrite and API cleanup (breaking)
- removal of Nullables and YAML deps
- deps update
- over 50 new unit tests added
- Documentation improvements for
Genie.Deploy
- Dockerfile generation enhancements
- Deps updates
- New API for deployments
- Docker integration: generators for Dockerfile and API for building and running containers
- Heroku integration: API for deploying dockerized Genie apps to Heroku
- Extended API for app generation:
newapp_webservice
,newapp_mvc
, andnewapp_fullstack
- Deps updates
- fixes an issue with parsing JSON payloads
- deps updates
- pluralized some of the folders for consistent naming: sessions, tasks, and tests
- fixed an issue with generating a new task
- deps updates
- improved support for testing
- deps updates
- small bug fixes
- fully migrated logging to Julia's native logger (breaking)
- reintroduced support for logging to file via
LoggingExtras
(new app dependency) - added a new command
bin/serverinteractive
allowing to start the web server interactively - fixed issue with webserver port env settings being overwritten by default settings
- small changes to better support logging
- moved welcome info out of app files into core files
- added default
favicon.ico
file to avoid annoying 404 errors from automatic browsers requests - cleaned up the env files
- small documentation updates
- dependencies updates
- switched to native Julia logging (automatic logging to file for now is disabled, will come back in a future version)
- the
log
function has been removed (breaking) - added support for embedded Julia within HTML arguments
- cleaned up HTML rendering
- refactored cache adapters loading to be less hacky and more performant
- refactored session adapters loading to be less hacky and more performant
- consolidated the
Helpers
API into theRequests
andSessions
modules and removedHelpers
module (breaking) - added new
Exceptions
module defining theExceptionalResponse
type - added extra
@params
pointing to the currently matched route and webchannel - fixed broken
Cookies
andSession
functionality Renderer.redirect
now supports extra arguments which are passed toRouter.linkto
for reverse routing- new
Renderer.response
method specialized forExceptionalResponse
- consolidated
flash
functionality in dedicated moduleFlash
(breaking) - added support for URI segments matching in routes
- refactored the
Route
andChannel
types ExceptionalResponses
now break the execution flow if thrown from controller hooks- added
up()
as shortcut forGenie.startup()
to start the web servers - internal API consolidation
- added new generic
error-xxx.html
page template - updated bundled JS and CSS files to newer versions
- fixed error in
Genie.newapp()
withdbsupport = true
- internal API cleanup and optimisations
- fixed issue with
newresource
SearchLight integration - SearchLight initializer code is now uncommented
- dependencies update
Router.tolink
and its aliasRouter.linkto
throw exceptions if the route is not defined (breaking)Router.tolink!!
and its aliasRouter.linkto!!
have been removed (breaking)- new method
Requests.read(HttpFile, Type{String})
which returns the content of an uploaded file as a string. - consolidation of the Generator API
- Genie dependencies update
- support for Julia v1.2
- removal of the
REPL
module - CORS handling improvement (thanks @milesfrain)
- internal API cleanup and optimisations
- bug fixes
- improved documentation
- more docstrings
- removal of deprecated
env.jl
file - updated error HTML files (thanks @Acciaiodigitale)
- files cleanup -- removed unused, unnecessary files from Genie codebase and new app bootstrap code
- fixed
Renderer.redirect
bug - new helper methods in
Requests
- extended
Router
API - new documentation about
Router
- documentation tweaks
- new
Configuration
field,websocket_port
for configuring the port for web sockets connections - changed defaults for
startup
to fully use the configuration options - extra documentation
- Support for plugins (
Genie.Plugins
) - Docs for using and developing plugins