Quick Start

Upgrade Guide

Upgrade an existing GoLazy application from v0.1.10 to v0.1.11.

By Guillermo Alvarez - Published - Updated

Upgrade from v0.1.10

GoLazy v0.1.11 adds optional SEO metadata helpers, generated metadata files, mailer rendering, early storage and media packages, and generated-app tooling cleanup. Existing v0.1.10 applications do not need a large rewrite.

Update the framework requirement:

go get golazy.dev@latest
go mod tidy

Read Install GoLazy for the current install and module setup flow.

Install or update the matching CLI so lazy new selects the latest sample application template:

go install github.com/golazy/lazy@latest
lazy --version

Read Run With lazy for the development command and Full App for the generated application layout.

SEO metadata

Add lazyseo defaults in lazyapp.Config when your application should render shared metadata in every layout:

lazyapp.Config{
    SEO: []lazyseo.Option{
        lazyseo.SiteName("GoLazy"),
        lazyseo.Description("A GoLazy application."),
        lazyseo.Language("en"),
    },
}

Use {{seo_lang}} on the opening <html> tag and {{seo}} in the document head. Controllers can set page-level values with helpers such as Title, Description, Canonical, OpenGraph, TwitterCard, and JSONLD.

Read Template Data And Helpers for SEO helpers, metadata model interfaces, JSON-LD values, and SVG social-image variants.

Robots and sitemaps

lazyapp can now serve generated /robots.txt and /sitemap.xml files from application configuration:

lazyapp.Config{
    Sitemap: lazyapp.SitemapConfig{
        BaseURL: "https://example.com",
        URLs: []lazyapp.SitemapURL{
            {Location: "/", ChangeFreq: "daily", Priority: 1},
        },
    },
}

No change is needed if you already serve your own metadata files. Keep the framework-generated files disabled or route your custom handlers before public assets.

Mailers

Use golazy.dev/lazymailer when your app should render email bodies from the same view system as controllers. Application mailer types usually live under app/mailers, with templates under app/views/<mailer>/<action>.text.tpl and .html.tpl.

Read Mailers And Storage for registry setup, delivery services, and context wiring.

Storage and media packages

golazy.dev/lazystorage, golazy.dev/lazyfiles, and golazy.dev/lazymedia are new low-level building blocks for apps that need object-style storage, logical file records, fallback signed URLs, or generated media variants. They are optional and are not required for normal embedded public assets.

Read Mailers And Storage for the storage, file catalog, URL, and generated-variant boundaries.

Sample app tooling

The sample application keeps project-specific mise tasks as standalone scripts under .mise/tasks and includes Node.js in mise.toml. Existing apps can keep their current task layout, but generated apps use the standalone task-script shape.

Development reloads

lazy no longer injects the development reload client into Turbo Frame requests or small HTML fragments without a document body. No application change is needed.

Read Server Rendered Updates and lazy Dev Loop Integration when an app mixes full-page responses with fragment updates.

Versioned guide

Use the v0.1.10 upgrade guide when you need the exact upgrade path from v0.1.9 to v0.1.10.