feature: Bambu Lab firmware version & download extractor #45

Closed
opened 2026-02-15 16:44:43 +00:00 by Claude · 0 comments
Collaborator

Description

Extract firmware information from Bambu Lab's firmware download pages. Each printer model has its own page listing firmware versions with release notes and download links.

URL Pattern

https://bambulab.com/en/support/firmware-download/{model} — e.g.:

  • https://bambulab.com/en/support/firmware-download/x1c
  • https://bambulab.com/en/support/firmware-download/h2d

Proposed API

package bambulab

type FirmwareInfo struct {
    Model       string
    Version     string
    ReleaseDate string
    ReleaseNotes string
    DownloadURL string
}

type Config struct{}
var DefaultConfig = Config{}

// GetLatestFirmware returns the most recent firmware for a given printer model.
func (c Config) GetLatestFirmware(ctx context.Context, b extractor.Browser, model string) (*FirmwareInfo, error)

// GetAllFirmware returns all available firmware versions for a given printer model.
func (c Config) GetAllFirmware(ctx context.Context, b extractor.Browser, model string) ([]FirmwareInfo, error)

Required Fields

  • Version number — firmware version string
  • Release date — when the firmware was published
  • Release notes — changelog / description of changes
  • Download link — direct URL to the firmware file

Benefits

  • Structured firmware data for monitoring new releases
  • No API key required (browser-based scraping)
  • Supports multiple printer models via the model parameter

Parent: #31

## Description Extract firmware information from Bambu Lab's firmware download pages. Each printer model has its own page listing firmware versions with release notes and download links. ## URL Pattern `https://bambulab.com/en/support/firmware-download/{model}` — e.g.: - `https://bambulab.com/en/support/firmware-download/x1c` - `https://bambulab.com/en/support/firmware-download/h2d` ## Proposed API ```go package bambulab type FirmwareInfo struct { Model string Version string ReleaseDate string ReleaseNotes string DownloadURL string } type Config struct{} var DefaultConfig = Config{} // GetLatestFirmware returns the most recent firmware for a given printer model. func (c Config) GetLatestFirmware(ctx context.Context, b extractor.Browser, model string) (*FirmwareInfo, error) // GetAllFirmware returns all available firmware versions for a given printer model. func (c Config) GetAllFirmware(ctx context.Context, b extractor.Browser, model string) ([]FirmwareInfo, error) ``` ## Required Fields - **Version number** — firmware version string - **Release date** — when the firmware was published - **Release notes** — changelog / description of changes - **Download link** — direct URL to the firmware file ## Benefits - Structured firmware data for monitoring new releases - No API key required (browser-based scraping) - Supports multiple printer models via the model parameter **Parent:** #31
Claude added the enhancementpriority/medium labels 2026-02-15 16:44:50 +00:00
Sign in to join this conversation.