Record of historical changes and improvements to Autostrada. You can also see what's in store for the future in our roadmap.
We've made various improvements to the generated admin makefile, including updating the
audit task to check for known vulnerabilities using
govulncheck, adding a new
text/cover task to run tests with code coverage profiling enabled, and updating the
run/live task to not use an external
air.toml configuration file.
The website UI has been improved so that the code-generation tool consists of fewer steps and takes up less on-screen space.
The HTTP server default timeout periods have been changed to:
defaultIdleTimeout = time.Minute,
defaultReadTimeout = 5 * time.Second,
defaultWriteTimeout = 10 * time.Second, and
defaultShutdownPeriod = 30*time.Second.
Generated files all now have the permission set
Helpers for decoding JSON requests and writing JSON responses are now included by default in 'traditional web application' codebases, as well as 'JSON API' codebases.
We've added a new
DecodeJSONStrict() helper, which will return an error if a JSON request contains unexpected fields.
We've added optional support for live reloading of your application when files are changed during development using Air.
We've added the option to read configuration settings from environment variables (instead of only supporting command-line flags).
We've added lightweight user accounts to Autostrada so that you have permanent access to any premium features that you purchase and can generate unlimited codebases with them.
We've added a
backgroundTask() helper to all generated codebases by default. You can use this to run code in background goroutines and wait for it to complete during a graceful shutdown.
We've added the option to automatically send runtime error alerts to an admin email address.
We've added support for automatic HTTPS in production using Let's Encrypt and Autocert. HTTP to HTTPS redirects are also included.
Application initialization is now done in a
run() function rather than
main(). See this blog post for the rationale behind the change.
We've changed the generated code so that any messages logged by Go's
http.Server are written to the same destination as all other log messages.
More validation checks have been added to disallow invalid module paths.
Generated codebases now include the README file in Markdown format (in addition to HTML).
We've added support for Gorilla Mux as a router option.
The confirmation pages and download links for the generated codebases are now permanent rather than temporary, and are now safe to bookmark and share.
The confirmation page now includes instructions for how to get started and run your application (as well as this information still being available in the README).
We've added the option to pick your own router, with support for Chi, Flow and HttpRouter.
We've improved the web application login functionality so that it now redirects to the previously requested page after failed authentication.
We created this changelog page that you're reading right now 😉
We've updated the Autostrada website to give it a lighter, fresher and slightly more polished design.
We've added a new 'secure cookies' option, providing out-of-the-box support for reading/writing signed and encrypted cookies.
We've tweaked the command-line flag names and variables to be more consistent in their style and naming, and started using hard-coded default values for all command-line flags (rather than reading some default values from environment variables).
We've added a roadmap page to help prioritize and keep track of potential features and improvements.
Autostrada is officially launched in open beta.