Autostrada
Autostrada
Create a new codebase Get Autostrada Plus
Roadmap Changelog Give feedback
Login

Changelog

Record of historical changes and improvements to Autostrada. You can also see what's in store for the future in our roadmap.

18 August 2024
Admin Makefile improvements

We've updated the audit rule to use test -z "$(shell gofmt -l .)" and the Go 1.23 go mod tidy -diff command to check that .go files and modfiles are formatted and up-to-date.

27 December 2023
Custom error pages

We've added the option to use custom pages for error responses in web applications (e.g custom 404 Not Found and 500 Internal Server Error pages).

16 December 2023
Use wneessen/go-mail

The SMTP feature has been updated to use the wneessen/go-mail package for sending emails, rather than go-mail/mail (which is no longer actively maintained).

8 December 2023
Database select operations

Database SELECT operations which fetch a single data row now return a found boolean to explicitly indicate whether a matching row was found or not.

Git repository initialization removed

Based on feedback from users, Autostrada no longer automatically initializes a git repository in the generated codebase. The option to create a .gitignore file remains.

7 December 2023
Autostrada Plus launched

We've added lightweight user accounts to Autostrada so that you have permanent access to any paid features that you purchase, and can generate unlimited codebases.

27 November 2023
Access logs

We've added optional support for logging all requests, and corresponding response status code and body size.

22 November 2023
Use ConnectContext

SQL database connections are now established using sqlx.ConnectContext(), rather than sqlx.Connect(), meaning that a timeout is applied when sqlx pings the database to verify that the database connection credentials are valid.

13 September 2023
Additional form decoding helpers

New DecodeQueryString() and DecodeForm() helpers are now provided, in addition to the existing DecodePostForm() helper. The DecodeForm() helper decodes data from both URL query string values and the request POST body in one command.

9 August 2023
Use the standard library log/slog package

All codebases now use the Go 1.21 log/slog package from the standard library.

5 July 2023
Request information included for errors

The corresponding HTTP request method and URL is now included in all ERROR level log messages and email notifications.

30 June 2023
Use x/exp/slog for logging

All generated codebases now use the golang.org/x/exp/slog package for leveled logging, with the choice to log messages in JSON, plaintext, or colorized plaintext format.

3 May 2023
Admin Makefile improvements

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.

1 April 2023
Improved website UI

The website UI has been improved so that the code-generation tool consists of fewer steps and takes up less on-screen space.

25 March 2023
Server timeout periods

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.

4 March 2023
File permissions

Generated files all now have the permission set 644.

20 February 2023
JSON helpers in web applications

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.

Strict JSON decoding

We've added a new DecodeJSONStrict() helper, which will return an error if a JSON request contains unexpected fields.

6 February 2023
Live reload

We've added optional support for live reloading of your application when files are changed during development using Air.

28 January 2023
Environment-variable based config

We've added the option to read configuration settings from environment variables (instead of only supporting command-line flags).

5 January 2023
Background tasks

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.

3 January 2023
Error notifications

We've added the option to automatically send runtime error alerts to an admin email address.

31 December 2022
TLS certificate auto-generation

We've added support for automatic HTTPS in production using Let's Encrypt and Autocert. HTTP to HTTPS redirects are also included.

Smaller main function

Application initialization is now done in a run() function rather than main(). See this blog post for the rationale behind the change.

29 December 2022
Custom logging for server errors

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.

28 December 2022
Module path validation

More validation checks have been added to disallow invalid module paths.

9 November 2022
Markdown README

Generated codebases now include the README file in Markdown format (in addition to HTML).

7 November 2022
Gorilla Mux

We've added support for Gorilla Mux as a router option.

3 November 2022
Permanent download links

The confirmation pages and download links for the generated codebases are now permanent rather than temporary, and are now safe to bookmark and share.

2 November 2022
Getting-started instructions

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).

24 October 2022
Pick-your-own router

We've added the option to pick your own router, with support for Chi, Flow and HttpRouter.

20 October 2022
Smart redirect after login

We've improved the web application login functionality so that it now redirects to the previously requested page after failed authentication.

Changelog

We created this changelog page that you're reading right now 😉

17 October 2022
New website design

We've updated the Autostrada website to give it a lighter, fresher and slightly more polished design.

1 October 2022
Secure cookies

We've added a new 'secure cookies' option, providing out-of-the-box support for reading/writing signed and encrypted cookies.

Command-line flag consistency

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).

23 September 2022
Roadmap

We've added a roadmap page to help prioritize and keep track of potential features and improvements.

17 August 2022
Autostrada launches

Autostrada is officially launched in open beta.