Files
gleam-lang-gleam/CHANGELOG.md
T

4.5 KiB

Changelog

Unreleased

Compiler

  • The compiler will now show "Unused variable" warning for each of alternative patterns. (Andrey Kozhev)

Build tool

  • gleam remove now rejects invalid package names with an error explaining naming rules, instead of stating that the package is not a dependency. Trying to remove gleam_otp@1 now suggests the matching dependency gleam_otp, if there is one. (Tom Voet)

  • When Hex dependencies change version the build tool now prints a link to the diff on Hex, making it easier to review and audit dependency updates. (Manas Ganesh Dasari)

  • The Hex files page will now be used for the view-source link in generated documentation when the package's source repository uses an unknown forge or is not set. (Alex Hinde)

  • The Hex credentials file is now written with read-write permissions for the owner only (0600 on Unix), preventing other users from reading it. (bala-bhargav)

Language server

  • The language server will now offer "Discard unused variable" on each of alternative patterns. (Andrey Kozhev)

  • The language server now allows to find references of echo. For example,

    pub fn wibble(woo) {
      echo woo
    //^^^^
      echo wobble(woo)
    //^^^^
    }
    
    pub fn wobble(woo) {
      echo woo
    //^^^^
    }
    

    When triggering on any of denoted places, it will show all usages. (Andrey Kozhev)

  • The language server now allows to highlight all echo in file. For example,

    pub fn wibble(woo) {
      echo woo
    //^^^^
      echo wobble(woo)
    //^^^^
    }
    
    pub fn wobble(woo) {
      echo woo
    //^^^^
    }
    

    If this feature is enabled in your editor, hovering any of denoted places will highlight all of them. (Andrey Kozhev)

  • The language server now allows to find references of todo. For example,

    pub const wubble = todo
    //                 ^^^^
    
    pub fn wibble() {
      todo as "unimplemented yet"
    //^^^^^^^^^^^^^^^^^^^^^^^^^^^
    }
    
    pub fn empty() {}
    //^^^^^^^^^^^^ Empty functions are shown too!
    
    pub fn block() {
      {}
    //^^ And empty blocks too!
    }
    

    When triggering on any of denoted places, it will show all usages. (Andrey Kozhev)

  • The language server now allows to highlight all todo in file. For example,

    pub const wubble = todo
    //                 ^^^^
    
    pub fn wibble() {
      todo as "unimplemented yet"
    //^^^^^^^^^^^^^^^^^^^^^^^^^^^
    }
    
    pub fn empty() {}
    //^^^^^^^^^^^^ Empty functions are highlighted too!
    
    pub fn block() {
      {}
    //^^ And empty blocks too!
    }
    

    If this feature is enabled in your editor, hovering any of denoted places will highlight all of them. (Andrey Kozhev)

  • The language server now allows to find references of panic. For example,

    pub fn wibble() {
      panic
    //^^^^^
    }
    
    pub fn wobble() {
      panic as "unimplemented"
    //^^^^^^^^^^^^^^^^^^^^^^^^
    }
    

    When triggering on any of denoted places, it will show all usages. (Andrey Kozhev)

  • The language server now allows to highlight all panic in file. For example,

    pub fn wibble() {
      panic
    //^^^^^
    }
    
    pub fn wobble() {
      panic as "unimplemented"
    //^^^^^^^^^^^^^^^^^^^^^^^^
    }
    

    If this feature is enabled in your editor, hovering any of denoted places will highlight all of them. (Andrey Kozhev)

Bug fixes

  • Fixed a bug where the language server "Generate variant" code action would duplicate module name when triggered on qualified values. (Andrey Kozhev)

  • Fixed a bug where bad error message would be shown when trying to publish package with no README on Windows. (Andrey Kozhev)

  • Fixed a bug where the build tool would not reject invalid application names if one is returned by the Hex API. (Louis Pilfold)

v1.19.1 - 2026-10-07

Bug fixes

  • Fixed a bug where the export javascript-prelude and export typescript-prelude commands would not run. (Louis Pilfold)