{
  "name": "Hubra official",
  "description": "Plugins made by the Hubra project, signed with the Hubra project key",
  "generated": "2026-11-02T15:51:05+00:00",
  "plugins": [
    {
      "id": "bank-import",
      "name": "Bank file import",
      "description": "Import bank statements (camt.053, camt.054, MT940 or CSV). Payments are matched to invoices and marked paid, other bookings go into the books by your rules, with a dry run first.",
      "author": "Hubra",
      "homepage": "https://github.com/hubra-app/hubra-plugin-bank-import",
      "license": "",
      "tags": [
        "finance",
        "switzerland"
      ],
      "modules": [
        "finance.bank"
      ],
      "requires": [
        "finance"
      ],
      "source": "https://github.com/hubra-app/hubra-plugin-bank-import",
      "version": "1.2.0",
      "url": "https://github.com/hubra-app/hubra-plugin-bank-import/releases/download/v1.2.0/bank-import-1.2.0.zip",
      "sha256": "5ef741868457450fca311bbf5b73ce8d58b820d0c325407589eee286d492347d",
      "hubra": ">=0.2,<1",
      "changes": "Built for Hubra 0.2 (Mantine 9, plugin host API 2). Needs Hubra 0.2 or newer.\n\nSHA-256 of `bank-import-1.2.0.zip`: `5ef741868457450fca311bbf5b73ce8d58b820d0c325407589eee286d492347d`",
      "date": "2026-11-02",
      "versions": [
        {
          "version": "1.2.0",
          "url": "https://github.com/hubra-app/hubra-plugin-bank-import/releases/download/v1.2.0/bank-import-1.2.0.zip",
          "sha256": "5ef741868457450fca311bbf5b73ce8d58b820d0c325407589eee286d492347d",
          "hubra": ">=0.2,<1",
          "changes": "Built for Hubra 0.2 (Mantine 9, plugin host API 2). Needs Hubra 0.2 or newer.\n\nSHA-256 of `bank-import-1.2.0.zip`: `5ef741868457450fca311bbf5b73ce8d58b820d0c325407589eee286d492347d`",
          "date": "2026-11-02"
        }
      ]
    },
    {
      "id": "budgets",
      "name": "Budgets",
      "description": "A yearly budget per transaction category, compared with what was booked. Approve and lock it, and copy it to the next year.",
      "author": "Hubra",
      "homepage": "https://github.com/hubra-app/hubra-plugin-budgets",
      "license": "",
      "tags": [
        "finance"
      ],
      "modules": [
        "finance.budgets"
      ],
      "requires": [
        "finance"
      ],
      "source": "https://github.com/hubra-app/hubra-plugin-budgets",
      "version": "1.1.0",
      "url": "https://github.com/hubra-app/hubra-plugin-budgets/releases/download/v1.1.0/budgets-1.1.0.zip",
      "sha256": "76810e0aac3dd7337b48acdfe0d16faa96bbe6435fb527c08d8fba1b16a35220",
      "hubra": ">=0.2,<1",
      "changes": "Built for Hubra 0.2 (Mantine 9, plugin host API 2). Needs Hubra 0.2 or newer.",
      "date": "2026-10-30",
      "versions": [
        {
          "version": "1.1.0",
          "url": "https://github.com/hubra-app/hubra-plugin-budgets/releases/download/v1.1.0/budgets-1.1.0.zip",
          "sha256": "76810e0aac3dd7337b48acdfe0d16faa96bbe6435fb527c08d8fba1b16a35220",
          "hubra": ">=0.2,<1",
          "changes": "Built for Hubra 0.2 (Mantine 9, plugin host API 2). Needs Hubra 0.2 or newer.",
          "date": "2026-10-30"
        }
      ]
    },
    {
      "id": "discord",
      "name": "Discord",
      "description": "The Hubra bot on your Discord server: announcements, roles, group channels, Discord events, poll buttons, personal commands and direct messages.",
      "author": "Hubra",
      "homepage": "https://github.com/hubra-app/hubra-plugin-discord",
      "license": "",
      "tags": [
        "communication"
      ],
      "modules": [
        "discord"
      ],
      "requires": [
        "members"
      ],
      "source": "https://github.com/hubra-app/hubra-plugin-discord",
      "version": "2.4.1",
      "url": "https://github.com/hubra-app/hubra-plugin-discord/releases/download/v2.4.1/discord-2.4.1.zip",
      "sha256": "f547d3dac92f3859877e37067fa76aabda1046cdecf965f4373ff620e6dfe455",
      "hubra": ">=0.2,<1",
      "changes": "discord 2.4.1\n\nSHA-256 of `discord-2.4.1.zip`: `f547d3dac92f3859877e37067fa76aabda1046cdecf965f4373ff620e6dfe455`",
      "date": "2026-11-02",
      "versions": [
        {
          "version": "2.4.1",
          "url": "https://github.com/hubra-app/hubra-plugin-discord/releases/download/v2.4.1/discord-2.4.1.zip",
          "sha256": "f547d3dac92f3859877e37067fa76aabda1046cdecf965f4373ff620e6dfe455",
          "hubra": ">=0.2,<1",
          "changes": "discord 2.4.1\n\nSHA-256 of `discord-2.4.1.zip`: `f547d3dac92f3859877e37067fa76aabda1046cdecf965f4373ff620e6dfe455`",
          "date": "2026-11-02"
        },
        {
          "version": "2.2.0",
          "url": "https://github.com/hubra-app/hubra-plugin-discord/releases/download/v2.2.0/discord-2.2.0.zip",
          "sha256": "a92eac75d7881bced4b47081f05d060316a0da93af528f7a035b65187e5ed820",
          "hubra": ">=0.2,<1",
          "changes": "Needs a Hubra with app notification channels, `event.changed` and module\nprocesses (the release after 2026-11-02). On an older Hubra the plugin still\nloads; DMs, Discord events and the welcome message stay off.\n\n- Notifications by direct message: members turn Discord on per topic under\n  Mein Konto \u203a Benachrichtigungen (new scope \"Direktnachrichten\").\n- The club's events in the server's Events list for the next 60 days, kept\n  in step when an event changes or is deleted (scope \"Discord-Events\").\n  Public events only unless the server is for members; group events stay out.\n- Private channels per group the club picks (scope \"Gruppenkan\u00e4le\"): the\n  bot makes a channel and a role, and the role follows the group. The\n  group's events, reminders and polls go to its channel.\n- Vote on polls with buttons under the announcement, with the app's rules\n  (eligibility, proxies, changing a vote).\n- `/rechnungen`, `/trainings` (check in or excuse yourself from an hour\n  before the start) and `/profil`, answered only to the person.\n- A welcome message for new people on the server who haven't linked yet,\n  with an optional own text; linked members get their roles on joining.\n  Needs the platform's `discord-gateway` process.\n- The settings show which permissions the bot still lacks for the scopes\n  and link to adding it again, which updates its role.\n\nSHA-256 of `discord-2.2.0.zip`: `a92eac75d7881bced4b47081f05d060316a0da93af528f7a035b65187e5ed820`",
          "date": "2026-11-02"
        },
        {
          "version": "2.0.0",
          "url": "https://github.com/hubra-app/hubra-plugin-discord/releases/download/v2.0.0/discord-2.0.0.zip",
          "sha256": "fbde6a6a36178671031d33f76668f501f4ad05c78db4dcd0d6274721e2a2b6d7",
          "hubra": ">=0.2,<1",
          "changes": "The webhook is replaced by the Hubra bot. Needs a Hubra with connected apps\n(Einstellungen \u203a Verbundene Apps) and the platform's Discord application set\nup under manage \u203a Platform settings \u203a Discord (see Hubra's `docs/discord.md`).\n\n- A club adds the bot to its server under Einstellungen \u203a Verbundene Apps\n  and picks what it may do: announcements, roles, sign-ups. An admin\n  confirms the server in Hubra before the bot does anything.\n- Announcements go to a main channel the club picks, and each kind (new\n  events, posts, polls, reminders) can have its own channel instead.\n- Reminders from the club's reminder job: \"event coming up\" (with sign-up\n  buttons) and \"poll closes soon\" (names no one; the app reminds those who\n  haven't voted). Off until the club switches them on.\n- Members-only content stays limited: members-only events stay\n  out unless the club says the channel is members-only; posts show only the\n  title and summary; polls for some groups only are never posted.\n- Discord roles follow groups, functions, tiers or \"all members\", for\n  members who linked their Discord account on their Hubra account page.\n  Only mapped roles are touched, and a nightly sync fixes drift.\n- Event posts get Anmelden/Abmelden buttons, and `/events`, `/verbinden`\n  and `/hubra status` work on the server.\n- Every connection, setting change and bot action is in the connection's\n  activity and the club's audit log.\n- Upgrading: the old webhook URL setting is gone. Reconnect the server under\n  Verbundene Apps.\n\nSHA-256 of `discord-2.0.0.zip`: `fbde6a6a36178671031d33f76668f501f4ad05c78db4dcd0d6274721e2a2b6d7`",
          "date": "2026-11-01"
        }
      ]
    },
    {
      "id": "guides",
      "name": "Guides",
      "description": "A usage guide per machine or tool, in Markdown or as a link to a manual or video, shown on the inventory item.",
      "author": "Hubra",
      "homepage": "https://github.com/hubra-app/hubra-plugin-guides",
      "license": "",
      "tags": [
        "inventory"
      ],
      "modules": [
        "inventory.guides"
      ],
      "requires": [
        "inventory"
      ],
      "source": "https://github.com/hubra-app/hubra-plugin-guides",
      "version": "1.1.0",
      "url": "https://github.com/hubra-app/hubra-plugin-guides/releases/download/v1.1.0/guides-1.1.0.zip",
      "sha256": "98135ee4f83277d748caaa254b8779a5224689644569ccc24181f8542e8c580a",
      "hubra": ">=0.2,<1",
      "changes": "Built for Hubra 0.2 (Mantine 9, plugin host API 2). Needs Hubra 0.2 or newer.",
      "date": "2026-10-30",
      "versions": [
        {
          "version": "1.1.0",
          "url": "https://github.com/hubra-app/hubra-plugin-guides/releases/download/v1.1.0/guides-1.1.0.zip",
          "sha256": "98135ee4f83277d748caaa254b8779a5224689644569ccc24181f8542e8c580a",
          "hubra": ">=0.2,<1",
          "changes": "Built for Hubra 0.2 (Mantine 9, plugin host API 2). Needs Hubra 0.2 or newer.",
          "date": "2026-10-30"
        }
      ]
    },
    {
      "id": "imap-inbox",
      "name": "Shared inbox (IMAP)",
      "description": "Read club mailboxes hosted anywhere (Infomaniak, Hostpoint, Gmail with an app password...) inside Hubra. Read-only by default, each mailbox visible to one group, passwords stored encrypted.",
      "author": "Hubra",
      "homepage": "https://github.com/hubra-app/hubra-plugin-imap-inbox",
      "license": "",
      "tags": [
        "communication",
        "mail"
      ],
      "modules": [
        "inbox"
      ],
      "requires": [
        "members"
      ],
      "source": "https://github.com/hubra-app/hubra-plugin-imap-inbox",
      "version": "1.1.0",
      "url": "https://github.com/hubra-app/hubra-plugin-imap-inbox/releases/download/v1.1.0/imap-inbox-1.1.0.zip",
      "sha256": "dc226b9ee7297bcf1bf50b1011aabb80ad235a8356cc810c7e7afe994d324b52",
      "hubra": ">=0.2,<1",
      "changes": "Built for Hubra 0.2 (Mantine 9, plugin host API 2). Needs Hubra 0.2 or newer.",
      "date": "2026-10-30",
      "versions": [
        {
          "version": "1.1.0",
          "url": "https://github.com/hubra-app/hubra-plugin-imap-inbox/releases/download/v1.1.0/imap-inbox-1.1.0.zip",
          "sha256": "dc226b9ee7297bcf1bf50b1011aabb80ad235a8356cc810c7e7afe994d324b52",
          "hubra": ">=0.2,<1",
          "changes": "Built for Hubra 0.2 (Mantine 9, plugin host API 2). Needs Hubra 0.2 or newer.",
          "date": "2026-10-30"
        }
      ]
    },
    {
      "id": "keys",
      "name": "Keys",
      "description": "Physical keys, cards and fobs: who holds which, with a handover log. Members see their keys on their account page.",
      "author": "Hubra",
      "homepage": "https://github.com/hubra-app/hubra-plugin-keys",
      "license": "",
      "tags": [
        "inventory"
      ],
      "modules": [
        "inventory.keys"
      ],
      "requires": [
        "inventory"
      ],
      "source": "https://github.com/hubra-app/hubra-plugin-keys",
      "version": "1.1.0",
      "url": "https://github.com/hubra-app/hubra-plugin-keys/releases/download/v1.1.0/keys-1.1.0.zip",
      "sha256": "1937d4ee9a019559eef3a23b99a6ddeae7f53bcd294acb2f58da58f85018f547",
      "hubra": ">=0.2,<1",
      "changes": "Built for Hubra 0.2 (Mantine 9, plugin host API 2). Needs Hubra 0.2 or newer.\n\nSHA-256 of `keys-1.1.0.zip`: `1937d4ee9a019559eef3a23b99a6ddeae7f53bcd294acb2f58da58f85018f547`",
      "date": "2026-11-02",
      "versions": [
        {
          "version": "1.1.0",
          "url": "https://github.com/hubra-app/hubra-plugin-keys/releases/download/v1.1.0/keys-1.1.0.zip",
          "sha256": "1937d4ee9a019559eef3a23b99a6ddeae7f53bcd294acb2f58da58f85018f547",
          "hubra": ">=0.2,<1",
          "changes": "Built for Hubra 0.2 (Mantine 9, plugin host API 2). Needs Hubra 0.2 or newer.\n\nSHA-256 of `keys-1.1.0.zip`: `1937d4ee9a019559eef3a23b99a6ddeae7f53bcd294acb2f58da58f85018f547`",
          "date": "2026-11-02"
        }
      ]
    }
  ],
  "key_id": "9584589bdaf1dde9",
  "public_key": "RHTn/5NrXnoZAOM3M28+lxCKH/Un8sFN2R0otaoLwEI=",
  "plugin_keys": [
    {
      "name": "b84edc01a8b17490",
      "key_id": "b84edc01a8b17490",
      "public_key": "SBCzJyc3fMF3PSsZyyQyKag42FWmR2fvk+vVnwh0VJU="
    }
  ],
  "signature": "WtODQlgk4+yTnDQzCu6Xuh2f+z+yQ2DHPvQ5Sh/1QvbIXdyOTEY3kSwCXS0aXZdbFys2tcWCTiUxkJm0SapgAQ=="
}
