Commit Graph

42 Commits

Author SHA1 Message Date
mtnash
b94714baca discourse: 2026.1.4 -> 2026.7.0
Update discourse to latest(ish) ESR version from previous, soon-to-be unsupported, ESR version.
Upstream changes: https://releases.discourse.org/changelog/custom?end=v2026.7.0&start=v2026.1.4

Changes:
- simple version / dep updates of all plugins and discourse itself
- updated the update script to correctly handle changes to discourses's architecture, and fixed a bug
  - the NamedTemporaryFiles were not flush()ed, which meant their content was not written
  - discourse now has dependencies under `migrations/` which are specified by path. this requires downloading the `migrations/` directory during the update so `bundle lock` / `bundix` run successfully. the logic for performing this was borrowed from the gitlab package.
  - the hashes for the newly added dart-sass download are automatically updated
- updated some patches to match changes in the targeted code (notification_email, prebuild-asset-processor)
- delete a no longer relevant patch (unicorn_logging_and_timeout) (discourse no longer uses unicorn internally, although the external interface is similar / pretends to still exist)
- added two new patches, safe-exec-from-nix-store and sass_embedded_vendored_dart_sass
  - safe-exec-from-nix-store: add /nix/store to the list of executable paths for the container used to sandbox imagemagick, which by default only contains the standard FHS paths
  - sass_embedded_vendored_dart_sass: patch sass-embedded to use a version of dart-sass provided by the package instead of downloading it's own which would fail. this patch also involves code in default.nix which sets DART_SASS_VENDORED to the path of a downloaded dart-sass version
- updated the comment on prebuild-asset-processor.patch to more accurately reflect what and why it exists
2026-08-03 00:07:08 -04:00
Leona Maroni
1d9a3bcf0f discourse: 2025.12.2 -> 2026.1.1
https://releases.discourse.org/changelog/v2026.1.0/
2026-03-13 13:09:08 +01:00
Leona Maroni
9ba0d28c75 discourse.plugins.discourse-events: init at 83a6ee2c
Currently an additional plugin for discourse.nixos.org.
It would be helpful to update this directly in Nixpkgs.
2026-01-12 14:59:31 +01:00
Leona Maroni
0cf640ccac discourse: 3.5.3 -> 2025.12.0
3.5.x will be EOL by the end of January 2026. 2025.12.0 is the newest
released version. Ref: https://releases.discourse.org/

libv8-node is not compatible with NodeJS 24 in this version.
2026-01-10 18:05:18 +01:00
Leona Maroni
4374367738 discourse: update openssl gem to >=3.3.1 and persist in update script 2026-01-05 15:13:22 +01:00
Ihar Hrachyshka
a269d900c4 treewide: remove remaining meta = with lib; 2025-12-14 15:16:00 -05:00
Leona Maroni
f9bf90c4b5 discourse: remove deprecated and moved to core plugins
moved to discourse core in this discourse 3.5.0:
  - discourse-assign
  - discourse-calender
  - discourse-chat-integration
  - discourse-data-explorer
  - discourse-github
  - discourse-math
  - discourse-oauth2-basic
  - discourse-openid-connect
  - discourse-reactions
  - discourse-solved

moved to discourse core in earlier releases:
  - discourse-spoiler-alert

deprecated plugins:
  - discourse-canned-replies (since Aug. 2023)
2025-10-29 20:28:10 +01:00
Leona Maroni
aeeb97eb19 discourse: 3.4.7 -> 3.5.1
https://meta.discourse.org/t/3-5-0-major-release/379212?tl=en
https://meta.discourse.org/t/3-5-1-security-and-maintenance-release/383511

This release introduces a few rust-based ruby dependencies.

Two plugins were removed
- discourse-migratepassword as it's deprecated
- discourse-topic-voting as it's integrated into discourse core

pgvector extension handling:
Co-Authored-By: talyz <kim.lindberger@gmail.com>
2025-10-29 20:28:06 +01:00
Leona Maroni
9522ab87ff discourse.plugins: update for 3.4.2 versions 2025-04-08 22:57:51 +02:00
Leona Maroni
f2ebbabda0 discourse: 3.3.2 -> 3.4.2
https://meta.discourse.org/t/3-3-3-security-and-maintenance-release/343239
https://meta.discourse.org/t/3-3-4-security-and-maintenance-release/349301
https://blog.discourse.org/2025/02/unpacking-discourse-3-4/
https://meta.discourse.org/t/3-4-1-bug-fix-and-ux-release/353247
https://meta.discourse.org/t/3-4-2-security-and-bug-fix-release/358152
2025-04-08 22:56:45 +02:00
Leona Maroni
6a5e0f7dac discourse: 3.2.5 -> 3.3.2
https://meta.discourse.org/t/3-3-0-major-release/316353
https://meta.discourse.org/t/3-3-1-bug-fix-release/322330
https://meta.discourse.org/t/3-3-2-security-and-maintenance-release/329341
2024-10-25 10:27:26 +02:00
Martin Weinelt
ece092568a discourse: fix nix-shell package order
The python environment needs to come early, or else we're getting another
python, that does not have the bundled dependencies.
2024-07-15 15:40:32 +02:00
Martin Weinelt
10a6847471 discourse: fix update script after nix-universal-prefetch removal
Replaces nix-universal-prefetch with nurl.
2024-07-03 15:56:43 +02:00
Martin Weinelt
25755c0d20 discourse: 3.1.0 -> 3.2.2
https://meta.discourse.org/t/3-1-1-security-and-bug-fix-release/278760
https://meta.discourse.org/t/3-1-2-security-and-bug-fix-release/282427
https://meta.discourse.org/t/3-1-3-security-and-bug-fix-release/284973
https://meta.discourse.org/t/3-1-4-security-and-bug-fix-release/290939
https://blog.discourse.org/2024/01/celebrating-discourse-3-2/
https://meta.discourse.org/t/3-2-1-security-and-bug-fix-release/298237
https://meta.discourse.org/t/3-2-2-bug-fix-release/307780

Co-Authored-By: Christian Albrecht <christian.albrecht@mayflower.de>
Fixes: CVE-2023-38706, CVE-2023-40588, CVE-2023-41043, CVE-2023-41042,
       CVE-2023-44388, CVE-2023-43814, CVE-2023-45147, CVE-2023-43659,
       CVE-2023-44391, CVE-2023-45131, CVE-2023-47120, CVE-2023-45816,
       CVE-2023-46130, CVE-2023-47119, CVE-2023-47121, CVE-2023-45806,
       CVE-2023-49099, CVE-2024-21655, CVE-2024-21655, CVE-2023-48297,
       CVE-2024-24748, CVE-2024-24827, CVE-2024-27085, CVE-2024-27100,
       CVE-2024-28242
2024-05-27 13:36:51 +02:00
Martin Weinelt
5cf005119a discourse: strip markers from plugin compat spec
The plugin updater would previously stumble over compat spec version
entries that begin with angled brackets.

````
< 3.3.0.beta1-dev: 56b0de3896361b6a87523537c8f5b450d2fe0807
3.2.0: 33c43ca51ac7b7baa8a309a269dcf8685b8bd638
< 3.2.0.beta2-dev: ac930c509e2a5b0c37b84bcea28d332e686add95
3.1.999: a304cd2028ccf1f5b00f5137633aa7027a1fd334
3.1.0.beta3: 9c270cac9abc1c2b30574d8c655fb3a90546236b
[...]
````
2024-05-27 10:58:26 +02:00
Martin Weinelt
3106519f14 discourse: rely on packaging module for version comparison
The distutils module is deprecated and was removed in Python 3.12, which
would eventually break this updater.
2024-05-27 10:58:25 +02:00
Marcel Müller
77b7dc52cf discourse: Fix update.py handling newlines
The update.py script would error out if the spec had a trailing new
line. The split that follows it would try to split it into two, and
error out as it can't.
2023-09-13 14:48:34 +02:00
talyz
0dcc8c9adb discourse: Update plugins
Co-authored-by: Paul Grayson <pdg@alum.mit.edu>
2023-02-09 17:36:36 +01:00
Benno Bielmeier
7215603cb9 discourse.plugins.discourse-reactions: Init 2023-01-31 12:19:20 +09:00
Ryan Mulligan
093b3a604f Merge pull request #186331 from ryantm/discourse-bbcode-color
discourse.plugins.discourse-bbcode-color: init
2022-09-16 12:27:36 -07:00
Ryan Mulligan
3d332125a4 discourse.plugins.discourse-bbcode-color: init 2022-08-12 13:04:12 -07:00
talyz
f34bc06abc discourse: Filter out :require_name option when creating the Gemfile
:require_name is internal to Discourse and Bundler throws an error
when it's passed through to the Gemfile.
2022-08-12 12:21:05 +02:00
talyz
d46598d4f4 discourse-mail-receiver: Add update_mail_receiver to update.py 2022-03-25 12:06:14 +01:00
talyz
04afc69a29 discourse: 2.9.0.beta1 -> 2.9.0.beta3 2022-03-25 12:05:48 +01:00
talyz
1138af5637 discourse: Add aarch64-linux to the list of platforms to be removed
...in the update script and remove it from the Gemfile.lock. Having
it there causes a failure with the error message:

Could not find libv8-node-16.10.0.0-aarch64-linux in any of the
sources (Bundler::GemNotFound)

And since we're not using the prebuilt binary packages anyway, we
don't need it there in the first place.
2021-12-23 10:24:18 +01:00
talyz
4fb343c87e discourse: update.py: Improve version handling, use pinned plugins
Add a DiscourseVersion class which handles Discourse's version
numbering properly when sorting - beta versions are sorted lower than
their respective release versions. It can also return both its version
number and equivalent git tag, removing the need for `rev2version` and
manually adding `v` to the front.

Using DiscourseVersion instead of LooseVersion, we can list all
current version number tags from the `discourse` repo and sort them
correctly, giving us the latest one, regardless of type; i.e. we don't
have to filter for only release versions or beta versions anymore.

This also implements the plugin pinning algorithm laid out here:
https://meta.discourse.org/t/pinning-plugin-and-theme-versions-for-older-discourse-installs/156971
to make sure we don't upgrade plugins further than what's compatible
with our currently packaged Discourse version. While it likely won't
matter much most of the time if we continue packaging the beta
versions, it could be helpful if we decide to go back to packaging
release versions or if we run into issues with future upgrades. In
that case, the plugins could still be updated safely even though we're
not on the latest version of Discourse.
2021-12-02 11:55:07 +01:00
talyz
ab042d6452 discourse.plugins: Update all plugins to their latest versions
Also, add support for updating plugins which keep gem versions in
files at the root of the repo (discourse-prometheus) and replace the
`up-plugin.sh` script with a README file pointing to the plugin
packaging documentation.
2021-12-02 10:43:14 +01:00
talyz
e2415dbb8f discourse: 2.7.9 -> 2.8.0.beta9
Update to the latest beta, since upstream advocates for it. See
https://github.com/NixOS/nixpkgs/issues/146308 for more info.
2021-12-02 10:31:00 +01:00
Ryan Mulligan
88120a1377 discourse/update.py: use nix-instantiate
The interface of `nix eval` is not stable across versions of nix that
are currently in the wild, so use the older nix-instantiate command
instead.
2021-11-16 15:59:32 -08:00
Tobias Stenzel
34ba7d2fdc discourse.plugins.discourse-voting: Init 2021-10-26 23:24:10 +02:00
Tobias Stenzel
3251a4a7d2 discourse.plugins.discourse-saved-searches: Init 2021-10-26 23:24:10 +02:00
Tobias Stenzel
7584343790 discourse.plugins.discourse-prometheus: Init 2021-10-26 23:24:10 +02:00
Tobias Stenzel
9ede32d45c discourse.plugins.discourse-docs: Init 2021-10-26 23:24:09 +02:00
Tobias Stenzel
ecb1b736c7 discourse.plugins.discourse-chat-integration: Init 2021-10-26 23:24:09 +02:00
Tobias Stenzel
1ef543a549 discourse.plugins.discourse-assign: Init 2021-10-26 23:24:09 +02:00
Ryan Mulligan
70d29c5cf4 discourseAllPlugins: init discourse-ldap-auth 2021-08-18 10:12:41 -07:00
talyz
12ff4b79e4 discourse: update.py: Remove native platforms in plugin lock files..
...and add ruby.
2021-08-17 18:21:27 +02:00
talyz
f8096460bd discourse.plugins: Make the updater able to package plugins
Let the update.py script handle the initial, repetitive task of
packaging new plugins. With this in place, the plugin only needs to be
added to the list in `update-plugins` and most of the work will be
done automatically when the script is run. Metadata still needs to be
filled in manually and some packages may of course require additional
work/patching.
2021-08-17 18:21:15 +02:00
Ryan Mulligan
32e24e792c discourse/update.py: add missing plugins 2021-08-05 13:25:38 -07:00
talyz
a2dbc3af1d discourse: Remove architecture bound platforms from Gemfile.lock
Maybe bundix doesn't handle them properly? They cause runtime issues
and don't seem necessary when the binary gems are built from scratch
anyway.
2021-07-14 13:18:12 +02:00
talyz
3300282db3 discourse: Add update-plugins action to update.py 2021-07-14 13:17:55 +02:00
talyz
5138941ad3 discourse: Add updater script 2021-04-05 13:55:52 +02:00