From a460bf622a8f528dcbb668f19f3e6acf3c337355 Mon Sep 17 00:00:00 2001 From: hrh Date: Mon, 30 Sep 2024 18:07:50 +0800 Subject: [PATCH 001/177] test --- .gitignore | 24 + .prettierignore | 9 + .prettierrc | 10 + .vscode/settings.json | 0 README.md | 75 + app.vue | 53 + assets/css/main.css | 38 + assets/index.scss | 341 + components/AccordionNavigation.vue | 30 + components/CategorySecond.vue | 37 + components/CopyButton.vue | 33 + components/DownloadButton.vue | 80 + components/LinkButton.vue | 23 + components/NewsCategoryList.vue | 36 + components/app/AppH2.vue | 12 + components/app/AppLink.vue | 23 + components/app/AppSupport.vue | 50 + components/bar/BarFooter.vue | 48 + components/bar/BarHeader.vue | 60 + components/bar/BarLeft.vue | 150 + components/bar/BarRight.vue | 123 + .../news/2016-09-18-a-re-cap-our-3rd-aoscc.md | 37 + ...2016-09-18-a-re-cap-our-3rd-aoscc.zh-cn.md | 37 + .../2016-09-18-aosc-os-core-4-is-green.md | 38 + ...016-09-18-aosc-os-core-4-is-green.zh-cn.md | 38 + .../2016-09-18-aosc-oss-default-wallpapers.md | 46 + ...09-18-aosc-oss-default-wallpapers.zh-cn.md | 46 + .../news/2016-09-18-welcome-to-aosc-portal.md | 16 + ...2016-09-18-welcome-to-aosc-portal.zh-cn.md | 16 + ...9-19-new-package-additions-sept-19-2016.md | 18 + ...ew-package-additions-sept-19-2016.zh-cn.md | 18 + ...-built-aosc-os-wallpapers-now-available.md | 16 + ...-aosc-os-wallpapers-now-available.zh-cn.md | 16 + ...sc-os-repository-mirror-at-ustc-is-down.md | 19 + ...repository-mirror-at-ustc-is-down.zh-cn.md | 19 + ...enlightenment-updated-to-021-series-e21.md | 26 + ...tenment-updated-to-021-series-e21.zh-cn.md | 26 + content/news/2016-09-24-core-401-released.md | 25 + .../2016-09-24-core-401-released.zh-cn.md | 25 + .../news/2016-09-24-mate-116-now-available.md | 27 + ...2016-09-24-mate-116-now-available.zh-cn.md | 27 + ...ase-and-simplified-desktop-installation.md | 36 + ...d-simplified-desktop-installation.zh-cn.md | 36 + .../2016-09-25-gnome-322-now-available.md | 38 + ...016-09-25-gnome-322-now-available.zh-cn.md | 38 + ...uild3-documentation-updated-for-core-40.md | 25 + ...documentation-updated-for-core-40.zh-cn.md | 25 + .../2016-09-26-mate-1160-packages-rebuilt.md | 19 + ...-09-26-mate-1160-packages-rebuilt.zh-cn.md | 19 + ...sc-os-base-and-buildkit-tarball-updates.md | 26 + ...base-and-buildkit-tarball-updates.zh-cn.md | 26 + ...fixes-now-available-for-gnome-shell-322.md | 21 + ...now-available-for-gnome-shell-322.zh-cn.md | 21 + ...itory-snapshots-migrated-to-git-bundles.md | 42 + ...snapshots-migrated-to-git-bundles.zh-cn.md | 42 + .../2016-09-29-aoscs-google-page-is-here.md | 18 + ...6-09-29-aoscs-google-page-is-here.zh-cn.md | 18 + ...-29-termination-of-rpm-package-releases.md | 16 + ...rmination-of-rpm-package-releases.zh-cn.md | 16 + ...-09-29-updates-to-the-repository-server.md | 16 + ...-updates-to-the-repository-server.zh-cn.md | 16 + ...016-09-30-zh_cn-l10n-guide-153-released.md | 15 + ...-30-zh_cn-l10n-guide-153-released.zh-cn.md | 15 + ...sc-os-repository-at-ustc-is-back-online.md | 14 + ...repository-at-ustc-is-back-online.zh-cn.md | 14 + ...-10-02-new-package-additions-oct-3-2016.md | 20 + ...-new-package-additions-oct-3-2016.zh-cn.md | 20 + .../2016-10-02-security-advisory-numbering.md | 22 + ...10-02-security-advisory-numbering.zh-cn.md | 22 + .../news/2016-10-03-a-new-mirror-at-lzuoss.md | 18 + ...2016-10-03-a-new-mirror-at-lzuoss.zh-cn.md | 18 + .../2016-10-08-plasma-58-now-available.md | 34 + ...016-10-08-plasma-58-now-available.zh-cn.md | 34 + ...10-11-new-package-additions-oct-11-2016.md | 18 + ...new-package-additions-oct-11-2016.zh-cn.md | 18 + ...10-12-xfce-packages-rebuilt-and-refined.md | 25 + ...xfce-packages-rebuilt-and-refined.zh-cn.md | 25 + ...10-18-new-package-additions-oct-18-2016.md | 26 + ...new-package-additions-oct-18-2016.zh-cn.md | 26 + ...-21-system-release-update-oct-21st-2016.md | 44 + ...stem-release-update-oct-21st-2016.zh-cn.md | 44 + ...10-29-new-package-additions-oct-29-2016.md | 37 + ...new-package-additions-oct-29-2016.zh-cn.md | 37 + ...016-10-29-notes-on-flash-player-support.md | 15 + ...-29-notes-on-flash-player-support.zh-cn.md | 15 + ...-11-04-new-package-additions-nov-5-2016.md | 29 + ...-new-package-additions-nov-5-2016.zh-cn.md | 29 + ...11-14-new-package-additions-nov-14-2016.md | 18 + ...new-package-additions-nov-14-2016.zh-cn.md | 18 + ...-14-package-update-advisory-nov-14-2016.md | 28 + ...ckage-update-advisory-nov-14-2016.zh-cn.md | 28 + ...11-18-new-package-additions-nov-18-2016.md | 24 + ...new-package-additions-nov-18-2016.zh-cn.md | 24 + ...inity-desktop-environment-now-available.md | 46 + ...desktop-environment-now-available.zh-cn.md | 46 + ...-20-package-update-advisory-nov-20-2016.md | 19 + ...ckage-update-advisory-nov-20-2016.zh-cn.md | 19 + content/news/2016-12-01-core-41-is-here.md | 27 + .../news/2016-12-01-core-41-is-here.zh-cn.md | 27 + ...-happy-birthday-aosc-for-the-fifth-time.md | 34 + ...-birthday-aosc-for-the-fifth-time.zh-cn.md | 34 + ...sc-os-repository-mirror-at-ustc-is-down.md | 18 + ...repository-mirror-at-ustc-is-down.zh-cn.md | 18 + .../2016-12-07-allwinner-images-available.md | 75 + ...-12-07-allwinner-images-available.zh-cn.md | 75 + ...016-12-07-raspberry-pi-images-available.md | 22 + ...-07-raspberry-pi-images-available.zh-cn.md | 22 + ...-distribution-updates-and-looking-ahead.md | 33 + ...ibution-updates-and-looking-ahead.zh-cn.md | 33 + .../2016-12-13-updates-to-allwinner-images.md | 18 + ...12-13-updates-to-allwinner-images.zh-cn.md | 18 + ...-16-new-package-additions-dec-16th-2016.md | 46 + ...w-package-additions-dec-16th-2016.zh-cn.md | 46 + .../news/2016-12-31-happy-early-new-year.md | 22 + .../2016-12-31-happy-early-new-year.zh-cn.md | 22 + ...12-31-new-package-additions-dec-31-2016.md | 55 + ...new-package-additions-dec-31-2016.zh-cn.md | 55 + .../news/2017-01-01-acbs-is-ready-to-roll.md | 27 + .../2017-01-01-acbs-is-ready-to-roll.zh-cn.md | 27 + ...on-wine-and-x86-support-for-arm-devices.md | 14 + ...e-and-x86-support-for-arm-devices.zh-cn.md | 14 + content/news/2017-01-07-on-aosc-os-ports.md | 133 + .../news/2017-01-07-on-aosc-os-ports.zh-cn.md | 133 + ...01-26-new-package-additions-jan-25-2017.md | 15 + ...new-package-additions-jan-25-2017.zh-cn.md | 15 + .../2017-02-06-dev-updates-issue-1-2017.md | 30 + ...17-02-06-dev-updates-issue-1-2017.zh-cn.md | 30 + ...-02-06-new-package-additions-feb-6-2017.md | 60 + ...-new-package-additions-feb-6-2017.zh-cn.md | 60 + content/news/2017-02-08-core-42-is-here.md | 26 + .../news/2017-02-08-core-42-is-here.zh-cn.md | 26 + .../2017-02-14-repository-key-expiration.md | 36 + ...7-02-14-repository-key-expiration.zh-cn.md | 36 + .../2017-03-04-spring-distribution-updates.md | 36 + ...03-04-spring-distribution-updates.zh-cn.md | 36 + ...3-05-new-package-additions-mar-5th-2017.md | 26 + ...ew-package-additions-mar-5th-2017.zh-cn.md | 26 + .../2017-03-29-dev-updates-issue-2-2017.md | 39 + ...17-03-29-dev-updates-issue-2-2017.zh-cn.md | 39 + .../2017-03-29-gnome-324-is-now-available.md | 37 + ...-03-29-gnome-324-is-now-available.zh-cn.md | 37 + .../news/2017-03-31-dev-updates-issue-21.md | 87 + .../2017-03-31-dev-updates-issue-21.zh-cn.md | 87 + ...pository-de-dup-to-take-place-next-week.md | 16 + ...ry-de-dup-to-take-place-next-week.zh-cn.md | 16 + .../news/2017-04-10-firmware-package-split.md | 14 + ...2017-04-10-firmware-package-split.zh-cn.md | 14 + ...m64-images-update-for-allwinner-devices.md | 15 + ...ages-update-for-allwinner-devices.zh-cn.md | 15 + .../2017-04-15-repository-de-dup-complete.md | 20 + ...-04-15-repository-de-dup-complete.zh-cn.md | 20 + ...ut-needed-with-upcoming-iana-etc-update.md | 14 + ...ded-with-upcoming-iana-etc-update.zh-cn.md | 14 + ...updates-to-our-community-infrastructure.md | 38 + ...s-to-our-community-infrastructure.zh-cn.md | 38 + .../2017-05-05-cinnamon-34-now-available.md | 16 + ...7-05-05-cinnamon-34-now-available.zh-cn.md | 16 + content/news/2017-06-07-core-422-fin.md | 32 + content/news/2017-06-07-core-422-fin.zh-cn.md | 32 + ...017-06-14-aoscc-2017-now-up-for-sign-up.md | 37 + ...-14-aoscc-2017-now-up-for-sign-up.zh-cn.md | 37 + ...2017-06-14-zh_cn-localization-guide-154.md | 16 + ...6-14-zh_cn-localization-guide-154.zh-cn.md | 16 + ...-dev-updates-issue-3-new-update-pattern.md | 31 + ...pdates-issue-3-new-update-pattern.zh-cn.md | 31 + ...c-2017-schedule-sponsors-and-count-down.md | 42 + ...-schedule-sponsors-and-count-down.zh-cn.md | 42 + content/news/2017-07-13-its-happening.md | 19 + .../news/2017-07-13-its-happening.zh-cn.md | 19 + content/news/2017-07-19-aoscc-2017-re-cap.md | 84 + .../2017-07-19-aoscc-2017-re-cap.zh-cn.md | 84 + content/news/2017-07-30-new-server-host.md | 18 + .../news/2017-07-30-new-server-host.zh-cn.md | 18 + content/news/2017-08-01-july-wave-is-here.md | 93 + .../2017-08-01-july-wave-is-here.zh-cn.md | 93 + .../news/2017-08-02-coming-up-in-august.md | 29 + .../2017-08-02-coming-up-in-august.zh-cn.md | 29 + ...xpected-repository-downtime-in-12-hours.md | 35 + ...d-repository-downtime-in-12-hours.zh-cn.md | 35 + ...017-08-19-update-on-repository-downtime.md | 36 + ...-19-update-on-repository-downtime.zh-cn.md | 36 + ...8-22-repository-server-is-up-and-stable.md | 12 + ...epository-server-is-up-and-stable.zh-cn.md | 12 + ...-goings-on-a-quick-mid-september-update.md | 51 + ...s-on-a-quick-mid-september-update.zh-cn.md | 51 + ...ugust-september-unified-wave-and-core-5.md | 88 + ...september-unified-wave-and-core-5.zh-cn.md | 88 + ...ng-lists-temporarily-blocks-qqcom-posts.md | 14 + ...ts-temporarily-blocks-qqcom-posts.zh-cn.md | 14 + content/news/2017-10-24-kudos-to-koddos.md | 12 + .../news/2017-10-24-kudos-to-koddos.zh-cn.md | 12 + .../news/2017-11-03-october-wave-is-here.md | 81 + .../2017-11-03-october-wave-is-here.zh-cn.md | 81 + .../2017-12-01-today-marks-our-6th-year.md | 28 + ...17-12-01-today-marks-our-6th-year.zh-cn.md | 28 + ...-05-aosc-os-end-of-2017-wave-of-updates.md | 54 + ...sc-os-end-of-2017-wave-of-updates.zh-cn.md | 54 + ...ess-report-aosc-os-meltdown-and-spectre.md | 22 + ...port-aosc-os-meltdown-and-spectre.zh-cn.md | 22 + ...ess-report-aosc-os-meltdown-and-spectre.md | 21 + ...port-aosc-os-meltdown-and-spectre.zh-cn.md | 21 + ...018-01-10-core-511-meltdown-and-spectre.md | 22 + ...-10-core-511-meltdown-and-spectre.zh-cn.md | 22 + ...ess-report-aosc-os-meltdown-and-spectre.md | 18 + ...port-aosc-os-meltdown-and-spectre.zh-cn.md | 18 + ...ess-report-aosc-os-meltdown-and-spectre.md | 18 + ...port-aosc-os-meltdown-and-spectre.zh-cn.md | 18 + .../news/2018-02-02-new-tarball-releases.md | 45 + .../2018-02-02-new-tarball-releases.zh-cn.md | 45 + ...mportant-and-unfortunate-project-update.md | 38 + ...nt-and-unfortunate-project-update.zh-cn.md | 38 + ...18-04-27-aosc-os-spring-wave-of-updates.md | 102 + ...27-aosc-os-spring-wave-of-updates.zh-cn.md | 102 + content/news/2018-07-17-aoscc-2018.md | 70 + content/news/2018-07-17-aoscc-2018.zh-cn.md | 70 + content/news/2018-08-13-re-cap-aoscc-2018.md | 129 + .../2018-08-13-re-cap-aoscc-2018.zh-cn.md | 129 + .../news/2018-12-25-repository-migration.md | 18 + .../2018-12-25-repository-migration.zh-cn.md | 18 + .../2019-03-18-new-mirror-at-cqu-lanunion.md | 12 + ...-03-18-new-mirror-at-cqu-lanunion.zh-cn.md | 12 + content/news/2019-04-01-april-update.md | 31 + content/news/2019-04-01-april-update.zh-cn.md | 31 + ...risis-by-initiation-of-the-idol-project.md | 30 + ...by-initiation-of-the-idol-project.zh-cn.md | 30 + content/news/2019-04-03-happy-april.md | 16 + content/news/2019-04-03-happy-april.zh-cn.md | 16 + ...8-weekly-community-report-issue-15-2019.md | 36 + ...ly-community-report-issue-15-2019.zh-cn.md | 36 + ...2-weekly-community-report-issue-17-2019.md | 68 + ...ly-community-report-issue-17-2019.zh-cn.md | 68 + ...9-weekly-community-report-issue-18-2019.md | 78 + ...ly-community-report-issue-18-2019.zh-cn.md | 78 + ...-community-repository-all-systems-green.md | 12 + ...nity-repository-all-systems-green.zh-cn.md | 12 + ...nexpected-downtime-on-repository-server.md | 17 + ...ted-downtime-on-repository-server.zh-cn.md | 17 + ...7-weekly-community-report-issue-28-2019.md | 52 + ...ly-community-report-issue-28-2019.zh-cn.md | 52 + ...ommunity-repository-unexpected-downtime.md | 12 + ...ty-repository-unexpected-downtime.zh-cn.md | 12 + ...-community-repository-service-recovered.md | 10 + ...nity-repository-service-recovered.zh-cn.md | 10 + ...9-08-05-aosc-os-stable-branch-all-clear.md | 12 + ...5-aosc-os-stable-branch-all-clear.zh-cn.md | 12 + ...aosc-os-stable-branch-dependency-issues.md | 14 + ...s-stable-branch-dependency-issues.zh-cn.md | 14 + ...020-01-30-new-wave-of-updates-available.md | 163 + ...-30-new-wave-of-updates-available.zh-cn.md | 163 + ...-02-07-this-week-in-aosc-os-development.md | 92 + ...-this-week-in-aosc-os-development.zh-cn.md | 92 + ...-02-14-this-week-in-aosc-os-development.md | 144 + ...-this-week-in-aosc-os-development.zh-cn.md | 144 + ...020-02-20-updates-withdrawn-from-stable.md | 119 + ...-20-updates-withdrawn-from-stable.zh-cn.md | 119 + ...-02-22-this-week-in-aosc-os-development.md | 143 + ...-this-week-in-aosc-os-development.zh-cn.md | 143 + ...ty-announcements-mailing-list-migration.md | 27 + ...ouncements-mailing-list-migration.zh-cn.md | 27 + .../2020-05-03-new-aarch64-build-server.md | 15 + ...20-05-03-new-aarch64-build-server.zh-cn.md | 15 + ...tale-aosc-os-ports-and-initiating-retro.md | 62 + ...osc-os-ports-and-initiating-retro.zh-cn.md | 62 + .../news/2020-05-03-winter-cycle-complete.md | 52 + .../2020-05-03-winter-cycle-complete.zh-cn.md | 52 + ...20-05-18-new-loongson-development-board.md | 19 + ...18-new-loongson-development-board.zh-cn.md | 19 + ...-05-27-new-tarballs-available-for-amd64.md | 43 + ...-new-tarballs-available-for-amd64.zh-cn.md | 43 + .../2020-05-28-introducing-aoscbootstrap.md | 17 + ...0-05-28-introducing-aoscbootstrap.zh-cn.md | 17 + ...2020-08-06-a-facelift-for-aosc-pastebin.md | 51 + ...8-06-a-facelift-for-aosc-pastebin.zh-cn.md | 51 + content/news/2020-09-24-virtual-aoscc-2020.md | 54 + .../2020-09-24-virtual-aoscc-2020.zh-cn.md | 54 + .../news/2020-09-29-new-wiki-site-now-live.md | 26 + ...2020-09-29-new-wiki-site-now-live.zh-cn.md | 26 + .../2020-09-30-virtual-aoscc-2020-re-cap.md | 151 + ...0-09-30-virtual-aoscc-2020-re-cap.zh-cn.md | 151 + content/news/2020-11-18-introducing-atm.md | 42 + .../news/2020-11-18-introducing-atm.zh-cn.md | 42 + content/news/2020-11-18-meet-an-an.md | 37 + content/news/2020-11-18-meet-an-an.zh-cn.md | 37 + content/news/2020-11-18-ospp-2020-re-cap.md | 57 + .../news/2020-11-18-ospp-2020-re-cap.zh-cn.md | 57 + content/news/2020-12-06-aosc-os-core-8.md | 42 + .../news/2020-12-06-aosc-os-core-8.zh-cn.md | 42 + .../2021-03-28-switch-to-shadowsocks-rust.md | 21 + ...-03-28-switch-to-shadowsocks-rust.zh-cn.md | 21 + .../2021-04-06-gnome-40-gdm-not-working.md | 29 + ...21-04-06-gnome-40-gdm-not-working.zh-cn.md | 26 + .../news/2021-04-10-dracut-trigger-cycle.md | 25 + .../2021-04-10-dracut-trigger-cycle.zh-cn.md | 25 + .../2021-04-13-rime-base-uninstall-issue.md | 41 + ...1-04-13-rime-base-uninstall-issue.zh-cn.md | 38 + ...2021-04-19-general-survey-large-mariadb.md | 16 + ...4-19-general-survey-large-mariadb.zh-cn.md | 14 + ...021-04-19-samba-4.14.2-topic-file-confl.md | 26 + ...-19-samba-4.14.2-topic-file-confl.zh-cn.md | 26 + ...stemd-cause-fcitx-and-audio-not-working.md | 13 + ...cause-fcitx-and-audio-not-working.zh-cn.md | 14 + ...021-05-02-samba-4.14.2-dependency-issue.md | 22 + ...-02-samba-4.14.2-dependency-issue.zh-cn.md | 22 + ....5-inadequate-handling-of-file-transfer.md | 29 + ...dequate-handling-of-file-transfer.zh-cn.md | 29 + .../2021-06-08-libera-project-registration.md | 21 + ...06-08-libera-project-registration.zh-cn.md | 21 + .../2021-06-11-discover-fails-to-launch.md | 21 + ...21-06-11-discover-fails-to-launch.zh-cn.md | 20 + content/news/2021-06-11-fwupd-missing-lib.md | 22 + .../2021-06-11-fwupd-missing-lib.zh-cn.md | 22 + ...0-kde-brightness-control-not-functional.md | 15 + ...brightness-control-not-functional.zh-cn.md | 14 + .../2021-06-30-rnnoise-not-as-advertised.md | 19 + ...1-06-30-rnnoise-not-as-advertised.zh-cn.md | 18 + .../news/2021-06-30-xrdp-emergency-update.md | 22 + .../2021-06-30-xrdp-emergency-update.zh-cn.md | 19 + .../2021-07-03-apt-dracut-trigger-looping.md | 26 + ...-07-03-apt-dracut-trigger-looping.zh-cn.md | 26 + ...-07-21-rpi-kernel-update-policy-changed.md | 15 + ...-rpi-kernel-update-policy-changed.zh-cn.md | 15 + ...2021-08-18-comm-repo-server-maintenance.md | 13 + ...8-18-comm-repo-server-maintenance.zh-cn.md | 13 + content/news/2021-09-02-vscode-update.md | 15 + .../news/2021-09-02-vscode-update.zh-cn.md | 14 + content/news/2021-09-04-cutefish-kde-confl.md | 18 + .../2021-09-04-cutefish-kde-confl.zh-cn.md | 16 + content/news/2021-09-15-aoscc-2021-info.md | 18 + .../news/2021-09-15-aoscc-2021-info.zh-cn.md | 18 + content/news/2021-09-24-remove-brise.md | 24 + content/news/2021-09-24-remove-brise.zh-cn.md | 22 + .../2021-09-27-lets-encrypt-cert-expire.md | 33 + ...21-09-27-lets-encrypt-cert-expire.zh-cn.md | 23 + .../news/2021-10-21-chromium-95-pkg-issue.md | 21 + .../2021-10-21-chromium-95-pkg-issue.zh-cn.md | 21 + content/news/2021-11-05-removing-lightcord.md | 21 + .../2021-11-05-removing-lightcord.zh-cn.md | 21 + ...-19-codeweavers-and-github-suponsorship.md | 22 + ...deweavers-and-github-suponsorship.zh-cn.md | 22 + content/news/2021-11-29-python-3-10-update.md | 18 + .../2021-11-29-python-3-10-update.zh-cn.md | 13 + .../2021-12-01-decennial-thesis-prologue.md | 38 + ...1-12-01-decennial-thesis-prologue.zh-cn.md | 18 + ...21-12-14-10-year-anniversary-wallpapers.md | 19 + ...14-10-year-anniversary-wallpapers.zh-cn.md | 19 + .../news/2022-01-13-firefox-http3-issue.md | 23 + .../2022-01-13-firefox-http3-issue.zh-cn.md | 17 + content/news/2022-01-16-aosc-os-9.md | 17 + content/news/2022-01-16-aosc-os-9.zh-cn.md | 15 + .../news/2022-01-26-glib-fam-ff-stability.md | 22 + .../2022-01-26-glib-fam-ff-stability.zh-cn.md | 15 + content/news/2022-04-27-nvidia-32.md | 25 + content/news/2022-04-27-nvidia-32.zh-cn.md | 21 + content/news/2022-04-28-year-of-the-pc-110.md | 32 + .../2022-04-28-year-of-the-pc-110.zh-cn.md | 25 + content/news/2022-05-05-mesa-update.md | 40 + content/news/2022-05-05-mesa-update.zh-cn.md | 24 + content/news/2022-05-13-elvish-update.md | 32 + .../news/2022-05-13-elvish-update.zh-cn.md | 23 + content/news/2022-06-14-power-port-reboot.md | 24 + .../2022-06-14-power-port-reboot.zh-cn.md | 15 + ...2022-07-02-critical-shadow-security-fix.md | 19 + ...7-02-critical-shadow-security-fix.zh-cn.md | 16 + .../2022-07-27-multimc5-migrate-to-polymc.md | 34 + ...-07-27-multimc5-migrate-to-polymc.zh-cn.md | 27 + ...2-08-26-recent-kernel-update-breaks-kvm.md | 53 + ...6-recent-kernel-update-breaks-kvm.zh-cn.md | 44 + ...itical-design-flaw-in-livekit-installer.md | 21 + ...-design-flaw-in-livekit-installer.zh-cn.md | 16 + ...2-09-03-issues-with-thunderbird-102-2-0.md | 22 + ...3-issues-with-thunderbird-102-2-0.zh-cn.md | 16 + content/news/2022-09-13-aoscc-2022-info.md | 19 + .../news/2022-09-13-aoscc-2022-info.zh-cn.md | 25 + ...t-your-system-after-libffi-3.4.2-update.md | 19 + ...-system-after-libffi-3.4.2-update.zh-cn.md | 14 + .../2022-10-15-libffi-3.4.2-gnome-breakage.md | 31 + ...10-15-libffi-3.4.2-gnome-breakage.zh-cn.md | 31 + .../2023-02-10-amdgpu-mesa-llvm15-glitches.md | 34 + ...02-10-amdgpu-mesa-llvm15-glitches.zh-cn.md | 28 + .../2023-02-12-package-retirement-20230211.md | 59 + ...02-12-package-retirement-20230211.zh-cn.md | 40 + content/news/2023-02-25-omakase-preview.md | 22 + .../news/2023-02-25-omakase-preview.zh-cn.md | 16 + .../2023-03-09-mozilla-xdg-desktop-portal.md | 16 + ...-03-09-mozilla-xdg-desktop-portal.zh-cn.md | 16 + ...ailed-to-remember-recently-used-session.md | 16 + ...to-remember-recently-used-session.zh-cn.md | 16 + .../news/2023-04-05-mcfly-residual-config.md | 35 + .../2023-04-05-mcfly-residual-config.zh-cn.md | 29 + .../2023-06-23-hook-uname-residual-config.md | 23 + ...-06-23-hook-uname-residual-config.zh-cn.md | 16 + content/news/2023-07-06-aoscc-2023.md | 49 + content/news/2023-07-06-aoscc-2023.zh-cn.md | 32 + .../news/2023-07-06-tmux-behavior-change.md | 23 + .../2023-07-06-tmux-behavior-change.zh-cn.md | 23 + content/news/2023-07-22-aoscc-2023-re-cap.md | 95 + .../2023-07-22-aoscc-2023-re-cap.zh-cn.md | 95 + content/news/2023-08-11-coffee-break.md | 163 + content/news/2023-08-11-coffee-break.zh-cn.md | 164 + content/news/2023-08-25-coffee-break.md | 194 + content/news/2023-08-25-coffee-break.zh-cn.md | 195 + content/news/2023-08-27-sjtug-mirror.md | 15 + content/news/2023-08-27-sjtug-mirror.zh-cn.md | 15 + content/news/2023-08-28-nit-cips-mirror.md | 15 + .../news/2023-08-28-nit-cips-mirror.zh-cn.md | 15 + content/news/2023-09-08-coffee-break.md | 187 + content/news/2023-09-08-coffee-break.zh-cn.md | 187 + .../2023-09-20-thunderbird-scaling-issue.md | 14 + ...3-09-20-thunderbird-scaling-issue.zh-cn.md | 14 + content/news/2023-09-22-coffee-break.md | 187 + content/news/2023-09-22-coffee-break.zh-cn.md | 192 + content/news/2023-10-06-openssl-3-update.md | 18 + .../news/2023-10-06-openssl-3-update.zh-cn.md | 18 + content/news/2023-10-11-curl-8.4.0.md | 20 + content/news/2023-10-11-curl-8.4.0.zh-cn.md | 20 + .../news/2023-10-11-new-aarch64-servers.md | 16 + .../2023-10-11-new-aarch64-servers.zh-cn.md | 14 + .../2023-10-13-new-coffee-break-schedule.md | 14 + ...3-10-13-new-coffee-break-schedule.zh-cn.md | 14 + content/news/2023-10-14-coffee-break.md | 242 + content/news/2023-10-14-coffee-break.zh-cn.md | 242 + .../2023-10-17-aosc-os-releases-2023-10.md | 71 + ...23-10-17-aosc-os-releases-2023-10.zh-cn.md | 69 + content/news/2023-10-28-coffee-break.md | 204 + content/news/2023-10-28-coffee-break.zh-cn.md | 204 + content/news/2023-11-11-coffee-break.md | 150 + content/news/2023-11-11-coffee-break.zh-cn.md | 153 + .../2023-11-20-aosc-os-for-apple-silicon.md | 58 + ...3-11-20-aosc-os-for-apple-silicon.zh-cn.md | 51 + content/news/2023-11-25-coffee-break.md | 251 + content/news/2023-11-25-coffee-break.zh-cn.md | 249 + content/news/2023-12-09-coffee-break.md | 210 + content/news/2023-12-09-coffee-break.zh-cn.md | 211 + content/news/2023-12-23-coffee-break.md | 300 + content/news/2023-12-23-coffee-break.zh-cn.md | 303 + ...od-update-renders-the-system-unbootable.md | 52 + ...ate-renders-the-system-unbootable.zh-cn.md | 46 + ...4-grub-2-12-update-is-ready-for-testing.md | 26 + ...-2-12-update-is-ready-for-testing.zh-cn.md | 26 + .../news/2024-01-24-mips64r6el-demotion.md | 19 + .../2024-01-24-mips64r6el-demotion.zh-cn.md | 14 + content/news/2024-01-25-font-update-issue.md | 17 + .../2024-01-25-font-update-issue.zh-cn.md | 14 + content/news/2024-01-27-coffee-break.md | 268 + content/news/2024-01-27-coffee-break.zh-cn.md | 268 + content/news/2024-02-01-linux-cn-closure.md | 18 + .../news/2024-02-01-linux-cn-closure.zh-cn.md | 16 + ...024-02-09-aosc-os-loongarch64-mainlined.md | 36 + ...-09-aosc-os-loongarch64-mainlined.zh-cn.md | 35 + content/news/2024-02-10-coffee-break.md | 115 + content/news/2024-02-10-coffee-break.zh-cn.md | 115 + .../news/2024-02-13-springcon-2024-preview.md | 37 + ...2024-02-13-springcon-2024-preview.zh-cn.md | 37 + .../2024-02-15-aosc-os-loongarch64-release.md | 18 + ...02-15-aosc-os-loongarch64-release.zh-cn.md | 18 + ...2024-02-20-aosc-springcon-questionnaire.md | 27 + ...2-20-aosc-springcon-questionnaire.zh-cn.md | 26 + ...2024-02-20-new-loongarch64-build-server.md | 17 + ...2-20-new-loongarch64-build-server.zh-cn.md | 17 + content/news/2024-02-23-aosc-os-repo-down.md | 10 + .../2024-02-23-aosc-os-repo-down.zh-cn.md | 10 + content/news/2024-02-23-aosc-os-repo-up.md | 42 + .../news/2024-02-23-aosc-os-repo-up.zh-cn.md | 42 + content/news/2024-02-26-aosc-os-repo-down.md | 15 + .../2024-02-26-aosc-os-repo-down.zh-cn.md | 15 + content/news/2024-02-26-coffee-break.md | 135 + content/news/2024-02-26-coffee-break.zh-cn.md | 134 + ...4-02-26-roaming-camera-application-open.md | 35 + ...6-roaming-camera-application-open.zh-cn.md | 35 + content/news/2024-02-27-aosc-os-repo-up.md | 55 + .../news/2024-02-27-aosc-os-repo-up.zh-cn.md | 55 + ...2024-03-01-new-loongarch64-build-server.md | 15 + ...3-01-new-loongarch64-build-server.zh-cn.md | 17 + ...3-06-aosc-os-loongarch64-release-update.md | 29 + ...osc-os-loongarch64-release-update.zh-cn.md | 27 + .../news/2024-03-06-new-amd64-build-server.md | 13 + ...2024-03-06-new-amd64-build-server.zh-cn.md | 13 + ...2024-03-07-new-loongarch64-build-server.md | 13 + ...3-07-new-loongarch64-build-server.zh-cn.md | 13 + content/news/2024-03-09-coffee-break.md | 193 + content/news/2024-03-09-coffee-break.zh-cn.md | 194 + ...24-03-17-pku-tuna-towards-modern-distro.md | 25 + ...17-pku-tuna-towards-modern-distro.zh-cn.md | 24 + .../news/2024-03-20-qfnu-computing-evolved.md | 26 + ...2024-03-20-qfnu-computing-evolved.zh-cn.md | 26 + .../news/2024-03-20-unwanted-dependencies.md | 16 + .../2024-03-20-unwanted-dependencies.zh-cn.md | 16 + content/news/2024-03-23-coffee-break.md | 139 + content/news/2024-03-23-coffee-break.zh-cn.md | 140 + .../2024-03-27-qfnu-computing-evolved-vod.md | 18 + ...-03-27-qfnu-computing-evolved-vod.zh-cn.md | 18 + content/news/2024-03-27-spiral.md | 28 + content/news/2024-03-27-spiral.zh-cn.md | 28 + ...2024-04-02-aosc-os-system-upgrade-error.md | 19 + ...4-02-aosc-os-system-upgrade-error.zh-cn.md | 19 + content/news/2024-04-02-media-writer.md | 18 + content/news/2024-04-02-media-writer.zh-cn.md | 18 + ...4-02-pku-tuna-towards-modern-distro-vod.md | 14 + ...ku-tuna-towards-modern-distro-vod.zh-cn.md | 14 + content/news/2024-04-04-oma-1.3.md | 18 + content/news/2024-04-04-oma-1.3.zh-cn.md | 19 + content/news/2024-04-05-wps-office-dropped.md | 17 + .../2024-04-05-wps-office-dropped.zh-cn.md | 18 + content/news/2024-04-13-coffee-break.md | 149 + content/news/2024-04-13-coffee-break.zh-cn.md | 148 + .../2024-04-22-aoscc-2024-poll-upcoming.md | 13 + ...24-04-22-aoscc-2024-poll-upcoming.zh-cn.md | 13 + .../news/2024-04-22-ospp-2024-projects-up.md | 19 + .../2024-04-22-ospp-2024-projects-up.zh-cn.md | 19 + content/news/2024-04-24-aoscc-2024-poll.md | 31 + .../news/2024-04-24-aoscc-2024-poll.zh-cn.md | 31 + ...2024-04-26-aosc-os-system-upgrade-error.md | 21 + ...4-26-aosc-os-system-upgrade-error.zh-cn.md | 21 + content/news/2024-04-27-coffee-break.md | 180 + content/news/2024-04-27-coffee-break.zh-cn.md | 180 + ...24-05-01-aoscc-2024-call-for-volunteers.md | 22 + ...01-aoscc-2024-call-for-volunteers.zh-cn.md | 22 + .../news/2024-05-01-aoscc-2024-poll-review.md | 15 + ...2024-05-01-aoscc-2024-poll-review.zh-cn.md | 15 + content/news/2024-05-01-liblol-0.1.5.md | 23 + content/news/2024-05-01-liblol-0.1.5.zh-cn.md | 23 + ...-05-03-aoscc-2024-working-group-meeting.md | 21 + ...-aoscc-2024-working-group-meeting.zh-cn.md | 22 + ...-05-04-aoscc-2024-working-group-minutes.md | 25 + ...-aoscc-2024-working-group-minutes.zh-cn.md | 25 + content/news/2024-05-12-coffee-break.md | 219 + content/news/2024-05-12-coffee-break.zh-cn.md | 219 + .../news/2024-05-21-ospp-2024-jlu-preview.md | 16 + .../2024-05-21-ospp-2024-jlu-preview.zh-cn.md | 16 + .../2024-05-24-new-aarch64-build-server.md | 13 + ...24-05-24-new-aarch64-build-server.zh-cn.md | 13 + content/news/2024-05-26-coffee-break.md | 134 + content/news/2024-05-26-coffee-break.zh-cn.md | 134 + .../2024-05-27-ospp-2024-planning-meeting.md | 14 + ...-05-27-ospp-2024-planning-meeting.zh-cn.md | 14 + content/news/2024-05-29-oma-upgrade-bug.md | 16 + .../news/2024-05-29-oma-upgrade-bug.zh-cn.md | 16 + content/news/2024-05-29-ospp-2024-jlu-vod.md | 15 + .../2024-05-29-ospp-2024-jlu-vod.zh-cn.md | 15 + .../news/2024-05-30-ospp-users-guide-exam.md | 13 + .../2024-05-30-ospp-users-guide-exam.zh-cn.md | 13 + ...-06-01-aoscc-2024-working-group-meeting.md | 20 + ...-aoscc-2024-working-group-meeting.zh-cn.md | 20 + ...2024-06-01-packages-site-meeting-notice.md | 13 + ...6-01-packages-site-meeting-notice.zh-cn.md | 13 + content/news/2024-06-02-aosc-sticker.md | 15 + content/news/2024-06-02-aosc-sticker.zh-cn.md | 16 + ...oscc-2024-working-group-meeting-minutes.md | 54 + ...024-working-group-meeting-minutes.zh-cn.md | 54 + ...024-06-02-packages-site-meeting-minutes.md | 39 + ...-02-packages-site-meeting-minutes.zh-cn.md | 39 + ...2024-06-03-new-loongarch64-build-server.md | 16 + ...6-03-new-loongarch64-build-server.zh-cn.md | 16 + .../news/2024-06-04-aosc-os-livekit-pre.md | 23 + .../2024-06-04-aosc-os-livekit-pre.zh-cn.md | 23 + content/news/2024-06-04-latx-1.5.2.md | 31 + content/news/2024-06-04-latx-1.5.2.zh-cn.md | 31 + .../news/2024-06-07-aosc-os-livekit-pre.md | 40 + .../2024-06-07-aosc-os-livekit-pre.zh-cn.md | 40 + ...2024-06-08-new-loongarch64-build-server.md | 11 + ...6-08-new-loongarch64-build-server.zh-cn.md | 11 + .../2024-06-09-aoscc-2024-registration.md | 20 + ...024-06-09-aoscc-2024-registration.zh-cn.md | 20 + content/news/2024-06-09-coffee-break.md | 181 + content/news/2024-06-09-coffee-break.zh-cn.md | 181 + .../news/2024-06-10-ospp-2024-exam-meeting.md | 22 + ...2024-06-10-ospp-2024-exam-meeting.zh-cn.md | 22 + .../news/2024-06-17-fix-amd-gpu-reset-pre.md | 77 + .../2024-06-17-fix-amd-gpu-reset-pre.zh-cn.md | 77 + content/news/2024-06-24-coffee-break.md | 206 + content/news/2024-06-24-coffee-break.zh-cn.md | 206 + content/news/2024-06-26-gitcode-fake.md | 52 + content/news/2024-06-26-gitcode-fake.zh-cn.md | 52 + .../2024-06-27-aosc-os-installer-preview.md | 31 + ...4-06-27-aosc-os-installer-preview.zh-cn.md | 31 + .../news/2024-06-28-ospp-2024-work-start.md | 19 + .../2024-06-28-ospp-2024-work-start.zh-cn.md | 19 + content/news/2024-07-02-aoscc-2024-T-shirt.md | 46 + .../2024-07-02-aoscc-2024-T-shirt.zh-cn.md | 46 + .../news/2024-07-02-aoscc-2024-canvas-bag.md | 19 + .../2024-07-02-aoscc-2024-canvas-bag.zh-cn.md | 19 + .../news/2024-07-02-aoscc-2024-keychains.md | 13 + .../2024-07-02-aoscc-2024-keychains.zh-cn.md | 13 + .../news/2024-07-02-aoscc-2024-stickers.md | 31 + .../2024-07-02-aoscc-2024-stickers.zh-cn.md | 31 + content/news/2024-07-03-aoscc-2024-agenda.md | 22 + .../2024-07-03-aoscc-2024-agenda.zh-cn.md | 22 + .../2024-07-06-aoscc-2024-hotel-check-in.md | 25 + ...4-07-06-aoscc-2024-hotel-check-in.zh-cn.md | 24 + .../2024-07-08-aoscc-2024-registration.md | 15 + ...024-07-08-aoscc-2024-registration.zh-cn.md | 15 + .../2024-07-11-aoscc-2024-power-failure.md | 22 + ...24-07-11-aoscc-2024-power-failure.zh-cn.md | 22 + .../2024-07-12-aoscc-2024-arrival-tips.md | 23 + ...024-07-12-aoscc-2024-arrival-tips.zh-cn.md | 23 + ...vmpipe-orcjit-and-risc-v-support-merged.md | 18 + ...-orcjit-and-risc-v-support-merged.zh-cn.md | 18 + .../2024-07-18-aoscc-2024-call-for-photos.md | 16 + ...-07-18-aoscc-2024-call-for-photos.zh-cn.md | 16 + .../news/2024-07-18-coffee-break-schedule.md | 11 + .../2024-07-18-coffee-break-schedule.zh-cn.md | 11 + .../news/2024-07-21-deploykit-update-log.md | 21 + .../2024-07-21-deploykit-update-log.zh-cn.md | 21 + ...24-07-21-new-loongson-mips-build-server.md | 13 + ...21-new-loongson-mips-build-server.zh-cn.md | 13 + content/news/2024-07-21-oma-1.3.29.md | 13 + content/news/2024-07-21-oma-1.3.29.zh-cn.md | 13 + ...4-07-22-loongarch-oldworld-boot-support.md | 55 + ...2-loongarch-oldworld-boot-support.zh-cn.md | 55 + content/news/2024-07-22-oma-1.3.30.md | 13 + content/news/2024-07-22-oma-1.3.30.zh-cn.md | 13 + .../news/2024-07-24-deploykit-update-log.md | 16 + .../2024-07-24-deploykit-update-log.zh-cn.md | 16 + content/news/2024-07-24-oma-1.3.31.md | 18 + content/news/2024-07-24-oma-1.3.31.zh-cn.md | 18 + content/news/2024-07-26-oma-1.3.32.md | 18 + content/news/2024-07-26-oma-1.3.32.zh-cn.md | 18 + content/news/2024-07-28-oma-1.3.33.md | 17 + content/news/2024-07-28-oma-1.3.33.zh-cn.md | 17 + content/news/2024-07-29-flac-break.md | 23 + content/news/2024-07-29-flac-break.zh-cn.md | 23 + .../news/2024-07-29-mips-r6-closing-time.md | 19 + .../2024-07-29-mips-r6-closing-time.zh-cn.md | 19 + content/news/2024-07-29-oma-1.3.34.md | 17 + content/news/2024-07-29-oma-1.3.34.zh-cn.md | 17 + content/news/2024-07-29-postgresql-break.md | 26 + .../news/2024-07-29-postgresql-break.zh-cn.md | 26 + .../news/2024-07-30-chromium-update-log.md | 38 + .../2024-07-30-chromium-update-log.zh-cn.md | 38 + content/news/2024-08-01-oma-update-log.md | 14 + .../news/2024-08-01-oma-update-log.zh-cn.md | 14 + content/news/2024-08-04-coffee-break.md | 385 + content/news/2024-08-04-coffee-break.zh-cn.md | 385 + ...4-08-04-offline-installer-release-notes.md | 193 + ...4-offline-installer-release-notes.zh-cn.md | 193 + content/news/2024-08-06-oma-1.4.1.md | 28 + content/news/2024-08-06-oma-1.4.1.zh-cn.md | 28 + content/news/2024-08-08-oma-1.4.2.md | 12 + content/news/2024-08-08-oma-1.4.2.zh-cn.md | 12 + .../2024-08-12-aosc-os-abbs-100000-commits.md | 13 + ...08-12-aosc-os-abbs-100000-commits.zh-cn.md | 13 + ...8-12-aosc-os-base-and-essential-package.md | 21 + ...osc-os-base-and-essential-package.zh-cn.md | 21 + content/news/2024-08-12-oma-1.4.3.md | 12 + content/news/2024-08-12-oma-1.4.3.zh-cn.md | 12 + .../2024-08-12-oma-for-debian-and-ubuntu.md | 24 + ...4-08-12-oma-for-debian-and-ubuntu.zh-cn.md | 24 + ...4-08-15-aosc-os-for-loongarch-old-world.md | 81 + ...5-aosc-os-for-loongarch-old-world.zh-cn.md | 81 + content/news/2024-08-15-back-to-repology.md | 18 + .../news/2024-08-15-back-to-repology.zh-cn.md | 18 + content/news/2024-08-15-oma-1.5.2.md | 22 + content/news/2024-08-15-oma-1.5.2.zh-cn.md | 22 + content/news/2024-08-20-coffee-break.md | 271 + content/news/2024-08-20-coffee-break.zh-cn.md | 271 + content/news/2024-08-20-gstreamer-break.md | 19 + .../news/2024-08-20-gstreamer-break.zh-cn.md | 19 + content/news/2024-08-24-oma-1.7.md | 35 + content/news/2024-08-24-oma-1.7.zh-cn.md | 35 + content/news/2024-08-28-aoscc-2024-survey.md | 14 + .../2024-08-28-aoscc-2024-survey.zh-cn.md | 14 + .../news/2024-08-28-coffee-break-schedule.md | 11 + .../2024-08-28-coffee-break-schedule.zh-cn.md | 10 + content/news/2024-08-28-oma-1.8.md | 38 + content/news/2024-08-28-oma-1.8.zh-cn.md | 38 + content/news/2024-09-06-oma-1.9.md | 40 + content/news/2024-09-06-oma-1.9.zh-cn.md | 40 + .../2024-09-13-aosc-os-installer-ssh-keys.md | 20 + ...-09-13-aosc-os-installer-ssh-keys.zh-cn.md | 20 + content/news/2024-09-15-oma-1.10-rc1.md | 46 + content/news/2024-09-15-oma-1.10-rc1.zh-cn.md | 46 + content/news/2024-09-16-oma-1.10.zh-cn.md | 34 + content/news/2024-09-18-aosc-os-relnote.md | 23 + .../news/2024-09-18-aosc-os-relnote.zh-cn.md | 23 + content/news/2024-09-19-coffee-break.md | 251 + content/news/2024-09-19-coffee-break.zh-cn.md | 251 + content/news/2024-09-24-website-2023-up.md | 35 + .../news/2024-09-24-website-2023-up.zh-cn.md | 35 + content/news/2024-09-25-kernel-20240925.md | 35 + .../news/2024-09-25-kernel-20240925.zh-cn.md | 35 + content/news/2024-09-27-cups-0day-advisory.md | 25 + .../2024-09-27-cups-0day-advisory.zh-cn.md | 25 + .../2024-09-28-aosc-os-set-fcitx5-to-fcitx.md | 32 + ...09-28-aosc-os-set-fcitx5-to-fcitx.zh-cn.md | 32 + content/news/2024-09-28-oma-1.11.0-rc1.md | 45 + .../news/2024-09-28-oma-1.11.0-rc1.zh-cn.md | 45 + eslint.config.mjs | 15 + middleware/routeguard.global.ts | 3 + nuxt.config.ts | 44 + package-lock.json | 19184 ++++++++++++++++ package.json | 43 + pages/About.vue | 114 + pages/about/index.vue | 113 + pages/afterglow/index.vue | 107 + pages/afterglow/isa.vue | 118 + pages/afterglow/relnote.vue | 12 + pages/afterglow/requirements.vue | 95 + pages/aosc-os/index.vue | 131 + pages/aosc-os/isa.vue | 162 + pages/aosc-os/livekit/relnote.vue | 46 + pages/aosc-os/livekit/requirements.vue | 109 + pages/aosc-os/relnote.vue | 204 + pages/aosc-os/requirements.vue | 110 + pages/aosc-os/right-for-me/index.vue | 96 + pages/aosc-os/rightForMe.vue | 97 + pages/aosc-os/wsl/relnote.vue | 23 + pages/aosc-os/wsl/requirements.vue | 169 + pages/contact/index.vue | 139 + pages/crowdsourcing/index.vue | 49 + pages/download/index.vue | 668 + pages/events/index.vue | 219 + pages/gallery/index.vue | 89 + pages/guidelines/index.vue | 289 + pages/index.vue | 114 + pages/internship/index.vue | 226 + pages/l10n/index.vue | 46 + pages/liblol/index.vue | 81 + pages/mascot/index.vue | 153 + pages/news/components/NewsCategoryList.vue | 36 + pages/news/detail/[newsPath].vue | 21 + pages/news/index.vue | 69 + .../news/list/[category]/[categoryTitle].vue | 31 + pages/oma/index.vue | 93 + pages/paste/detail/index.vue | 106 + pages/paste/index.vue | 171 + pages/sponsors/index.vue | 260 + plugins/highlight.client.ts | 392 + plugins/vue-monaco-editor.ts | 4 + public/afterglow/afterglow.zh-cn.jpg | Bin 0 -> 189263 bytes public/aosc-os/aosc-os.zh-cn.jpg | Bin 0 -> 425798 bytes public/aosc.svg | 39 + public/backgrounds/afterglow.webp | Bin 0 -> 89164 bytes public/backgrounds/aosc-os-wsl.webp | Bin 0 -> 140248 bytes public/backgrounds/aosc-os.webp | Bin 0 -> 90274 bytes public/backgrounds/autumn.svg | 1 + public/backgrounds/floral.svg | 1 + public/backgrounds/livekit.jpg | Bin 0 -> 220850 bytes public/backgrounds/spring.svg | 1 + public/backgrounds/summer.svg | 1 + public/backgrounds/winter.svg | 1 + public/distros/afterglow.svg | 1 + public/distros/aosc-os.svg | 1 + public/download/afterglow-web.svg | 176 + public/download/aosc-os-web.svg | 131 + public/download/oma-mascot.svg | 430 + public/download/oma.svg | 39 + public/favicon.ico | Bin 0 -> 4286 bytes public/gallery.yml | 465 + public/heading/heading-wave.svg | 1 + public/heading/portal-logo-typed.en.svg | 100 + public/heading/portal-logo-typed.zh-cn.svg | 79 + public/heading/portal-logo.en.svg | 89 + public/heading/portal-logo.zh-cn.svg | 74 + public/icons/document-properties.min.svg | 1 + public/icons/key-enter.min.svg | 1 + public/icons/love.min.svg | 1 + public/icons/tools-wizard.min.svg | 1 + public/jumbotron/main1.svg | 1 + public/jumbotron/minor1.svg | 1 + public/jumbotron/minor2.svg | 1 + public/liblol/liblol.svg | 91 + public/mascot/anan.png | Bin 0 -> 601500 bytes public/mascot/qr.png | Bin 0 -> 80187 bytes public/newsCategories/advisories.en.json | 1 + public/newsCategories/advisories.zh-cn.json | 1 + public/newsCategories/en.json | 1 + public/newsCategories/home.en.json | 1 + public/newsCategories/home.zh-cn.json | 1 + public/newsCategories/journals.en.json | 1 + public/newsCategories/journals.zh-cn.json | 1 + public/newsCategories/minutes.en.json | 1 + public/newsCategories/minutes.zh-cn.json | 1 + public/newsCategories/news.en.json | 1 + public/newsCategories/news.zh-cn.json | 1 + public/newsCategories/zh-cn.json | 1 + public/oma/oma.png | Bin 0 -> 219722 bytes public/robots.txt | 1 + public/sponsors/apernet.png | Bin 0 -> 47683 bytes public/sponsors/apernet.svg | 44 + public/sponsors/bfsu.svg | 67 + public/sponsors/bpi.svg | 57 + public/sponsors/cods.svg | 57 + public/sponsors/cqu-lanunion.svg | 1418 ++ public/sponsors/cqupt-lug.svg | 46 + public/sponsors/crossover.svg | 57 + public/sponsors/fastly.svg | 54 + public/sponsors/fuslvz.svg | 203 + public/sponsors/geekpie.svg | 43 + public/sponsors/globalsign.png | Bin 0 -> 108426 bytes public/sponsors/globalsign.svg | 701 + public/sponsors/hexhu.svg | 57 + public/sponsors/hit-lug.svg | 69 + public/sponsors/jetbrains.svg | 189 + public/sponsors/jlu-lug.svg | 140 + public/sponsors/koddos.svg | 57 + public/sponsors/loongson.svg | 189 + public/sponsors/lug-ustc.svg | 81 + public/sponsors/lzuoss.svg | 57 + public/sponsors/microsoft.svg | 75 + public/sponsors/nju-lug.svg | 69 + public/sponsors/nluug.svg | 124 + public/sponsors/nyist-cips.svg | 59 + public/sponsors/ossplanet.svg | 59 + public/sponsors/pine64.svg | 106 + public/sponsors/plct.svg | 169 + public/sponsors/qingcloud.svg | 95 + public/sponsors/qvq.svg | 133 + public/sponsors/sb-blog.svg | 59 + public/sponsors/sdu.svg | 87 + public/sponsors/shuosc.svg | 344 + public/sponsors/sjtug.svg | 191 + public/sponsors/tencent-cloud.svg | 206 + public/sponsors/tuna.svg | 256 + public/sponsors/uestclug.svg | 57 + public/sponsors/xtom.svg | 60 + server/tsconfig.json | 3 + stores/store.js | 71 + tailwind.config.js | 31 + tsconfig.json | 4 + utils/animation.ts | 20 + utils/utils.js | 163 + 821 files changed, 62243 insertions(+) create mode 100644 .gitignore create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 .vscode/settings.json create mode 100644 README.md create mode 100644 app.vue create mode 100644 assets/css/main.css create mode 100644 assets/index.scss create mode 100644 components/AccordionNavigation.vue create mode 100644 components/CategorySecond.vue create mode 100644 components/CopyButton.vue create mode 100644 components/DownloadButton.vue create mode 100644 components/LinkButton.vue create mode 100644 components/NewsCategoryList.vue create mode 100644 components/app/AppH2.vue create mode 100644 components/app/AppLink.vue create mode 100644 components/app/AppSupport.vue create mode 100644 components/bar/BarFooter.vue create mode 100644 components/bar/BarHeader.vue create mode 100644 components/bar/BarLeft.vue create mode 100644 components/bar/BarRight.vue create mode 100644 content/news/2016-09-18-a-re-cap-our-3rd-aoscc.md create mode 100644 content/news/2016-09-18-a-re-cap-our-3rd-aoscc.zh-cn.md create mode 100644 content/news/2016-09-18-aosc-os-core-4-is-green.md create mode 100644 content/news/2016-09-18-aosc-os-core-4-is-green.zh-cn.md create mode 100644 content/news/2016-09-18-aosc-oss-default-wallpapers.md create mode 100644 content/news/2016-09-18-aosc-oss-default-wallpapers.zh-cn.md create mode 100644 content/news/2016-09-18-welcome-to-aosc-portal.md create mode 100644 content/news/2016-09-18-welcome-to-aosc-portal.zh-cn.md create mode 100644 content/news/2016-09-19-new-package-additions-sept-19-2016.md create mode 100644 content/news/2016-09-19-new-package-additions-sept-19-2016.zh-cn.md create mode 100644 content/news/2016-09-19-pre-built-aosc-os-wallpapers-now-available.md create mode 100644 content/news/2016-09-19-pre-built-aosc-os-wallpapers-now-available.zh-cn.md create mode 100644 content/news/2016-09-20-aosc-os-repository-mirror-at-ustc-is-down.md create mode 100644 content/news/2016-09-20-aosc-os-repository-mirror-at-ustc-is-down.zh-cn.md create mode 100644 content/news/2016-09-20-enlightenment-updated-to-021-series-e21.md create mode 100644 content/news/2016-09-20-enlightenment-updated-to-021-series-e21.zh-cn.md create mode 100644 content/news/2016-09-24-core-401-released.md create mode 100644 content/news/2016-09-24-core-401-released.zh-cn.md create mode 100644 content/news/2016-09-24-mate-116-now-available.md create mode 100644 content/news/2016-09-24-mate-116-now-available.zh-cn.md create mode 100644 content/news/2016-09-25-desktop-base-and-simplified-desktop-installation.md create mode 100644 content/news/2016-09-25-desktop-base-and-simplified-desktop-installation.zh-cn.md create mode 100644 content/news/2016-09-25-gnome-322-now-available.md create mode 100644 content/news/2016-09-25-gnome-322-now-available.zh-cn.md create mode 100644 content/news/2016-09-26-autobuild3-documentation-updated-for-core-40.md create mode 100644 content/news/2016-09-26-autobuild3-documentation-updated-for-core-40.zh-cn.md create mode 100644 content/news/2016-09-26-mate-1160-packages-rebuilt.md create mode 100644 content/news/2016-09-26-mate-1160-packages-rebuilt.zh-cn.md create mode 100644 content/news/2016-09-27-aosc-os-base-and-buildkit-tarball-updates.md create mode 100644 content/news/2016-09-27-aosc-os-base-and-buildkit-tarball-updates.zh-cn.md create mode 100644 content/news/2016-09-27-fixes-now-available-for-gnome-shell-322.md create mode 100644 content/news/2016-09-27-fixes-now-available-for-gnome-shell-322.zh-cn.md create mode 100644 content/news/2016-09-29-aosc-os-abbs-repository-snapshots-migrated-to-git-bundles.md create mode 100644 content/news/2016-09-29-aosc-os-abbs-repository-snapshots-migrated-to-git-bundles.zh-cn.md create mode 100644 content/news/2016-09-29-aoscs-google-page-is-here.md create mode 100644 content/news/2016-09-29-aoscs-google-page-is-here.zh-cn.md create mode 100644 content/news/2016-09-29-termination-of-rpm-package-releases.md create mode 100644 content/news/2016-09-29-termination-of-rpm-package-releases.zh-cn.md create mode 100644 content/news/2016-09-29-updates-to-the-repository-server.md create mode 100644 content/news/2016-09-29-updates-to-the-repository-server.zh-cn.md create mode 100644 content/news/2016-09-30-zh_cn-l10n-guide-153-released.md create mode 100644 content/news/2016-09-30-zh_cn-l10n-guide-153-released.zh-cn.md create mode 100644 content/news/2016-10-02-aosc-os-repository-at-ustc-is-back-online.md create mode 100644 content/news/2016-10-02-aosc-os-repository-at-ustc-is-back-online.zh-cn.md create mode 100644 content/news/2016-10-02-new-package-additions-oct-3-2016.md create mode 100644 content/news/2016-10-02-new-package-additions-oct-3-2016.zh-cn.md create mode 100644 content/news/2016-10-02-security-advisory-numbering.md create mode 100644 content/news/2016-10-02-security-advisory-numbering.zh-cn.md create mode 100644 content/news/2016-10-03-a-new-mirror-at-lzuoss.md create mode 100644 content/news/2016-10-03-a-new-mirror-at-lzuoss.zh-cn.md create mode 100644 content/news/2016-10-08-plasma-58-now-available.md create mode 100644 content/news/2016-10-08-plasma-58-now-available.zh-cn.md create mode 100644 content/news/2016-10-11-new-package-additions-oct-11-2016.md create mode 100644 content/news/2016-10-11-new-package-additions-oct-11-2016.zh-cn.md create mode 100644 content/news/2016-10-12-xfce-packages-rebuilt-and-refined.md create mode 100644 content/news/2016-10-12-xfce-packages-rebuilt-and-refined.zh-cn.md create mode 100644 content/news/2016-10-18-new-package-additions-oct-18-2016.md create mode 100644 content/news/2016-10-18-new-package-additions-oct-18-2016.zh-cn.md create mode 100644 content/news/2016-10-21-system-release-update-oct-21st-2016.md create mode 100644 content/news/2016-10-21-system-release-update-oct-21st-2016.zh-cn.md create mode 100644 content/news/2016-10-29-new-package-additions-oct-29-2016.md create mode 100644 content/news/2016-10-29-new-package-additions-oct-29-2016.zh-cn.md create mode 100644 content/news/2016-10-29-notes-on-flash-player-support.md create mode 100644 content/news/2016-10-29-notes-on-flash-player-support.zh-cn.md create mode 100644 content/news/2016-11-04-new-package-additions-nov-5-2016.md create mode 100644 content/news/2016-11-04-new-package-additions-nov-5-2016.zh-cn.md create mode 100644 content/news/2016-11-14-new-package-additions-nov-14-2016.md create mode 100644 content/news/2016-11-14-new-package-additions-nov-14-2016.zh-cn.md create mode 100644 content/news/2016-11-14-package-update-advisory-nov-14-2016.md create mode 100644 content/news/2016-11-14-package-update-advisory-nov-14-2016.zh-cn.md create mode 100644 content/news/2016-11-18-new-package-additions-nov-18-2016.md create mode 100644 content/news/2016-11-18-new-package-additions-nov-18-2016.zh-cn.md create mode 100644 content/news/2016-11-18-trinity-desktop-environment-now-available.md create mode 100644 content/news/2016-11-18-trinity-desktop-environment-now-available.zh-cn.md create mode 100644 content/news/2016-11-20-package-update-advisory-nov-20-2016.md create mode 100644 content/news/2016-11-20-package-update-advisory-nov-20-2016.zh-cn.md create mode 100644 content/news/2016-12-01-core-41-is-here.md create mode 100644 content/news/2016-12-01-core-41-is-here.zh-cn.md create mode 100644 content/news/2016-12-01-happy-birthday-aosc-for-the-fifth-time.md create mode 100644 content/news/2016-12-01-happy-birthday-aosc-for-the-fifth-time.zh-cn.md create mode 100644 content/news/2016-12-03-aosc-os-repository-mirror-at-ustc-is-down.md create mode 100644 content/news/2016-12-03-aosc-os-repository-mirror-at-ustc-is-down.zh-cn.md create mode 100644 content/news/2016-12-07-allwinner-images-available.md create mode 100644 content/news/2016-12-07-allwinner-images-available.zh-cn.md create mode 100644 content/news/2016-12-07-raspberry-pi-images-available.md create mode 100644 content/news/2016-12-07-raspberry-pi-images-available.zh-cn.md create mode 100644 content/news/2016-12-08-winter-distribution-updates-and-looking-ahead.md create mode 100644 content/news/2016-12-08-winter-distribution-updates-and-looking-ahead.zh-cn.md create mode 100644 content/news/2016-12-13-updates-to-allwinner-images.md create mode 100644 content/news/2016-12-13-updates-to-allwinner-images.zh-cn.md create mode 100644 content/news/2016-12-16-new-package-additions-dec-16th-2016.md create mode 100644 content/news/2016-12-16-new-package-additions-dec-16th-2016.zh-cn.md create mode 100644 content/news/2016-12-31-happy-early-new-year.md create mode 100644 content/news/2016-12-31-happy-early-new-year.zh-cn.md create mode 100644 content/news/2016-12-31-new-package-additions-dec-31-2016.md create mode 100644 content/news/2016-12-31-new-package-additions-dec-31-2016.zh-cn.md create mode 100644 content/news/2017-01-01-acbs-is-ready-to-roll.md create mode 100644 content/news/2017-01-01-acbs-is-ready-to-roll.zh-cn.md create mode 100644 content/news/2017-01-01-update-on-wine-and-x86-support-for-arm-devices.md create mode 100644 content/news/2017-01-01-update-on-wine-and-x86-support-for-arm-devices.zh-cn.md create mode 100644 content/news/2017-01-07-on-aosc-os-ports.md create mode 100644 content/news/2017-01-07-on-aosc-os-ports.zh-cn.md create mode 100644 content/news/2017-01-26-new-package-additions-jan-25-2017.md create mode 100644 content/news/2017-01-26-new-package-additions-jan-25-2017.zh-cn.md create mode 100644 content/news/2017-02-06-dev-updates-issue-1-2017.md create mode 100644 content/news/2017-02-06-dev-updates-issue-1-2017.zh-cn.md create mode 100644 content/news/2017-02-06-new-package-additions-feb-6-2017.md create mode 100644 content/news/2017-02-06-new-package-additions-feb-6-2017.zh-cn.md create mode 100644 content/news/2017-02-08-core-42-is-here.md create mode 100644 content/news/2017-02-08-core-42-is-here.zh-cn.md create mode 100644 content/news/2017-02-14-repository-key-expiration.md create mode 100644 content/news/2017-02-14-repository-key-expiration.zh-cn.md create mode 100644 content/news/2017-03-04-spring-distribution-updates.md create mode 100644 content/news/2017-03-04-spring-distribution-updates.zh-cn.md create mode 100644 content/news/2017-03-05-new-package-additions-mar-5th-2017.md create mode 100644 content/news/2017-03-05-new-package-additions-mar-5th-2017.zh-cn.md create mode 100644 content/news/2017-03-29-dev-updates-issue-2-2017.md create mode 100644 content/news/2017-03-29-dev-updates-issue-2-2017.zh-cn.md create mode 100644 content/news/2017-03-29-gnome-324-is-now-available.md create mode 100644 content/news/2017-03-29-gnome-324-is-now-available.zh-cn.md create mode 100644 content/news/2017-03-31-dev-updates-issue-21.md create mode 100644 content/news/2017-03-31-dev-updates-issue-21.zh-cn.md create mode 100644 content/news/2017-04-09-repository-de-dup-to-take-place-next-week.md create mode 100644 content/news/2017-04-09-repository-de-dup-to-take-place-next-week.zh-cn.md create mode 100644 content/news/2017-04-10-firmware-package-split.md create mode 100644 content/news/2017-04-10-firmware-package-split.zh-cn.md create mode 100644 content/news/2017-04-15-aarch64arm64-images-update-for-allwinner-devices.md create mode 100644 content/news/2017-04-15-aarch64arm64-images-update-for-allwinner-devices.zh-cn.md create mode 100644 content/news/2017-04-15-repository-de-dup-complete.md create mode 100644 content/news/2017-04-15-repository-de-dup-complete.zh-cn.md create mode 100644 content/news/2017-04-17-manual-input-needed-with-upcoming-iana-etc-update.md create mode 100644 content/news/2017-04-17-manual-input-needed-with-upcoming-iana-etc-update.zh-cn.md create mode 100644 content/news/2017-04-29-updates-to-our-community-infrastructure.md create mode 100644 content/news/2017-04-29-updates-to-our-community-infrastructure.zh-cn.md create mode 100644 content/news/2017-05-05-cinnamon-34-now-available.md create mode 100644 content/news/2017-05-05-cinnamon-34-now-available.zh-cn.md create mode 100644 content/news/2017-06-07-core-422-fin.md create mode 100644 content/news/2017-06-07-core-422-fin.zh-cn.md create mode 100644 content/news/2017-06-14-aoscc-2017-now-up-for-sign-up.md create mode 100644 content/news/2017-06-14-aoscc-2017-now-up-for-sign-up.zh-cn.md create mode 100644 content/news/2017-06-14-zh_cn-localization-guide-154.md create mode 100644 content/news/2017-06-14-zh_cn-localization-guide-154.zh-cn.md create mode 100644 content/news/2017-06-30-dev-updates-issue-3-new-update-pattern.md create mode 100644 content/news/2017-06-30-dev-updates-issue-3-new-update-pattern.zh-cn.md create mode 100644 content/news/2017-07-11-aoscc-2017-schedule-sponsors-and-count-down.md create mode 100644 content/news/2017-07-11-aoscc-2017-schedule-sponsors-and-count-down.zh-cn.md create mode 100644 content/news/2017-07-13-its-happening.md create mode 100644 content/news/2017-07-13-its-happening.zh-cn.md create mode 100644 content/news/2017-07-19-aoscc-2017-re-cap.md create mode 100644 content/news/2017-07-19-aoscc-2017-re-cap.zh-cn.md create mode 100644 content/news/2017-07-30-new-server-host.md create mode 100644 content/news/2017-07-30-new-server-host.zh-cn.md create mode 100644 content/news/2017-08-01-july-wave-is-here.md create mode 100644 content/news/2017-08-01-july-wave-is-here.zh-cn.md create mode 100644 content/news/2017-08-02-coming-up-in-august.md create mode 100644 content/news/2017-08-02-coming-up-in-august.zh-cn.md create mode 100644 content/news/2017-08-18-expected-repository-downtime-in-12-hours.md create mode 100644 content/news/2017-08-18-expected-repository-downtime-in-12-hours.zh-cn.md create mode 100644 content/news/2017-08-19-update-on-repository-downtime.md create mode 100644 content/news/2017-08-19-update-on-repository-downtime.zh-cn.md create mode 100644 content/news/2017-08-22-repository-server-is-up-and-stable.md create mode 100644 content/news/2017-08-22-repository-server-is-up-and-stable.zh-cn.md create mode 100644 content/news/2017-09-24-goings-on-a-quick-mid-september-update.md create mode 100644 content/news/2017-09-24-goings-on-a-quick-mid-september-update.zh-cn.md create mode 100644 content/news/2017-10-01-august-september-unified-wave-and-core-5.md create mode 100644 content/news/2017-10-01-august-september-unified-wave-and-core-5.zh-cn.md create mode 100644 content/news/2017-10-05-mailing-lists-temporarily-blocks-qqcom-posts.md create mode 100644 content/news/2017-10-05-mailing-lists-temporarily-blocks-qqcom-posts.zh-cn.md create mode 100644 content/news/2017-10-24-kudos-to-koddos.md create mode 100644 content/news/2017-10-24-kudos-to-koddos.zh-cn.md create mode 100644 content/news/2017-11-03-october-wave-is-here.md create mode 100644 content/news/2017-11-03-october-wave-is-here.zh-cn.md create mode 100644 content/news/2017-12-01-today-marks-our-6th-year.md create mode 100644 content/news/2017-12-01-today-marks-our-6th-year.zh-cn.md create mode 100644 content/news/2018-01-05-aosc-os-end-of-2017-wave-of-updates.md create mode 100644 content/news/2018-01-05-aosc-os-end-of-2017-wave-of-updates.zh-cn.md create mode 100644 content/news/2018-01-06-progress-report-aosc-os-meltdown-and-spectre.md create mode 100644 content/news/2018-01-06-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md create mode 100644 content/news/2018-01-07-daily-progress-report-aosc-os-meltdown-and-spectre.md create mode 100644 content/news/2018-01-07-daily-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md create mode 100644 content/news/2018-01-10-core-511-meltdown-and-spectre.md create mode 100644 content/news/2018-01-10-core-511-meltdown-and-spectre.zh-cn.md create mode 100644 content/news/2018-01-13-progress-report-aosc-os-meltdown-and-spectre.md create mode 100644 content/news/2018-01-13-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md create mode 100644 content/news/2018-01-25-progress-report-aosc-os-meltdown-and-spectre.md create mode 100644 content/news/2018-01-25-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md create mode 100644 content/news/2018-02-02-new-tarball-releases.md create mode 100644 content/news/2018-02-02-new-tarball-releases.zh-cn.md create mode 100644 content/news/2018-04-01-an-important-and-unfortunate-project-update.md create mode 100644 content/news/2018-04-01-an-important-and-unfortunate-project-update.zh-cn.md create mode 100644 content/news/2018-04-27-aosc-os-spring-wave-of-updates.md create mode 100644 content/news/2018-04-27-aosc-os-spring-wave-of-updates.zh-cn.md create mode 100644 content/news/2018-07-17-aoscc-2018.md create mode 100644 content/news/2018-07-17-aoscc-2018.zh-cn.md create mode 100644 content/news/2018-08-13-re-cap-aoscc-2018.md create mode 100644 content/news/2018-08-13-re-cap-aoscc-2018.zh-cn.md create mode 100644 content/news/2018-12-25-repository-migration.md create mode 100644 content/news/2018-12-25-repository-migration.zh-cn.md create mode 100644 content/news/2019-03-18-new-mirror-at-cqu-lanunion.md create mode 100644 content/news/2019-03-18-new-mirror-at-cqu-lanunion.zh-cn.md create mode 100644 content/news/2019-04-01-april-update.md create mode 100644 content/news/2019-04-01-april-update.zh-cn.md create mode 100644 content/news/2019-04-01-proposal-solve-food-supply-crisis-by-initiation-of-the-idol-project.md create mode 100644 content/news/2019-04-01-proposal-solve-food-supply-crisis-by-initiation-of-the-idol-project.zh-cn.md create mode 100644 content/news/2019-04-03-happy-april.md create mode 100644 content/news/2019-04-03-happy-april.zh-cn.md create mode 100644 content/news/2019-04-08-weekly-community-report-issue-15-2019.md create mode 100644 content/news/2019-04-08-weekly-community-report-issue-15-2019.zh-cn.md create mode 100644 content/news/2019-04-22-weekly-community-report-issue-17-2019.md create mode 100644 content/news/2019-04-22-weekly-community-report-issue-17-2019.zh-cn.md create mode 100644 content/news/2019-04-29-weekly-community-report-issue-18-2019.md create mode 100644 content/news/2019-04-29-weekly-community-report-issue-18-2019.zh-cn.md create mode 100644 content/news/2019-07-07-community-repository-all-systems-green.md create mode 100644 content/news/2019-07-07-community-repository-all-systems-green.zh-cn.md create mode 100644 content/news/2019-07-07-unexpected-downtime-on-repository-server.md create mode 100644 content/news/2019-07-07-unexpected-downtime-on-repository-server.zh-cn.md create mode 100644 content/news/2019-07-07-weekly-community-report-issue-28-2019.md create mode 100644 content/news/2019-07-07-weekly-community-report-issue-28-2019.zh-cn.md create mode 100644 content/news/2019-07-30-aosc-community-repository-unexpected-downtime.md create mode 100644 content/news/2019-07-30-aosc-community-repository-unexpected-downtime.zh-cn.md create mode 100644 content/news/2019-07-31-aosc-community-repository-service-recovered.md create mode 100644 content/news/2019-07-31-aosc-community-repository-service-recovered.zh-cn.md create mode 100644 content/news/2019-08-05-aosc-os-stable-branch-all-clear.md create mode 100644 content/news/2019-08-05-aosc-os-stable-branch-all-clear.zh-cn.md create mode 100644 content/news/2019-08-05-aosc-os-stable-branch-dependency-issues.md create mode 100644 content/news/2019-08-05-aosc-os-stable-branch-dependency-issues.zh-cn.md create mode 100644 content/news/2020-01-30-new-wave-of-updates-available.md create mode 100644 content/news/2020-01-30-new-wave-of-updates-available.zh-cn.md create mode 100644 content/news/2020-02-07-this-week-in-aosc-os-development.md create mode 100644 content/news/2020-02-07-this-week-in-aosc-os-development.zh-cn.md create mode 100644 content/news/2020-02-14-this-week-in-aosc-os-development.md create mode 100644 content/news/2020-02-14-this-week-in-aosc-os-development.zh-cn.md create mode 100644 content/news/2020-02-20-updates-withdrawn-from-stable.md create mode 100644 content/news/2020-02-20-updates-withdrawn-from-stable.zh-cn.md create mode 100644 content/news/2020-02-22-this-week-in-aosc-os-development.md create mode 100644 content/news/2020-02-22-this-week-in-aosc-os-development.zh-cn.md create mode 100644 content/news/2020-03-29-security-announcements-mailing-list-migration.md create mode 100644 content/news/2020-03-29-security-announcements-mailing-list-migration.zh-cn.md create mode 100644 content/news/2020-05-03-new-aarch64-build-server.md create mode 100644 content/news/2020-05-03-new-aarch64-build-server.zh-cn.md create mode 100644 content/news/2020-05-03-suspending-stale-aosc-os-ports-and-initiating-retro.md create mode 100644 content/news/2020-05-03-suspending-stale-aosc-os-ports-and-initiating-retro.zh-cn.md create mode 100644 content/news/2020-05-03-winter-cycle-complete.md create mode 100644 content/news/2020-05-03-winter-cycle-complete.zh-cn.md create mode 100644 content/news/2020-05-18-new-loongson-development-board.md create mode 100644 content/news/2020-05-18-new-loongson-development-board.zh-cn.md create mode 100644 content/news/2020-05-27-new-tarballs-available-for-amd64.md create mode 100644 content/news/2020-05-27-new-tarballs-available-for-amd64.zh-cn.md create mode 100644 content/news/2020-05-28-introducing-aoscbootstrap.md create mode 100644 content/news/2020-05-28-introducing-aoscbootstrap.zh-cn.md create mode 100644 content/news/2020-08-06-a-facelift-for-aosc-pastebin.md create mode 100644 content/news/2020-08-06-a-facelift-for-aosc-pastebin.zh-cn.md create mode 100644 content/news/2020-09-24-virtual-aoscc-2020.md create mode 100644 content/news/2020-09-24-virtual-aoscc-2020.zh-cn.md create mode 100644 content/news/2020-09-29-new-wiki-site-now-live.md create mode 100644 content/news/2020-09-29-new-wiki-site-now-live.zh-cn.md create mode 100644 content/news/2020-09-30-virtual-aoscc-2020-re-cap.md create mode 100644 content/news/2020-09-30-virtual-aoscc-2020-re-cap.zh-cn.md create mode 100644 content/news/2020-11-18-introducing-atm.md create mode 100644 content/news/2020-11-18-introducing-atm.zh-cn.md create mode 100644 content/news/2020-11-18-meet-an-an.md create mode 100644 content/news/2020-11-18-meet-an-an.zh-cn.md create mode 100644 content/news/2020-11-18-ospp-2020-re-cap.md create mode 100644 content/news/2020-11-18-ospp-2020-re-cap.zh-cn.md create mode 100644 content/news/2020-12-06-aosc-os-core-8.md create mode 100644 content/news/2020-12-06-aosc-os-core-8.zh-cn.md create mode 100644 content/news/2021-03-28-switch-to-shadowsocks-rust.md create mode 100644 content/news/2021-03-28-switch-to-shadowsocks-rust.zh-cn.md create mode 100644 content/news/2021-04-06-gnome-40-gdm-not-working.md create mode 100644 content/news/2021-04-06-gnome-40-gdm-not-working.zh-cn.md create mode 100644 content/news/2021-04-10-dracut-trigger-cycle.md create mode 100644 content/news/2021-04-10-dracut-trigger-cycle.zh-cn.md create mode 100644 content/news/2021-04-13-rime-base-uninstall-issue.md create mode 100644 content/news/2021-04-13-rime-base-uninstall-issue.zh-cn.md create mode 100644 content/news/2021-04-19-general-survey-large-mariadb.md create mode 100644 content/news/2021-04-19-general-survey-large-mariadb.zh-cn.md create mode 100644 content/news/2021-04-19-samba-4.14.2-topic-file-confl.md create mode 100644 content/news/2021-04-19-samba-4.14.2-topic-file-confl.zh-cn.md create mode 100644 content/news/2021-04-30-retro-new-systemd-cause-fcitx-and-audio-not-working.md create mode 100644 content/news/2021-04-30-retro-new-systemd-cause-fcitx-and-audio-not-working.zh-cn.md create mode 100644 content/news/2021-05-02-samba-4.14.2-dependency-issue.md create mode 100644 content/news/2021-05-02-samba-4.14.2-dependency-issue.zh-cn.md create mode 100644 content/news/2021-05-15-plasma-5.12.5-inadequate-handling-of-file-transfer.md create mode 100644 content/news/2021-05-15-plasma-5.12.5-inadequate-handling-of-file-transfer.zh-cn.md create mode 100644 content/news/2021-06-08-libera-project-registration.md create mode 100644 content/news/2021-06-08-libera-project-registration.zh-cn.md create mode 100644 content/news/2021-06-11-discover-fails-to-launch.md create mode 100644 content/news/2021-06-11-discover-fails-to-launch.zh-cn.md create mode 100644 content/news/2021-06-11-fwupd-missing-lib.md create mode 100644 content/news/2021-06-11-fwupd-missing-lib.zh-cn.md create mode 100644 content/news/2021-06-30-kde-brightness-control-not-functional.md create mode 100644 content/news/2021-06-30-kde-brightness-control-not-functional.zh-cn.md create mode 100644 content/news/2021-06-30-rnnoise-not-as-advertised.md create mode 100644 content/news/2021-06-30-rnnoise-not-as-advertised.zh-cn.md create mode 100644 content/news/2021-06-30-xrdp-emergency-update.md create mode 100644 content/news/2021-06-30-xrdp-emergency-update.zh-cn.md create mode 100644 content/news/2021-07-03-apt-dracut-trigger-looping.md create mode 100644 content/news/2021-07-03-apt-dracut-trigger-looping.zh-cn.md create mode 100644 content/news/2021-07-21-rpi-kernel-update-policy-changed.md create mode 100644 content/news/2021-07-21-rpi-kernel-update-policy-changed.zh-cn.md create mode 100644 content/news/2021-08-18-comm-repo-server-maintenance.md create mode 100644 content/news/2021-08-18-comm-repo-server-maintenance.zh-cn.md create mode 100644 content/news/2021-09-02-vscode-update.md create mode 100644 content/news/2021-09-02-vscode-update.zh-cn.md create mode 100644 content/news/2021-09-04-cutefish-kde-confl.md create mode 100644 content/news/2021-09-04-cutefish-kde-confl.zh-cn.md create mode 100644 content/news/2021-09-15-aoscc-2021-info.md create mode 100644 content/news/2021-09-15-aoscc-2021-info.zh-cn.md create mode 100644 content/news/2021-09-24-remove-brise.md create mode 100644 content/news/2021-09-24-remove-brise.zh-cn.md create mode 100644 content/news/2021-09-27-lets-encrypt-cert-expire.md create mode 100644 content/news/2021-09-27-lets-encrypt-cert-expire.zh-cn.md create mode 100644 content/news/2021-10-21-chromium-95-pkg-issue.md create mode 100644 content/news/2021-10-21-chromium-95-pkg-issue.zh-cn.md create mode 100644 content/news/2021-11-05-removing-lightcord.md create mode 100644 content/news/2021-11-05-removing-lightcord.zh-cn.md create mode 100644 content/news/2021-11-19-codeweavers-and-github-suponsorship.md create mode 100644 content/news/2021-11-19-codeweavers-and-github-suponsorship.zh-cn.md create mode 100644 content/news/2021-11-29-python-3-10-update.md create mode 100644 content/news/2021-11-29-python-3-10-update.zh-cn.md create mode 100644 content/news/2021-12-01-decennial-thesis-prologue.md create mode 100644 content/news/2021-12-01-decennial-thesis-prologue.zh-cn.md create mode 100644 content/news/2021-12-14-10-year-anniversary-wallpapers.md create mode 100644 content/news/2021-12-14-10-year-anniversary-wallpapers.zh-cn.md create mode 100644 content/news/2022-01-13-firefox-http3-issue.md create mode 100644 content/news/2022-01-13-firefox-http3-issue.zh-cn.md create mode 100644 content/news/2022-01-16-aosc-os-9.md create mode 100644 content/news/2022-01-16-aosc-os-9.zh-cn.md create mode 100644 content/news/2022-01-26-glib-fam-ff-stability.md create mode 100644 content/news/2022-01-26-glib-fam-ff-stability.zh-cn.md create mode 100644 content/news/2022-04-27-nvidia-32.md create mode 100644 content/news/2022-04-27-nvidia-32.zh-cn.md create mode 100644 content/news/2022-04-28-year-of-the-pc-110.md create mode 100644 content/news/2022-04-28-year-of-the-pc-110.zh-cn.md create mode 100644 content/news/2022-05-05-mesa-update.md create mode 100644 content/news/2022-05-05-mesa-update.zh-cn.md create mode 100644 content/news/2022-05-13-elvish-update.md create mode 100644 content/news/2022-05-13-elvish-update.zh-cn.md create mode 100644 content/news/2022-06-14-power-port-reboot.md create mode 100644 content/news/2022-06-14-power-port-reboot.zh-cn.md create mode 100644 content/news/2022-07-02-critical-shadow-security-fix.md create mode 100644 content/news/2022-07-02-critical-shadow-security-fix.zh-cn.md create mode 100644 content/news/2022-07-27-multimc5-migrate-to-polymc.md create mode 100644 content/news/2022-07-27-multimc5-migrate-to-polymc.zh-cn.md create mode 100644 content/news/2022-08-26-recent-kernel-update-breaks-kvm.md create mode 100644 content/news/2022-08-26-recent-kernel-update-breaks-kvm.zh-cn.md create mode 100644 content/news/2022-09-01-critical-design-flaw-in-livekit-installer.md create mode 100644 content/news/2022-09-01-critical-design-flaw-in-livekit-installer.zh-cn.md create mode 100644 content/news/2022-09-03-issues-with-thunderbird-102-2-0.md create mode 100644 content/news/2022-09-03-issues-with-thunderbird-102-2-0.zh-cn.md create mode 100644 content/news/2022-09-13-aoscc-2022-info.md create mode 100644 content/news/2022-09-13-aoscc-2022-info.zh-cn.md create mode 100644 content/news/2022-10-14-reboot-your-system-after-libffi-3.4.2-update.md create mode 100644 content/news/2022-10-14-reboot-your-system-after-libffi-3.4.2-update.zh-cn.md create mode 100644 content/news/2022-10-15-libffi-3.4.2-gnome-breakage.md create mode 100644 content/news/2022-10-15-libffi-3.4.2-gnome-breakage.zh-cn.md create mode 100644 content/news/2023-02-10-amdgpu-mesa-llvm15-glitches.md create mode 100644 content/news/2023-02-10-amdgpu-mesa-llvm15-glitches.zh-cn.md create mode 100644 content/news/2023-02-12-package-retirement-20230211.md create mode 100644 content/news/2023-02-12-package-retirement-20230211.zh-cn.md create mode 100644 content/news/2023-02-25-omakase-preview.md create mode 100644 content/news/2023-02-25-omakase-preview.zh-cn.md create mode 100644 content/news/2023-03-09-mozilla-xdg-desktop-portal.md create mode 100644 content/news/2023-03-09-mozilla-xdg-desktop-portal.zh-cn.md create mode 100644 content/news/2023-04-03-sddm-failed-to-remember-recently-used-session.md create mode 100644 content/news/2023-04-03-sddm-failed-to-remember-recently-used-session.zh-cn.md create mode 100644 content/news/2023-04-05-mcfly-residual-config.md create mode 100644 content/news/2023-04-05-mcfly-residual-config.zh-cn.md create mode 100644 content/news/2023-06-23-hook-uname-residual-config.md create mode 100644 content/news/2023-06-23-hook-uname-residual-config.zh-cn.md create mode 100644 content/news/2023-07-06-aoscc-2023.md create mode 100644 content/news/2023-07-06-aoscc-2023.zh-cn.md create mode 100644 content/news/2023-07-06-tmux-behavior-change.md create mode 100644 content/news/2023-07-06-tmux-behavior-change.zh-cn.md create mode 100644 content/news/2023-07-22-aoscc-2023-re-cap.md create mode 100644 content/news/2023-07-22-aoscc-2023-re-cap.zh-cn.md create mode 100644 content/news/2023-08-11-coffee-break.md create mode 100644 content/news/2023-08-11-coffee-break.zh-cn.md create mode 100644 content/news/2023-08-25-coffee-break.md create mode 100644 content/news/2023-08-25-coffee-break.zh-cn.md create mode 100644 content/news/2023-08-27-sjtug-mirror.md create mode 100644 content/news/2023-08-27-sjtug-mirror.zh-cn.md create mode 100644 content/news/2023-08-28-nit-cips-mirror.md create mode 100644 content/news/2023-08-28-nit-cips-mirror.zh-cn.md create mode 100644 content/news/2023-09-08-coffee-break.md create mode 100644 content/news/2023-09-08-coffee-break.zh-cn.md create mode 100644 content/news/2023-09-20-thunderbird-scaling-issue.md create mode 100644 content/news/2023-09-20-thunderbird-scaling-issue.zh-cn.md create mode 100644 content/news/2023-09-22-coffee-break.md create mode 100644 content/news/2023-09-22-coffee-break.zh-cn.md create mode 100644 content/news/2023-10-06-openssl-3-update.md create mode 100644 content/news/2023-10-06-openssl-3-update.zh-cn.md create mode 100644 content/news/2023-10-11-curl-8.4.0.md create mode 100644 content/news/2023-10-11-curl-8.4.0.zh-cn.md create mode 100644 content/news/2023-10-11-new-aarch64-servers.md create mode 100644 content/news/2023-10-11-new-aarch64-servers.zh-cn.md create mode 100644 content/news/2023-10-13-new-coffee-break-schedule.md create mode 100644 content/news/2023-10-13-new-coffee-break-schedule.zh-cn.md create mode 100644 content/news/2023-10-14-coffee-break.md create mode 100644 content/news/2023-10-14-coffee-break.zh-cn.md create mode 100644 content/news/2023-10-17-aosc-os-releases-2023-10.md create mode 100644 content/news/2023-10-17-aosc-os-releases-2023-10.zh-cn.md create mode 100644 content/news/2023-10-28-coffee-break.md create mode 100644 content/news/2023-10-28-coffee-break.zh-cn.md create mode 100644 content/news/2023-11-11-coffee-break.md create mode 100644 content/news/2023-11-11-coffee-break.zh-cn.md create mode 100644 content/news/2023-11-20-aosc-os-for-apple-silicon.md create mode 100644 content/news/2023-11-20-aosc-os-for-apple-silicon.zh-cn.md create mode 100644 content/news/2023-11-25-coffee-break.md create mode 100644 content/news/2023-11-25-coffee-break.zh-cn.md create mode 100644 content/news/2023-12-09-coffee-break.md create mode 100644 content/news/2023-12-09-coffee-break.zh-cn.md create mode 100644 content/news/2023-12-23-coffee-break.md create mode 100644 content/news/2023-12-23-coffee-break.zh-cn.md create mode 100644 content/news/2023-12-31-kmod-update-renders-the-system-unbootable.md create mode 100644 content/news/2023-12-31-kmod-update-renders-the-system-unbootable.zh-cn.md create mode 100644 content/news/2024-01-14-grub-2-12-update-is-ready-for-testing.md create mode 100644 content/news/2024-01-14-grub-2-12-update-is-ready-for-testing.zh-cn.md create mode 100644 content/news/2024-01-24-mips64r6el-demotion.md create mode 100644 content/news/2024-01-24-mips64r6el-demotion.zh-cn.md create mode 100644 content/news/2024-01-25-font-update-issue.md create mode 100644 content/news/2024-01-25-font-update-issue.zh-cn.md create mode 100644 content/news/2024-01-27-coffee-break.md create mode 100644 content/news/2024-01-27-coffee-break.zh-cn.md create mode 100644 content/news/2024-02-01-linux-cn-closure.md create mode 100644 content/news/2024-02-01-linux-cn-closure.zh-cn.md create mode 100644 content/news/2024-02-09-aosc-os-loongarch64-mainlined.md create mode 100644 content/news/2024-02-09-aosc-os-loongarch64-mainlined.zh-cn.md create mode 100644 content/news/2024-02-10-coffee-break.md create mode 100644 content/news/2024-02-10-coffee-break.zh-cn.md create mode 100644 content/news/2024-02-13-springcon-2024-preview.md create mode 100644 content/news/2024-02-13-springcon-2024-preview.zh-cn.md create mode 100644 content/news/2024-02-15-aosc-os-loongarch64-release.md create mode 100644 content/news/2024-02-15-aosc-os-loongarch64-release.zh-cn.md create mode 100644 content/news/2024-02-20-aosc-springcon-questionnaire.md create mode 100644 content/news/2024-02-20-aosc-springcon-questionnaire.zh-cn.md create mode 100644 content/news/2024-02-20-new-loongarch64-build-server.md create mode 100644 content/news/2024-02-20-new-loongarch64-build-server.zh-cn.md create mode 100644 content/news/2024-02-23-aosc-os-repo-down.md create mode 100644 content/news/2024-02-23-aosc-os-repo-down.zh-cn.md create mode 100644 content/news/2024-02-23-aosc-os-repo-up.md create mode 100644 content/news/2024-02-23-aosc-os-repo-up.zh-cn.md create mode 100644 content/news/2024-02-26-aosc-os-repo-down.md create mode 100644 content/news/2024-02-26-aosc-os-repo-down.zh-cn.md create mode 100644 content/news/2024-02-26-coffee-break.md create mode 100644 content/news/2024-02-26-coffee-break.zh-cn.md create mode 100644 content/news/2024-02-26-roaming-camera-application-open.md create mode 100644 content/news/2024-02-26-roaming-camera-application-open.zh-cn.md create mode 100644 content/news/2024-02-27-aosc-os-repo-up.md create mode 100644 content/news/2024-02-27-aosc-os-repo-up.zh-cn.md create mode 100644 content/news/2024-03-01-new-loongarch64-build-server.md create mode 100644 content/news/2024-03-01-new-loongarch64-build-server.zh-cn.md create mode 100644 content/news/2024-03-06-aosc-os-loongarch64-release-update.md create mode 100644 content/news/2024-03-06-aosc-os-loongarch64-release-update.zh-cn.md create mode 100644 content/news/2024-03-06-new-amd64-build-server.md create mode 100644 content/news/2024-03-06-new-amd64-build-server.zh-cn.md create mode 100644 content/news/2024-03-07-new-loongarch64-build-server.md create mode 100644 content/news/2024-03-07-new-loongarch64-build-server.zh-cn.md create mode 100644 content/news/2024-03-09-coffee-break.md create mode 100644 content/news/2024-03-09-coffee-break.zh-cn.md create mode 100644 content/news/2024-03-17-pku-tuna-towards-modern-distro.md create mode 100644 content/news/2024-03-17-pku-tuna-towards-modern-distro.zh-cn.md create mode 100644 content/news/2024-03-20-qfnu-computing-evolved.md create mode 100644 content/news/2024-03-20-qfnu-computing-evolved.zh-cn.md create mode 100644 content/news/2024-03-20-unwanted-dependencies.md create mode 100644 content/news/2024-03-20-unwanted-dependencies.zh-cn.md create mode 100644 content/news/2024-03-23-coffee-break.md create mode 100644 content/news/2024-03-23-coffee-break.zh-cn.md create mode 100644 content/news/2024-03-27-qfnu-computing-evolved-vod.md create mode 100644 content/news/2024-03-27-qfnu-computing-evolved-vod.zh-cn.md create mode 100644 content/news/2024-03-27-spiral.md create mode 100644 content/news/2024-03-27-spiral.zh-cn.md create mode 100644 content/news/2024-04-02-aosc-os-system-upgrade-error.md create mode 100644 content/news/2024-04-02-aosc-os-system-upgrade-error.zh-cn.md create mode 100644 content/news/2024-04-02-media-writer.md create mode 100644 content/news/2024-04-02-media-writer.zh-cn.md create mode 100644 content/news/2024-04-02-pku-tuna-towards-modern-distro-vod.md create mode 100644 content/news/2024-04-02-pku-tuna-towards-modern-distro-vod.zh-cn.md create mode 100644 content/news/2024-04-04-oma-1.3.md create mode 100644 content/news/2024-04-04-oma-1.3.zh-cn.md create mode 100644 content/news/2024-04-05-wps-office-dropped.md create mode 100644 content/news/2024-04-05-wps-office-dropped.zh-cn.md create mode 100644 content/news/2024-04-13-coffee-break.md create mode 100644 content/news/2024-04-13-coffee-break.zh-cn.md create mode 100644 content/news/2024-04-22-aoscc-2024-poll-upcoming.md create mode 100644 content/news/2024-04-22-aoscc-2024-poll-upcoming.zh-cn.md create mode 100644 content/news/2024-04-22-ospp-2024-projects-up.md create mode 100644 content/news/2024-04-22-ospp-2024-projects-up.zh-cn.md create mode 100644 content/news/2024-04-24-aoscc-2024-poll.md create mode 100644 content/news/2024-04-24-aoscc-2024-poll.zh-cn.md create mode 100644 content/news/2024-04-26-aosc-os-system-upgrade-error.md create mode 100644 content/news/2024-04-26-aosc-os-system-upgrade-error.zh-cn.md create mode 100644 content/news/2024-04-27-coffee-break.md create mode 100644 content/news/2024-04-27-coffee-break.zh-cn.md create mode 100644 content/news/2024-05-01-aoscc-2024-call-for-volunteers.md create mode 100644 content/news/2024-05-01-aoscc-2024-call-for-volunteers.zh-cn.md create mode 100644 content/news/2024-05-01-aoscc-2024-poll-review.md create mode 100644 content/news/2024-05-01-aoscc-2024-poll-review.zh-cn.md create mode 100644 content/news/2024-05-01-liblol-0.1.5.md create mode 100644 content/news/2024-05-01-liblol-0.1.5.zh-cn.md create mode 100644 content/news/2024-05-03-aoscc-2024-working-group-meeting.md create mode 100644 content/news/2024-05-03-aoscc-2024-working-group-meeting.zh-cn.md create mode 100644 content/news/2024-05-04-aoscc-2024-working-group-minutes.md create mode 100644 content/news/2024-05-04-aoscc-2024-working-group-minutes.zh-cn.md create mode 100644 content/news/2024-05-12-coffee-break.md create mode 100644 content/news/2024-05-12-coffee-break.zh-cn.md create mode 100644 content/news/2024-05-21-ospp-2024-jlu-preview.md create mode 100644 content/news/2024-05-21-ospp-2024-jlu-preview.zh-cn.md create mode 100644 content/news/2024-05-24-new-aarch64-build-server.md create mode 100644 content/news/2024-05-24-new-aarch64-build-server.zh-cn.md create mode 100644 content/news/2024-05-26-coffee-break.md create mode 100644 content/news/2024-05-26-coffee-break.zh-cn.md create mode 100644 content/news/2024-05-27-ospp-2024-planning-meeting.md create mode 100644 content/news/2024-05-27-ospp-2024-planning-meeting.zh-cn.md create mode 100644 content/news/2024-05-29-oma-upgrade-bug.md create mode 100644 content/news/2024-05-29-oma-upgrade-bug.zh-cn.md create mode 100644 content/news/2024-05-29-ospp-2024-jlu-vod.md create mode 100644 content/news/2024-05-29-ospp-2024-jlu-vod.zh-cn.md create mode 100644 content/news/2024-05-30-ospp-users-guide-exam.md create mode 100644 content/news/2024-05-30-ospp-users-guide-exam.zh-cn.md create mode 100644 content/news/2024-06-01-aoscc-2024-working-group-meeting.md create mode 100644 content/news/2024-06-01-aoscc-2024-working-group-meeting.zh-cn.md create mode 100644 content/news/2024-06-01-packages-site-meeting-notice.md create mode 100644 content/news/2024-06-01-packages-site-meeting-notice.zh-cn.md create mode 100644 content/news/2024-06-02-aosc-sticker.md create mode 100644 content/news/2024-06-02-aosc-sticker.zh-cn.md create mode 100644 content/news/2024-06-02-aoscc-2024-working-group-meeting-minutes.md create mode 100644 content/news/2024-06-02-aoscc-2024-working-group-meeting-minutes.zh-cn.md create mode 100644 content/news/2024-06-02-packages-site-meeting-minutes.md create mode 100644 content/news/2024-06-02-packages-site-meeting-minutes.zh-cn.md create mode 100644 content/news/2024-06-03-new-loongarch64-build-server.md create mode 100644 content/news/2024-06-03-new-loongarch64-build-server.zh-cn.md create mode 100644 content/news/2024-06-04-aosc-os-livekit-pre.md create mode 100644 content/news/2024-06-04-aosc-os-livekit-pre.zh-cn.md create mode 100644 content/news/2024-06-04-latx-1.5.2.md create mode 100644 content/news/2024-06-04-latx-1.5.2.zh-cn.md create mode 100644 content/news/2024-06-07-aosc-os-livekit-pre.md create mode 100644 content/news/2024-06-07-aosc-os-livekit-pre.zh-cn.md create mode 100644 content/news/2024-06-08-new-loongarch64-build-server.md create mode 100644 content/news/2024-06-08-new-loongarch64-build-server.zh-cn.md create mode 100644 content/news/2024-06-09-aoscc-2024-registration.md create mode 100644 content/news/2024-06-09-aoscc-2024-registration.zh-cn.md create mode 100644 content/news/2024-06-09-coffee-break.md create mode 100644 content/news/2024-06-09-coffee-break.zh-cn.md create mode 100644 content/news/2024-06-10-ospp-2024-exam-meeting.md create mode 100644 content/news/2024-06-10-ospp-2024-exam-meeting.zh-cn.md create mode 100644 content/news/2024-06-17-fix-amd-gpu-reset-pre.md create mode 100644 content/news/2024-06-17-fix-amd-gpu-reset-pre.zh-cn.md create mode 100644 content/news/2024-06-24-coffee-break.md create mode 100644 content/news/2024-06-24-coffee-break.zh-cn.md create mode 100644 content/news/2024-06-26-gitcode-fake.md create mode 100644 content/news/2024-06-26-gitcode-fake.zh-cn.md create mode 100644 content/news/2024-06-27-aosc-os-installer-preview.md create mode 100644 content/news/2024-06-27-aosc-os-installer-preview.zh-cn.md create mode 100644 content/news/2024-06-28-ospp-2024-work-start.md create mode 100644 content/news/2024-06-28-ospp-2024-work-start.zh-cn.md create mode 100644 content/news/2024-07-02-aoscc-2024-T-shirt.md create mode 100644 content/news/2024-07-02-aoscc-2024-T-shirt.zh-cn.md create mode 100644 content/news/2024-07-02-aoscc-2024-canvas-bag.md create mode 100644 content/news/2024-07-02-aoscc-2024-canvas-bag.zh-cn.md create mode 100644 content/news/2024-07-02-aoscc-2024-keychains.md create mode 100644 content/news/2024-07-02-aoscc-2024-keychains.zh-cn.md create mode 100644 content/news/2024-07-02-aoscc-2024-stickers.md create mode 100644 content/news/2024-07-02-aoscc-2024-stickers.zh-cn.md create mode 100644 content/news/2024-07-03-aoscc-2024-agenda.md create mode 100644 content/news/2024-07-03-aoscc-2024-agenda.zh-cn.md create mode 100644 content/news/2024-07-06-aoscc-2024-hotel-check-in.md create mode 100644 content/news/2024-07-06-aoscc-2024-hotel-check-in.zh-cn.md create mode 100644 content/news/2024-07-08-aoscc-2024-registration.md create mode 100644 content/news/2024-07-08-aoscc-2024-registration.zh-cn.md create mode 100644 content/news/2024-07-11-aoscc-2024-power-failure.md create mode 100644 content/news/2024-07-11-aoscc-2024-power-failure.zh-cn.md create mode 100644 content/news/2024-07-12-aoscc-2024-arrival-tips.md create mode 100644 content/news/2024-07-12-aoscc-2024-arrival-tips.zh-cn.md create mode 100644 content/news/2024-07-16-mesa-llvmpipe-orcjit-and-risc-v-support-merged.md create mode 100644 content/news/2024-07-16-mesa-llvmpipe-orcjit-and-risc-v-support-merged.zh-cn.md create mode 100644 content/news/2024-07-18-aoscc-2024-call-for-photos.md create mode 100644 content/news/2024-07-18-aoscc-2024-call-for-photos.zh-cn.md create mode 100644 content/news/2024-07-18-coffee-break-schedule.md create mode 100644 content/news/2024-07-18-coffee-break-schedule.zh-cn.md create mode 100644 content/news/2024-07-21-deploykit-update-log.md create mode 100644 content/news/2024-07-21-deploykit-update-log.zh-cn.md create mode 100644 content/news/2024-07-21-new-loongson-mips-build-server.md create mode 100644 content/news/2024-07-21-new-loongson-mips-build-server.zh-cn.md create mode 100644 content/news/2024-07-21-oma-1.3.29.md create mode 100644 content/news/2024-07-21-oma-1.3.29.zh-cn.md create mode 100644 content/news/2024-07-22-loongarch-oldworld-boot-support.md create mode 100644 content/news/2024-07-22-loongarch-oldworld-boot-support.zh-cn.md create mode 100644 content/news/2024-07-22-oma-1.3.30.md create mode 100644 content/news/2024-07-22-oma-1.3.30.zh-cn.md create mode 100644 content/news/2024-07-24-deploykit-update-log.md create mode 100644 content/news/2024-07-24-deploykit-update-log.zh-cn.md create mode 100644 content/news/2024-07-24-oma-1.3.31.md create mode 100644 content/news/2024-07-24-oma-1.3.31.zh-cn.md create mode 100644 content/news/2024-07-26-oma-1.3.32.md create mode 100644 content/news/2024-07-26-oma-1.3.32.zh-cn.md create mode 100644 content/news/2024-07-28-oma-1.3.33.md create mode 100644 content/news/2024-07-28-oma-1.3.33.zh-cn.md create mode 100644 content/news/2024-07-29-flac-break.md create mode 100644 content/news/2024-07-29-flac-break.zh-cn.md create mode 100644 content/news/2024-07-29-mips-r6-closing-time.md create mode 100644 content/news/2024-07-29-mips-r6-closing-time.zh-cn.md create mode 100644 content/news/2024-07-29-oma-1.3.34.md create mode 100644 content/news/2024-07-29-oma-1.3.34.zh-cn.md create mode 100644 content/news/2024-07-29-postgresql-break.md create mode 100644 content/news/2024-07-29-postgresql-break.zh-cn.md create mode 100644 content/news/2024-07-30-chromium-update-log.md create mode 100644 content/news/2024-07-30-chromium-update-log.zh-cn.md create mode 100644 content/news/2024-08-01-oma-update-log.md create mode 100644 content/news/2024-08-01-oma-update-log.zh-cn.md create mode 100644 content/news/2024-08-04-coffee-break.md create mode 100644 content/news/2024-08-04-coffee-break.zh-cn.md create mode 100644 content/news/2024-08-04-offline-installer-release-notes.md create mode 100644 content/news/2024-08-04-offline-installer-release-notes.zh-cn.md create mode 100644 content/news/2024-08-06-oma-1.4.1.md create mode 100644 content/news/2024-08-06-oma-1.4.1.zh-cn.md create mode 100644 content/news/2024-08-08-oma-1.4.2.md create mode 100644 content/news/2024-08-08-oma-1.4.2.zh-cn.md create mode 100644 content/news/2024-08-12-aosc-os-abbs-100000-commits.md create mode 100644 content/news/2024-08-12-aosc-os-abbs-100000-commits.zh-cn.md create mode 100644 content/news/2024-08-12-aosc-os-base-and-essential-package.md create mode 100644 content/news/2024-08-12-aosc-os-base-and-essential-package.zh-cn.md create mode 100644 content/news/2024-08-12-oma-1.4.3.md create mode 100644 content/news/2024-08-12-oma-1.4.3.zh-cn.md create mode 100644 content/news/2024-08-12-oma-for-debian-and-ubuntu.md create mode 100644 content/news/2024-08-12-oma-for-debian-and-ubuntu.zh-cn.md create mode 100644 content/news/2024-08-15-aosc-os-for-loongarch-old-world.md create mode 100644 content/news/2024-08-15-aosc-os-for-loongarch-old-world.zh-cn.md create mode 100644 content/news/2024-08-15-back-to-repology.md create mode 100644 content/news/2024-08-15-back-to-repology.zh-cn.md create mode 100644 content/news/2024-08-15-oma-1.5.2.md create mode 100644 content/news/2024-08-15-oma-1.5.2.zh-cn.md create mode 100644 content/news/2024-08-20-coffee-break.md create mode 100644 content/news/2024-08-20-coffee-break.zh-cn.md create mode 100644 content/news/2024-08-20-gstreamer-break.md create mode 100644 content/news/2024-08-20-gstreamer-break.zh-cn.md create mode 100644 content/news/2024-08-24-oma-1.7.md create mode 100644 content/news/2024-08-24-oma-1.7.zh-cn.md create mode 100644 content/news/2024-08-28-aoscc-2024-survey.md create mode 100644 content/news/2024-08-28-aoscc-2024-survey.zh-cn.md create mode 100644 content/news/2024-08-28-coffee-break-schedule.md create mode 100644 content/news/2024-08-28-coffee-break-schedule.zh-cn.md create mode 100644 content/news/2024-08-28-oma-1.8.md create mode 100644 content/news/2024-08-28-oma-1.8.zh-cn.md create mode 100644 content/news/2024-09-06-oma-1.9.md create mode 100644 content/news/2024-09-06-oma-1.9.zh-cn.md create mode 100644 content/news/2024-09-13-aosc-os-installer-ssh-keys.md create mode 100644 content/news/2024-09-13-aosc-os-installer-ssh-keys.zh-cn.md create mode 100644 content/news/2024-09-15-oma-1.10-rc1.md create mode 100644 content/news/2024-09-15-oma-1.10-rc1.zh-cn.md create mode 100644 content/news/2024-09-16-oma-1.10.zh-cn.md create mode 100644 content/news/2024-09-18-aosc-os-relnote.md create mode 100644 content/news/2024-09-18-aosc-os-relnote.zh-cn.md create mode 100644 content/news/2024-09-19-coffee-break.md create mode 100644 content/news/2024-09-19-coffee-break.zh-cn.md create mode 100644 content/news/2024-09-24-website-2023-up.md create mode 100644 content/news/2024-09-24-website-2023-up.zh-cn.md create mode 100644 content/news/2024-09-25-kernel-20240925.md create mode 100644 content/news/2024-09-25-kernel-20240925.zh-cn.md create mode 100644 content/news/2024-09-27-cups-0day-advisory.md create mode 100644 content/news/2024-09-27-cups-0day-advisory.zh-cn.md create mode 100644 content/news/2024-09-28-aosc-os-set-fcitx5-to-fcitx.md create mode 100644 content/news/2024-09-28-aosc-os-set-fcitx5-to-fcitx.zh-cn.md create mode 100644 content/news/2024-09-28-oma-1.11.0-rc1.md create mode 100644 content/news/2024-09-28-oma-1.11.0-rc1.zh-cn.md create mode 100644 eslint.config.mjs create mode 100644 middleware/routeguard.global.ts create mode 100644 nuxt.config.ts create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 pages/About.vue create mode 100644 pages/about/index.vue create mode 100644 pages/afterglow/index.vue create mode 100644 pages/afterglow/isa.vue create mode 100644 pages/afterglow/relnote.vue create mode 100644 pages/afterglow/requirements.vue create mode 100644 pages/aosc-os/index.vue create mode 100644 pages/aosc-os/isa.vue create mode 100644 pages/aosc-os/livekit/relnote.vue create mode 100644 pages/aosc-os/livekit/requirements.vue create mode 100644 pages/aosc-os/relnote.vue create mode 100644 pages/aosc-os/requirements.vue create mode 100644 pages/aosc-os/right-for-me/index.vue create mode 100644 pages/aosc-os/rightForMe.vue create mode 100644 pages/aosc-os/wsl/relnote.vue create mode 100644 pages/aosc-os/wsl/requirements.vue create mode 100644 pages/contact/index.vue create mode 100644 pages/crowdsourcing/index.vue create mode 100644 pages/download/index.vue create mode 100644 pages/events/index.vue create mode 100644 pages/gallery/index.vue create mode 100644 pages/guidelines/index.vue create mode 100644 pages/index.vue create mode 100644 pages/internship/index.vue create mode 100644 pages/l10n/index.vue create mode 100644 pages/liblol/index.vue create mode 100644 pages/mascot/index.vue create mode 100644 pages/news/components/NewsCategoryList.vue create mode 100644 pages/news/detail/[newsPath].vue create mode 100644 pages/news/index.vue create mode 100644 pages/news/list/[category]/[categoryTitle].vue create mode 100644 pages/oma/index.vue create mode 100644 pages/paste/detail/index.vue create mode 100644 pages/paste/index.vue create mode 100644 pages/sponsors/index.vue create mode 100644 plugins/highlight.client.ts create mode 100644 plugins/vue-monaco-editor.ts create mode 100644 public/afterglow/afterglow.zh-cn.jpg create mode 100644 public/aosc-os/aosc-os.zh-cn.jpg create mode 100644 public/aosc.svg create mode 100755 public/backgrounds/afterglow.webp create mode 100644 public/backgrounds/aosc-os-wsl.webp create mode 100644 public/backgrounds/aosc-os.webp create mode 100644 public/backgrounds/autumn.svg create mode 100644 public/backgrounds/floral.svg create mode 100644 public/backgrounds/livekit.jpg create mode 100644 public/backgrounds/spring.svg create mode 100644 public/backgrounds/summer.svg create mode 100644 public/backgrounds/winter.svg create mode 100644 public/distros/afterglow.svg create mode 100644 public/distros/aosc-os.svg create mode 100644 public/download/afterglow-web.svg create mode 100644 public/download/aosc-os-web.svg create mode 100644 public/download/oma-mascot.svg create mode 100644 public/download/oma.svg create mode 100644 public/favicon.ico create mode 100644 public/gallery.yml create mode 100644 public/heading/heading-wave.svg create mode 100644 public/heading/portal-logo-typed.en.svg create mode 100644 public/heading/portal-logo-typed.zh-cn.svg create mode 100644 public/heading/portal-logo.en.svg create mode 100644 public/heading/portal-logo.zh-cn.svg create mode 100644 public/icons/document-properties.min.svg create mode 100644 public/icons/key-enter.min.svg create mode 100644 public/icons/love.min.svg create mode 100644 public/icons/tools-wizard.min.svg create mode 100644 public/jumbotron/main1.svg create mode 100644 public/jumbotron/minor1.svg create mode 100644 public/jumbotron/minor2.svg create mode 100644 public/liblol/liblol.svg create mode 100644 public/mascot/anan.png create mode 100644 public/mascot/qr.png create mode 100644 public/newsCategories/advisories.en.json create mode 100644 public/newsCategories/advisories.zh-cn.json create mode 100644 public/newsCategories/en.json create mode 100644 public/newsCategories/home.en.json create mode 100644 public/newsCategories/home.zh-cn.json create mode 100644 public/newsCategories/journals.en.json create mode 100644 public/newsCategories/journals.zh-cn.json create mode 100644 public/newsCategories/minutes.en.json create mode 100644 public/newsCategories/minutes.zh-cn.json create mode 100644 public/newsCategories/news.en.json create mode 100644 public/newsCategories/news.zh-cn.json create mode 100644 public/newsCategories/zh-cn.json create mode 100644 public/oma/oma.png create mode 100644 public/robots.txt create mode 100644 public/sponsors/apernet.png create mode 100644 public/sponsors/apernet.svg create mode 100644 public/sponsors/bfsu.svg create mode 100644 public/sponsors/bpi.svg create mode 100644 public/sponsors/cods.svg create mode 100644 public/sponsors/cqu-lanunion.svg create mode 100755 public/sponsors/cqupt-lug.svg create mode 100644 public/sponsors/crossover.svg create mode 100644 public/sponsors/fastly.svg create mode 100644 public/sponsors/fuslvz.svg create mode 100644 public/sponsors/geekpie.svg create mode 100644 public/sponsors/globalsign.png create mode 100644 public/sponsors/globalsign.svg create mode 100644 public/sponsors/hexhu.svg create mode 100644 public/sponsors/hit-lug.svg create mode 100644 public/sponsors/jetbrains.svg create mode 100644 public/sponsors/jlu-lug.svg create mode 100644 public/sponsors/koddos.svg create mode 100644 public/sponsors/loongson.svg create mode 100644 public/sponsors/lug-ustc.svg create mode 100644 public/sponsors/lzuoss.svg create mode 100644 public/sponsors/microsoft.svg create mode 100644 public/sponsors/nju-lug.svg create mode 100644 public/sponsors/nluug.svg create mode 100644 public/sponsors/nyist-cips.svg create mode 100644 public/sponsors/ossplanet.svg create mode 100755 public/sponsors/pine64.svg create mode 100644 public/sponsors/plct.svg create mode 100644 public/sponsors/qingcloud.svg create mode 100644 public/sponsors/qvq.svg create mode 100644 public/sponsors/sb-blog.svg create mode 100644 public/sponsors/sdu.svg create mode 100644 public/sponsors/shuosc.svg create mode 100644 public/sponsors/sjtug.svg create mode 100644 public/sponsors/tencent-cloud.svg create mode 100644 public/sponsors/tuna.svg create mode 100644 public/sponsors/uestclug.svg create mode 100644 public/sponsors/xtom.svg create mode 100644 server/tsconfig.json create mode 100644 stores/store.js create mode 100644 tailwind.config.js create mode 100644 tsconfig.json create mode 100644 utils/animation.ts create mode 100644 utils/utils.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..4a7f73a2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# Nuxt dev/build outputs +.output +.data +.nuxt +.nitro +.cache +dist + +# Node dependencies +node_modules + +# Logs +logs +*.log + +# Misc +.DS_Store +.fleet +.idea + +# Local env files +.env +.env.* +!.env.example diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..589d612a --- /dev/null +++ b/.prettierignore @@ -0,0 +1,9 @@ +README*.md +public/* +pasteServer/* +makeCategory/* +deploy/* +website/* +utils/* +auto-imports.d.ts +components.d.ts diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..e9040e0e --- /dev/null +++ b/.prettierrc @@ -0,0 +1,10 @@ +{ + "semi": true, + "bracketSameLine": true, + "arrowParens": "always", + "htmlWhitespaceSensitivity": "strict", + "vueIndentScriptAndStyle": false, + "singleQuote": true, + "trailingComma": "none", + "printWidth": 80 +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..e69de29b diff --git a/README.md b/README.md new file mode 100644 index 00000000..f5db2a2d --- /dev/null +++ b/README.md @@ -0,0 +1,75 @@ +# Nuxt 3 Minimal Starter + +Look at the [Nuxt 3 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more. + +## Setup + +Make sure to install the dependencies: + +```bash +# npm +npm install + +# pnpm +pnpm install + +# yarn +yarn install + +# bun +bun install +``` + +## Development Server + +Start the development server on `http://localhost:3000`: + +```bash +# npm +npm run dev + +# pnpm +pnpm run dev + +# yarn +yarn dev + +# bun +bun run dev +``` + +## Production + +Build the application for production: + +```bash +# npm +npm run build + +# pnpm +pnpm run build + +# yarn +yarn build + +# bun +bun run build +``` + +Locally preview production build: + +```bash +# npm +npm run preview + +# pnpm +pnpm run preview + +# yarn +yarn preview + +# bun +bun run preview +``` + +Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information. diff --git a/app.vue b/app.vue new file mode 100644 index 00000000..05d8f2e3 --- /dev/null +++ b/app.vue @@ -0,0 +1,53 @@ + + + diff --git a/assets/css/main.css b/assets/css/main.css new file mode 100644 index 00000000..ef4397ee --- /dev/null +++ b/assets/css/main.css @@ -0,0 +1,38 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +body { + margin: 0; + padding: 0; + font-size: 12pt; + background-color: white; + font-family: 'Noto Sans CJK SC', sans-serif; + font-size: 12pt; + min-width: 800px; + } + a:hover { + text-decoration: underline; + } + + @media (min-width: 960px) { + .content-container { + width: 90vw !important; + } + } + + .content-container { + width: 70vw; + min-width: 960px; + max-width: 1280px; + /* flex: 0 0 100%; */ + } + + .shadow { + box-shadow: 0px 0px 10px #999; + background: #fafafa; + } + + .v-code-block--code { + z-index: 0 !important; + } \ No newline at end of file diff --git a/assets/index.scss b/assets/index.scss new file mode 100644 index 00000000..5d75ab32 --- /dev/null +++ b/assets/index.scss @@ -0,0 +1,341 @@ +$line-space: 22px; +$bg-color: rgba(224, 224, 224, 0.1); +$th-bg-color: rgba(224, 224, 224, 0.3); +$blue: #37b2ff; +$yellow: #feea1e; +$orange: orange; +$purple: #e699e6; +$green: #a7ecad; +$bg-secondary: #3f6075; + +:root { + --font-family-monospace: 'Source Code Pro', 'Menlo', 'Consolas', + 'DejaVu Sans Mono', -apple-system, monospace; +} + +@media (min-width: 1280px) { + .vuepress-markdown-body { + padding: 2rem 10% !important; + } +} + +.theme-bg-color-secondary-static { + background-color: var(--secondary); +} + +.theme-bg-color-primary-static { + background-color: var(--primary); +} + +.theme-bg-color-primary-secondary { + background-color: var(--primary); +} + +.theme-bg-color-primary-secondary:hover { + background-color: var(--secondary); +} + +.theme-bg-color-secondary-primary { + background-color: var(--secondary); +} + +.theme-bg-color-secondary-primary:hover { + background-color: var(--primary); +} + +.theme-border-primary { + border-color: var(--primary); +} + +.theme-border-secondary { + border-color: var(--secondary); +} + +.theme-text-primary { + color: var(--primary); +} + +.vuepress-markdown-body { + background: none; + background-color: #fafafa !important; + + h1 { + background-color: $bg-secondary; + color: #fff; + padding: 5px 10px 5px 10px; + font-size: 12pt; + font-weight: normal; + line-height: inherit; + margin-left: -31px; + } + + h2 { + border-bottom-width: 0; + } + + p { + line-height: inherit; + margin-bottom: $line-space; + } + + img { + max-width: 70% !important; + margin-left: auto; + margin-right: auto; + box-shadow: 2px 2px 5px #777; + } + + hr:first-of-type { + display: none; + } + + hr { + height: 1px; + border: none; + margin-top: 32px; + margin-bottom: 32px; + background-size: 4px 1px; + background-image: linear-gradient( + to left, + $blue 0%, + $blue 25%, + transparent 50% + ); + } + + code { + margin: 0 4px; + font-family: var(--font-family-monospace); + word-break: break-word; + overflow-x: auto; + background-color: #fff7f7; + color: #f06; + font-size: 0.87em; + padding: 0.065em 0.4em; + } + + pre { + margin: 15px 8px; + border: 1px solid rgb(245, 245, 247); + font-family: var(--font-family-monospace); + line-height: 1.75; + + > code { + font-size: 12px; + padding: 15px 12px; + overflow-x: auto; + margin: 0; + word-break: normal; + display: block; + color: #333; + background-color: #fff; + overflow-x: auto; + } + } + + a { + margin: 0 16px; + text-decoration: none; + transition: 300ms; + display: inline-block; + vertical-align: bottom; + + &::before { + content: 'READ MORE +'; + bottom: 90%; + width: 120px; + max-width: 0px; + color: #fff; + position: absolute; + white-space: nowrap; + transition: 300ms; + box-sizing: border-box; + pointer-events: none; + overflow: hidden; + } + + &::after { + content: ''; + bottom: 0; + left: 0; + width: 100%; + height: 1px; + position: absolute; + } + + &:hover { + text-decoration: underline; + } + + &:active { + &::before { + max-width: 120px; + padding-left: 14px; + } + } + } + + blockquote { + } + + ol, + ul { + padding-left: 28px; + + li { + line-height: 2em; + margin-bottom: 0; + list-style: inherit; + + & .task-list-item { + list-style: none; + + ul, + ol { + margin-top: 0; + } + } + } + + ul, + ol { + margin-top: 3px; + + li { + border-bottom: none; + } + } + } + + ol li { + padding-left: 6px; + list-style: decimal-leading-zero; + } + + .contains-task-list { + padding-left: 0; + } + + .task-list-item { + list-style: none; + } + + input[type='checkbox'] { + position: relative; + + @keyframes router-highlight { + 0% { + opacity: 1; + } + + 25% { + opacity: 0.3; + } + + 100% { + opacity: 1; + } + } + + .router-highlight-animation { + animation: router-highlight 3s; + } + + &::before { + top: 0; + left: 0; + right: 0; + bottom: 0; + content: ''; + width: inherit; + height: inherit; + background: #f0f8ff; + border: 1px solid #add6ff; + border-radius: 2px; + box-sizing: border-box; + z-index: 1; + position: absolute; + } + + &:checked::after { + content: ''; + top: 10%; + left: 18%; + width: 90%; + height: 40%; + border-left: 2px solid $blue; + border-bottom: 2px solid $blue; + color: $blue; + z-index: 2; + transform: rotate(-45deg); + position: absolute; + } + } + + @media (max-width: 720px) { + h1 { + font-size: 24px; + } + + h2 { + font-size: 20px; + } + + h3 { + font-size: 18px; + } + } +} + +table { + width: 100%; + max-width: 100%; + font-size: 12pt; + background-color: #fff; + overflow: auto; + border-collapse: collapse; + + tr { + th, + td { + border: 1px solid $bg-secondary; + } + } +} + +thead { + text-align: left; +} + +th { + font-weight: bold; + background-color: $th-bg-color; + border-bottom: 1px dashed #eee; +} + +tr:nth-child(2n + 1) { + background-color: $bg-color; + border-bottom: 1px solid #fff; +} + +th, +td { + padding: 6px 7px; + line-height: 24px; +} + +td { + min-width: 120px; + border: 1px dashed #fff; +} + +.vuepress-markdown-body div[class*='v-md-pre-wrapper-'] pre, +.vuepress-markdown-body + div[class*='v-md-pre-wrapper-'] + pre[class*='v-md-prism-'] { + z-index: 0; +} + +.vuepress-markdown-body div[class*='v-md-pre-wrapper-']::before { + z-index: 0; +} diff --git a/components/AccordionNavigation.vue b/components/AccordionNavigation.vue new file mode 100644 index 00000000..425d486d --- /dev/null +++ b/components/AccordionNavigation.vue @@ -0,0 +1,30 @@ + + + + diff --git a/components/CategorySecond.vue b/components/CategorySecond.vue new file mode 100644 index 00000000..e4543aa3 --- /dev/null +++ b/components/CategorySecond.vue @@ -0,0 +1,37 @@ + + + + diff --git a/components/CopyButton.vue b/components/CopyButton.vue new file mode 100644 index 00000000..16ec2511 --- /dev/null +++ b/components/CopyButton.vue @@ -0,0 +1,33 @@ + + + + diff --git a/components/DownloadButton.vue b/components/DownloadButton.vue new file mode 100644 index 00000000..3fa05d47 --- /dev/null +++ b/components/DownloadButton.vue @@ -0,0 +1,80 @@ + + + + diff --git a/components/LinkButton.vue b/components/LinkButton.vue new file mode 100644 index 00000000..e1423015 --- /dev/null +++ b/components/LinkButton.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/components/NewsCategoryList.vue b/components/NewsCategoryList.vue new file mode 100644 index 00000000..7ba14504 --- /dev/null +++ b/components/NewsCategoryList.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/components/app/AppH2.vue b/components/app/AppH2.vue new file mode 100644 index 00000000..1b6041ca --- /dev/null +++ b/components/app/AppH2.vue @@ -0,0 +1,12 @@ + + + + diff --git a/components/app/AppLink.vue b/components/app/AppLink.vue new file mode 100644 index 00000000..3a2c2d3b --- /dev/null +++ b/components/app/AppLink.vue @@ -0,0 +1,23 @@ + + + diff --git a/components/app/AppSupport.vue b/components/app/AppSupport.vue new file mode 100644 index 00000000..0174a7af --- /dev/null +++ b/components/app/AppSupport.vue @@ -0,0 +1,50 @@ + + + + diff --git a/components/bar/BarFooter.vue b/components/bar/BarFooter.vue new file mode 100644 index 00000000..359ee3ad --- /dev/null +++ b/components/bar/BarFooter.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/components/bar/BarHeader.vue b/components/bar/BarHeader.vue new file mode 100644 index 00000000..5344d64b --- /dev/null +++ b/components/bar/BarHeader.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/components/bar/BarLeft.vue b/components/bar/BarLeft.vue new file mode 100644 index 00000000..ca01a95d --- /dev/null +++ b/components/bar/BarLeft.vue @@ -0,0 +1,150 @@ + + + + + diff --git a/components/bar/BarRight.vue b/components/bar/BarRight.vue new file mode 100644 index 00000000..b534a427 --- /dev/null +++ b/components/bar/BarRight.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/content/news/2016-09-18-a-re-cap-our-3rd-aoscc.md b/content/news/2016-09-18-a-re-cap-our-3rd-aoscc.md new file mode 100644 index 00000000..5ebff67f --- /dev/null +++ b/content/news/2016-09-18-a-re-cap-our-3rd-aoscc.md @@ -0,0 +1,37 @@ +--- +categories: + - news +date: '2016-09-18' +important: false +title: 'A Re-cap: Our 3rd AOSCC' +--- + + +So here's a (very) late recap on the 3rd AOSCC (AOSC Conference) held in Shanghai, on July 16-18. Several first's were achieved this year: + +- This is the first time that our annual get-together was sponsored by a University student organization - the [Geek Pie Association](https://www.geekpie.org/). +- We have got more than 35 attendees having fun these three days, a ~40% boost from last year's record (just to see how small of a conference it was). +- We have (finally) got a successful workshop session on the third day. + +Several community matters were determined for the coming year: + +- AOSCC 2017 will be held in the summer in Guangzhou, China. +- The next Core release, Core 4 series, will be codenamed ["Duang-Duang"](https://en.wikipedia.org/wiki/Duang). +- A PowerPC and PowerPC64 (PPC64) port will be available as part of the Core 4 update. +- A default wallpaper is chosen for AOSC OS, it will be presented in a later news post. + +Photographs and blog posts +-------------------------- + +Friends of our community have kindly taken some nice photographs during AOSCC, and they are listed below: + +- A photo gallery from our [Community](/community) page. +- From ホロ's blog: + - [Day 1](https://blog.yoitsu.moe/aosc/aoscc_2016.html) + - [Day 2](https://blog.yoitsu.moe/aosc/aoscc_2016_2.html) + - [Day 3](https://blog.yoitsu.moe/aosc/aoscc_2016_3.html) + +See you next year? +------------------ + +More details about AOSCC 2017 will be posted later this year, and hopefully we will see you again in Guangzhou (good luck staying cool in the summer)! diff --git a/content/news/2016-09-18-a-re-cap-our-3rd-aoscc.zh-cn.md b/content/news/2016-09-18-a-re-cap-our-3rd-aoscc.zh-cn.md new file mode 100644 index 00000000..5ebff67f --- /dev/null +++ b/content/news/2016-09-18-a-re-cap-our-3rd-aoscc.zh-cn.md @@ -0,0 +1,37 @@ +--- +categories: + - news +date: '2016-09-18' +important: false +title: 'A Re-cap: Our 3rd AOSCC' +--- + + +So here's a (very) late recap on the 3rd AOSCC (AOSC Conference) held in Shanghai, on July 16-18. Several first's were achieved this year: + +- This is the first time that our annual get-together was sponsored by a University student organization - the [Geek Pie Association](https://www.geekpie.org/). +- We have got more than 35 attendees having fun these three days, a ~40% boost from last year's record (just to see how small of a conference it was). +- We have (finally) got a successful workshop session on the third day. + +Several community matters were determined for the coming year: + +- AOSCC 2017 will be held in the summer in Guangzhou, China. +- The next Core release, Core 4 series, will be codenamed ["Duang-Duang"](https://en.wikipedia.org/wiki/Duang). +- A PowerPC and PowerPC64 (PPC64) port will be available as part of the Core 4 update. +- A default wallpaper is chosen for AOSC OS, it will be presented in a later news post. + +Photographs and blog posts +-------------------------- + +Friends of our community have kindly taken some nice photographs during AOSCC, and they are listed below: + +- A photo gallery from our [Community](/community) page. +- From ホロ's blog: + - [Day 1](https://blog.yoitsu.moe/aosc/aoscc_2016.html) + - [Day 2](https://blog.yoitsu.moe/aosc/aoscc_2016_2.html) + - [Day 3](https://blog.yoitsu.moe/aosc/aoscc_2016_3.html) + +See you next year? +------------------ + +More details about AOSCC 2017 will be posted later this year, and hopefully we will see you again in Guangzhou (good luck staying cool in the summer)! diff --git a/content/news/2016-09-18-aosc-os-core-4-is-green.md b/content/news/2016-09-18-aosc-os-core-4-is-green.md new file mode 100644 index 00000000..15ddb658 --- /dev/null +++ b/content/news/2016-09-18-aosc-os-core-4-is-green.md @@ -0,0 +1,38 @@ +--- +categories: + - news +date: '2016-09-18' +important: false +title: AOSC OS Core 4 is Green! +--- + + +![core4-banner](/assets/news/core4.jpg) + +And... Duang! It's here. + +AOSC OS Core 4 is a major update over Core 3, which has been the mainline Core +version since last summer (remember?). With this major version update, we are +finally free to get our newest and most radical changes for your device. + +With this Core update, you will get higher performance with applications runtime +and launching speed (it gets better over time for the year to come). + +At a glance +----------- + +With Core 4... + +- Full hardening is now the new default for all packages in the repository. +- All core libraries contained in the Core is now optimized with `-O3` instead of the default `-O2` (which is safe according to the tests conducted during Core 4 testing), bringing a boost in performance of those libraries in several aspects (for example, mathematical/arithmetic operations). +- All AMD64 (x86_64) packages will be built with LTO (Link Time Optimization) enabled, bringing a boost in application startup times, and decreases the memory footprint of some applications in some off chances (for example, Firefox). +- PowerPC and PowerPC64 are now supported as two of our new ports, they will eventually become full releases of AOSC OS in the coming year (run it on your PowerPC Macs, they are not even close to be obselete!). + +A full changelog is available in the [release page](https://github.com/AOSC-Dev/aosc-os-core/releases/tag/v4.0.0). + +Updating +-------- + +Updates are now available for AMD64 (x86_64) users (updates for other ports coming next week). + +Simply update like you would for any system updates, a reboot is not required (and not recommended, keep the uptime up, folks). diff --git a/content/news/2016-09-18-aosc-os-core-4-is-green.zh-cn.md b/content/news/2016-09-18-aosc-os-core-4-is-green.zh-cn.md new file mode 100644 index 00000000..15ddb658 --- /dev/null +++ b/content/news/2016-09-18-aosc-os-core-4-is-green.zh-cn.md @@ -0,0 +1,38 @@ +--- +categories: + - news +date: '2016-09-18' +important: false +title: AOSC OS Core 4 is Green! +--- + + +![core4-banner](/assets/news/core4.jpg) + +And... Duang! It's here. + +AOSC OS Core 4 is a major update over Core 3, which has been the mainline Core +version since last summer (remember?). With this major version update, we are +finally free to get our newest and most radical changes for your device. + +With this Core update, you will get higher performance with applications runtime +and launching speed (it gets better over time for the year to come). + +At a glance +----------- + +With Core 4... + +- Full hardening is now the new default for all packages in the repository. +- All core libraries contained in the Core is now optimized with `-O3` instead of the default `-O2` (which is safe according to the tests conducted during Core 4 testing), bringing a boost in performance of those libraries in several aspects (for example, mathematical/arithmetic operations). +- All AMD64 (x86_64) packages will be built with LTO (Link Time Optimization) enabled, bringing a boost in application startup times, and decreases the memory footprint of some applications in some off chances (for example, Firefox). +- PowerPC and PowerPC64 are now supported as two of our new ports, they will eventually become full releases of AOSC OS in the coming year (run it on your PowerPC Macs, they are not even close to be obselete!). + +A full changelog is available in the [release page](https://github.com/AOSC-Dev/aosc-os-core/releases/tag/v4.0.0). + +Updating +-------- + +Updates are now available for AMD64 (x86_64) users (updates for other ports coming next week). + +Simply update like you would for any system updates, a reboot is not required (and not recommended, keep the uptime up, folks). diff --git a/content/news/2016-09-18-aosc-oss-default-wallpapers.md b/content/news/2016-09-18-aosc-oss-default-wallpapers.md new file mode 100644 index 00000000..58305ba9 --- /dev/null +++ b/content/news/2016-09-18-aosc-oss-default-wallpapers.md @@ -0,0 +1,46 @@ +--- +categories: + - news +date: '2016-09-18' +important: false +title: AOSC OS's Default Wallpapers +--- + + +With a vote during AOSCC 2016, we have chosen the wallpaper design from Yitong He, or [axionl](https://github.com/axionl) as the default wallpaper of AOSC OS with Core 4. This set of default wallpapers come in two times two equals... four variants: + +### "Day" + +![day](/assets/news/day.jpg) + +### "Night" + +![night](/assets/news/night.jpg) + +Yes, we got it, some people are just not a big fan of texts all around their desktop background, so a "plain" variant with **absolutely** no text on them: + +### "Day", with no text + +![day-plain](/assets/news/day-plain.jpg) + +### "Night", with no text + +![night-plain](/assets/news/night-plain.jpg) + +Dynamic wallpaper +----------------- + +If you happen to be using GNOME, MATE, or Cinnamon as your desktop environment, you will get the extra "dynamic" feature of this wallpaper set: + +- During day time (7:00 to 19:00), the "Day" variant is shown. +- During night time (19:00 to 7:00 the following day), the "Night" variant is shown. + +Getting the wallpapers +---------------------- + +This set of wallpapers is now available for you to "build" with the "sources" [here](https://github.com/AOSC-Dev/aosc-os-artworks). You will need: + +- GNU Make, so you can actually start building it. +- Inkscape, for generating PNG products from SVG "sources". + +Simply `make` and `make install` and you are good to go. diff --git a/content/news/2016-09-18-aosc-oss-default-wallpapers.zh-cn.md b/content/news/2016-09-18-aosc-oss-default-wallpapers.zh-cn.md new file mode 100644 index 00000000..58305ba9 --- /dev/null +++ b/content/news/2016-09-18-aosc-oss-default-wallpapers.zh-cn.md @@ -0,0 +1,46 @@ +--- +categories: + - news +date: '2016-09-18' +important: false +title: AOSC OS's Default Wallpapers +--- + + +With a vote during AOSCC 2016, we have chosen the wallpaper design from Yitong He, or [axionl](https://github.com/axionl) as the default wallpaper of AOSC OS with Core 4. This set of default wallpapers come in two times two equals... four variants: + +### "Day" + +![day](/assets/news/day.jpg) + +### "Night" + +![night](/assets/news/night.jpg) + +Yes, we got it, some people are just not a big fan of texts all around their desktop background, so a "plain" variant with **absolutely** no text on them: + +### "Day", with no text + +![day-plain](/assets/news/day-plain.jpg) + +### "Night", with no text + +![night-plain](/assets/news/night-plain.jpg) + +Dynamic wallpaper +----------------- + +If you happen to be using GNOME, MATE, or Cinnamon as your desktop environment, you will get the extra "dynamic" feature of this wallpaper set: + +- During day time (7:00 to 19:00), the "Day" variant is shown. +- During night time (19:00 to 7:00 the following day), the "Night" variant is shown. + +Getting the wallpapers +---------------------- + +This set of wallpapers is now available for you to "build" with the "sources" [here](https://github.com/AOSC-Dev/aosc-os-artworks). You will need: + +- GNU Make, so you can actually start building it. +- Inkscape, for generating PNG products from SVG "sources". + +Simply `make` and `make install` and you are good to go. diff --git a/content/news/2016-09-18-welcome-to-aosc-portal.md b/content/news/2016-09-18-welcome-to-aosc-portal.md new file mode 100644 index 00000000..5cd4fec2 --- /dev/null +++ b/content/news/2016-09-18-welcome-to-aosc-portal.md @@ -0,0 +1,16 @@ +--- +categories: + - news +date: '2016-09-18' +important: false +title: Welcome to AOSC Portal +--- + + +Goodbye, Temporary Portal, you served us well (not!)... + +It's been a long time since this [next-gen portal](https://github.com/AOSC-Dev/website-site-ng) has first started, it was the summer of 2015. It has been quite a difficult journey for us, frontend was never our strongest point, in addition to being full time students, we haven't been able to finish the new site in a timely fashion. And we do apologize for showing that eye watering Temporary Portal for such a long time (15 months, can you believe that!). + +Anyhow, it's here, and we hope that you enjoy your visit. Please report any issues experienced, or perhaps advices for us to improve this site to the [issue list](https://github.com/AOSC-Dev/website-site-ng/issues). + +— AOSC "Cauldron" Web Team \ No newline at end of file diff --git a/content/news/2016-09-18-welcome-to-aosc-portal.zh-cn.md b/content/news/2016-09-18-welcome-to-aosc-portal.zh-cn.md new file mode 100644 index 00000000..5cd4fec2 --- /dev/null +++ b/content/news/2016-09-18-welcome-to-aosc-portal.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - news +date: '2016-09-18' +important: false +title: Welcome to AOSC Portal +--- + + +Goodbye, Temporary Portal, you served us well (not!)... + +It's been a long time since this [next-gen portal](https://github.com/AOSC-Dev/website-site-ng) has first started, it was the summer of 2015. It has been quite a difficult journey for us, frontend was never our strongest point, in addition to being full time students, we haven't been able to finish the new site in a timely fashion. And we do apologize for showing that eye watering Temporary Portal for such a long time (15 months, can you believe that!). + +Anyhow, it's here, and we hope that you enjoy your visit. Please report any issues experienced, or perhaps advices for us to improve this site to the [issue list](https://github.com/AOSC-Dev/website-site-ng/issues). + +— AOSC "Cauldron" Web Team \ No newline at end of file diff --git a/content/news/2016-09-19-new-package-additions-sept-19-2016.md b/content/news/2016-09-19-new-package-additions-sept-19-2016.md new file mode 100644 index 00000000..0b4a7766 --- /dev/null +++ b/content/news/2016-09-19-new-package-additions-sept-19-2016.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2016-09-19' +important: false +title: 'New package additions: Sept. 19, 2016' +--- + + +Per users' request, we have added the following packages to our community repository: + +- `jpexs-decompiler` - JPEXS Free Flash Decompiler ([#369](https://github.com/AOSC-Dev/aosc-os-abbs/issues/369)). +- `ardour` - A full-featured, professional grade audio workstation ([#371](https://github.com/AOSC-Dev/aosc-os-abbs/issues/371)). +- `cmatrix` - A clone of the effects from The Matrix movie ([#374](https://github.com/AOSC-Dev/aosc-os-abbs/issues/374)). +- `liteide` - A simple, open source, cross-platform Go IDE ([#376](https://github.com/AOSC-Dev/aosc-os-abbs/issues/376)). +- `convmv` - Converts filenames from one encoding to another ([#381](https://github.com/AOSC-Dev/aosc-os-abbs/issues/381)). + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. \ No newline at end of file diff --git a/content/news/2016-09-19-new-package-additions-sept-19-2016.zh-cn.md b/content/news/2016-09-19-new-package-additions-sept-19-2016.zh-cn.md new file mode 100644 index 00000000..0b4a7766 --- /dev/null +++ b/content/news/2016-09-19-new-package-additions-sept-19-2016.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2016-09-19' +important: false +title: 'New package additions: Sept. 19, 2016' +--- + + +Per users' request, we have added the following packages to our community repository: + +- `jpexs-decompiler` - JPEXS Free Flash Decompiler ([#369](https://github.com/AOSC-Dev/aosc-os-abbs/issues/369)). +- `ardour` - A full-featured, professional grade audio workstation ([#371](https://github.com/AOSC-Dev/aosc-os-abbs/issues/371)). +- `cmatrix` - A clone of the effects from The Matrix movie ([#374](https://github.com/AOSC-Dev/aosc-os-abbs/issues/374)). +- `liteide` - A simple, open source, cross-platform Go IDE ([#376](https://github.com/AOSC-Dev/aosc-os-abbs/issues/376)). +- `convmv` - Converts filenames from one encoding to another ([#381](https://github.com/AOSC-Dev/aosc-os-abbs/issues/381)). + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. \ No newline at end of file diff --git a/content/news/2016-09-19-pre-built-aosc-os-wallpapers-now-available.md b/content/news/2016-09-19-pre-built-aosc-os-wallpapers-now-available.md new file mode 100644 index 00000000..bd361a5e --- /dev/null +++ b/content/news/2016-09-19-pre-built-aosc-os-wallpapers-now-available.md @@ -0,0 +1,16 @@ +--- +categories: + - news +date: '2016-09-19' +important: false +title: Pre-built AOSC OS Wallpapers now available +--- + + +I have just built the AOSC OS wallpapers for Core 4.0.0 (with date tag 20160916). Just unpack and copy all the files into your root directory. + +If you are not using a Linux desktop, you may find all the built PNG files in `usr/share/backgrounds/core4`. + +You may get all the prebuilt wallpapers [here](https://github.com/AOSC-Dev/aosc-os-artworks/releases/tag/v20160916). + +— Mingcong (Jeff) Bai \ No newline at end of file diff --git a/content/news/2016-09-19-pre-built-aosc-os-wallpapers-now-available.zh-cn.md b/content/news/2016-09-19-pre-built-aosc-os-wallpapers-now-available.zh-cn.md new file mode 100644 index 00000000..bd361a5e --- /dev/null +++ b/content/news/2016-09-19-pre-built-aosc-os-wallpapers-now-available.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - news +date: '2016-09-19' +important: false +title: Pre-built AOSC OS Wallpapers now available +--- + + +I have just built the AOSC OS wallpapers for Core 4.0.0 (with date tag 20160916). Just unpack and copy all the files into your root directory. + +If you are not using a Linux desktop, you may find all the built PNG files in `usr/share/backgrounds/core4`. + +You may get all the prebuilt wallpapers [here](https://github.com/AOSC-Dev/aosc-os-artworks/releases/tag/v20160916). + +— Mingcong (Jeff) Bai \ No newline at end of file diff --git a/content/news/2016-09-20-aosc-os-repository-mirror-at-ustc-is-down.md b/content/news/2016-09-20-aosc-os-repository-mirror-at-ustc-is-down.md new file mode 100644 index 00000000..c6a7b30b --- /dev/null +++ b/content/news/2016-09-20-aosc-os-repository-mirror-at-ustc-is-down.md @@ -0,0 +1,19 @@ +--- +categories: + - news +date: '2016-09-20' +important: true +title: AOSC OS Repository Mirror at USTC is Down +--- + + +Our mirror at [USTC](https://mirror.ustc.edu.cn) is down (in fact, for quite some time now) due to hardware failures in their hard disk arrays. + +That said, you might need to change your APT source lists to install and update packages normally. Use `apt-gen-list -l` to see your options (avoid `10-ustc` for now), and `apt-gen-list -e "repo1 repo2 repo3"` to enable new mirrors to use. + +We will post another notice when USTC's mirror has resolved this issue. + +Relevant documentation: + +- USTC's notice about their [hard disk array failure](https://servers.blog.ustc.edu.cn/2016/09/mirrors-disk-failure-2/). +- USTC's update to their previous notice, they have decided to perform an [offline maintenance](https://servers.blog.ustc.edu.cn/2016/09/mirrors-severe-disk-failure/). \ No newline at end of file diff --git a/content/news/2016-09-20-aosc-os-repository-mirror-at-ustc-is-down.zh-cn.md b/content/news/2016-09-20-aosc-os-repository-mirror-at-ustc-is-down.zh-cn.md new file mode 100644 index 00000000..c6a7b30b --- /dev/null +++ b/content/news/2016-09-20-aosc-os-repository-mirror-at-ustc-is-down.zh-cn.md @@ -0,0 +1,19 @@ +--- +categories: + - news +date: '2016-09-20' +important: true +title: AOSC OS Repository Mirror at USTC is Down +--- + + +Our mirror at [USTC](https://mirror.ustc.edu.cn) is down (in fact, for quite some time now) due to hardware failures in their hard disk arrays. + +That said, you might need to change your APT source lists to install and update packages normally. Use `apt-gen-list -l` to see your options (avoid `10-ustc` for now), and `apt-gen-list -e "repo1 repo2 repo3"` to enable new mirrors to use. + +We will post another notice when USTC's mirror has resolved this issue. + +Relevant documentation: + +- USTC's notice about their [hard disk array failure](https://servers.blog.ustc.edu.cn/2016/09/mirrors-disk-failure-2/). +- USTC's update to their previous notice, they have decided to perform an [offline maintenance](https://servers.blog.ustc.edu.cn/2016/09/mirrors-severe-disk-failure/). \ No newline at end of file diff --git a/content/news/2016-09-20-enlightenment-updated-to-021-series-e21.md b/content/news/2016-09-20-enlightenment-updated-to-021-series-e21.md new file mode 100644 index 00000000..e68b1829 --- /dev/null +++ b/content/news/2016-09-20-enlightenment-updated-to-021-series-e21.md @@ -0,0 +1,26 @@ +--- +categories: + - news +date: '2016-09-20' +important: false +title: Enlightenment updated to 0.21 series (E21) +--- + + +[Enlightenment](https://www.enlightenment.org/) desktop is now updated to E21, or the 0.21 series. Along with EFL (Enlightenment Foundation Libraries) 1.18.1, which now contains the old Elementary toolkit, Emotion Generic Players, and Evas Generic Loaders. + +All Enlightenment packages were rebuilt against EFL 1.18.1: + +- Python bindings to EFL (python-efl), 0.18.0. +- Terminology (terminology), 0.9.1-1. +- Rage Video Player (rage), 0.2.1. +- Econnman Connman frontend (econnman), 1.1-3. +- Dynamic EDC Editor (enventor), 1.0.0. +- EFL Edje Theme Editor (eflete), 0.7.0. +- Enlightenment IDE (edi), 0.3.0-1. +- Enlightenment Bittorrent Client (epour), 0.6.0-5. + +Relevant documentation: + +- Enlightenment DR 0.21.0 [Release Note](https://www.enlightenment.org/news/e21_release). +- Enlightenment Foundation Libraries 1.18 [Release Note](https://www.enlightenment.org/news/efl-1.18.0). \ No newline at end of file diff --git a/content/news/2016-09-20-enlightenment-updated-to-021-series-e21.zh-cn.md b/content/news/2016-09-20-enlightenment-updated-to-021-series-e21.zh-cn.md new file mode 100644 index 00000000..e68b1829 --- /dev/null +++ b/content/news/2016-09-20-enlightenment-updated-to-021-series-e21.zh-cn.md @@ -0,0 +1,26 @@ +--- +categories: + - news +date: '2016-09-20' +important: false +title: Enlightenment updated to 0.21 series (E21) +--- + + +[Enlightenment](https://www.enlightenment.org/) desktop is now updated to E21, or the 0.21 series. Along with EFL (Enlightenment Foundation Libraries) 1.18.1, which now contains the old Elementary toolkit, Emotion Generic Players, and Evas Generic Loaders. + +All Enlightenment packages were rebuilt against EFL 1.18.1: + +- Python bindings to EFL (python-efl), 0.18.0. +- Terminology (terminology), 0.9.1-1. +- Rage Video Player (rage), 0.2.1. +- Econnman Connman frontend (econnman), 1.1-3. +- Dynamic EDC Editor (enventor), 1.0.0. +- EFL Edje Theme Editor (eflete), 0.7.0. +- Enlightenment IDE (edi), 0.3.0-1. +- Enlightenment Bittorrent Client (epour), 0.6.0-5. + +Relevant documentation: + +- Enlightenment DR 0.21.0 [Release Note](https://www.enlightenment.org/news/e21_release). +- Enlightenment Foundation Libraries 1.18 [Release Note](https://www.enlightenment.org/news/efl-1.18.0). \ No newline at end of file diff --git a/content/news/2016-09-24-core-401-released.md b/content/news/2016-09-24-core-401-released.md new file mode 100644 index 00000000..6387adc0 --- /dev/null +++ b/content/news/2016-09-24-core-401-released.md @@ -0,0 +1,25 @@ +--- +categories: + - news +date: '2016-09-24' +important: false +title: Core 4.0.1 Released +--- + + +![Core4-Banner](/assets/news/core4.jpg) + +Core 4.0.1 is now available for all architectures supported by AOSC OS: + +- ARM64 (arm64) +- ARMv7 (armel) +- MIPS32 (mipsel) +- PowerPC (powerpc) +- PowerPC64 (ppc64) +- x86_64 (amd64) + +This is a bugfix release to Core 4.0.0, which fixes an issue that Perl is unable to find programs installed in its site/vendor package directories, and some build failures on PowerPC and MIPS32 architectures. + +For the original changelog, see [here](https://github.com/AOSC-Dev/aosc-os-core/releases/tag/v4.0.1). + +Wallpapers updated for Core 4.0.1 are also available through [here](https://github.com/AOSC-Dev/aosc-os-artworks/releases/tag/v20160924). These wallpapers will soon be shipped as part of the `desktop-base` package - as an update in about a week. diff --git a/content/news/2016-09-24-core-401-released.zh-cn.md b/content/news/2016-09-24-core-401-released.zh-cn.md new file mode 100644 index 00000000..6387adc0 --- /dev/null +++ b/content/news/2016-09-24-core-401-released.zh-cn.md @@ -0,0 +1,25 @@ +--- +categories: + - news +date: '2016-09-24' +important: false +title: Core 4.0.1 Released +--- + + +![Core4-Banner](/assets/news/core4.jpg) + +Core 4.0.1 is now available for all architectures supported by AOSC OS: + +- ARM64 (arm64) +- ARMv7 (armel) +- MIPS32 (mipsel) +- PowerPC (powerpc) +- PowerPC64 (ppc64) +- x86_64 (amd64) + +This is a bugfix release to Core 4.0.0, which fixes an issue that Perl is unable to find programs installed in its site/vendor package directories, and some build failures on PowerPC and MIPS32 architectures. + +For the original changelog, see [here](https://github.com/AOSC-Dev/aosc-os-core/releases/tag/v4.0.1). + +Wallpapers updated for Core 4.0.1 are also available through [here](https://github.com/AOSC-Dev/aosc-os-artworks/releases/tag/v20160924). These wallpapers will soon be shipped as part of the `desktop-base` package - as an update in about a week. diff --git a/content/news/2016-09-24-mate-116-now-available.md b/content/news/2016-09-24-mate-116-now-available.md new file mode 100644 index 00000000..f50db976 --- /dev/null +++ b/content/news/2016-09-24-mate-116-now-available.md @@ -0,0 +1,27 @@ +--- +categories: + - news +date: '2016-09-24' +important: false +title: MATE 1.16 Now Available +--- + + +MATE Desktop 1.16 is now available in the community repository for AOSC OS. + +*"After 6 months of development the MATE Desktop team are proud to announce the release of MATE Desktop 1.16. We’d like to thank every MATE contributor for their help making this release possible."* + +— MATE Desktop 1.16 Announcement + + + +MATE Desktop 1.16 is a major update over version 1.14 released six months ago: + +- More fixes to GTK+ 3 support. +- Migrated multiple applications to the new GApplications API. + +While it might sound pretty trivial to you, in other words: MATE Desktop 1.16 should provide a more stable and modern user experience, and possibly some less bugs as well! + +Relevant documentation: + +- [Announcement and ChangeLog](http://mate-desktop.org/blog/2016-09-21-mate-1-16-released/). diff --git a/content/news/2016-09-24-mate-116-now-available.zh-cn.md b/content/news/2016-09-24-mate-116-now-available.zh-cn.md new file mode 100644 index 00000000..f50db976 --- /dev/null +++ b/content/news/2016-09-24-mate-116-now-available.zh-cn.md @@ -0,0 +1,27 @@ +--- +categories: + - news +date: '2016-09-24' +important: false +title: MATE 1.16 Now Available +--- + + +MATE Desktop 1.16 is now available in the community repository for AOSC OS. + +*"After 6 months of development the MATE Desktop team are proud to announce the release of MATE Desktop 1.16. We’d like to thank every MATE contributor for their help making this release possible."* + +— MATE Desktop 1.16 Announcement + + + +MATE Desktop 1.16 is a major update over version 1.14 released six months ago: + +- More fixes to GTK+ 3 support. +- Migrated multiple applications to the new GApplications API. + +While it might sound pretty trivial to you, in other words: MATE Desktop 1.16 should provide a more stable and modern user experience, and possibly some less bugs as well! + +Relevant documentation: + +- [Announcement and ChangeLog](http://mate-desktop.org/blog/2016-09-21-mate-1-16-released/). diff --git a/content/news/2016-09-25-desktop-base-and-simplified-desktop-installation.md b/content/news/2016-09-25-desktop-base-and-simplified-desktop-installation.md new file mode 100644 index 00000000..8263e6f9 --- /dev/null +++ b/content/news/2016-09-25-desktop-base-and-simplified-desktop-installation.md @@ -0,0 +1,36 @@ +--- +categories: + - news +date: '2016-09-25' +important: false +title: '"desktop-base" and Simplified Desktop Installation' +--- + + +An update today has addressed issue [#292](https://github.com/AOSC-Dev/aosc-os-abbs/issues/292) - installation of desktop environments should be (a lot) easier now. + +## So what is "desktop-base"? + +The package `desktop-base` is a "bridge" package that forms a common basis for all desktop environments (the meta-packages discussed below, to be more precise) to rely on, by: + +- Depending on all necessary Xorg/Wayland runtime; +- Depending on a default system font, in our case, `noto-fonts`; +- Containing our default wallpapers, earlier shown [here](https://aosc.io/news/aosc-oss-default-wallpapers); + +Forming such basis may (to some extent) avoid confusion when users try and install a desktop environment - from the "base" variant, or from another desktop environment. Common problems that users may run into when trying to install a desktop environment may include that: + +- The user may not know what to install for Xorg input and video drivers; +- The user may not know that some basic fonts should be installed before UIs may render properly; +- The user may not know what collection of packages may be necessary for running some desktop environments; + +## Desktop meta-packages + +In addition to what we did with the `desktop-base` package, we have also created some meta-packages for common desktop environments that we ship: + +- `cinnamon-meta` for Cinnamon desktop; +- `gnome-meta` for GNOME; +- `kde-meta` or `plasma-meta` for KDE/Plasma desktop; +- `mate-meta` for MATE desktop; +- `xfce-meta` or `xfce4-meta` for XFCE; + +Installing the packages above should land you with a fully working desktop environment, avoiding all the hassel on the way. diff --git a/content/news/2016-09-25-desktop-base-and-simplified-desktop-installation.zh-cn.md b/content/news/2016-09-25-desktop-base-and-simplified-desktop-installation.zh-cn.md new file mode 100644 index 00000000..8263e6f9 --- /dev/null +++ b/content/news/2016-09-25-desktop-base-and-simplified-desktop-installation.zh-cn.md @@ -0,0 +1,36 @@ +--- +categories: + - news +date: '2016-09-25' +important: false +title: '"desktop-base" and Simplified Desktop Installation' +--- + + +An update today has addressed issue [#292](https://github.com/AOSC-Dev/aosc-os-abbs/issues/292) - installation of desktop environments should be (a lot) easier now. + +## So what is "desktop-base"? + +The package `desktop-base` is a "bridge" package that forms a common basis for all desktop environments (the meta-packages discussed below, to be more precise) to rely on, by: + +- Depending on all necessary Xorg/Wayland runtime; +- Depending on a default system font, in our case, `noto-fonts`; +- Containing our default wallpapers, earlier shown [here](https://aosc.io/news/aosc-oss-default-wallpapers); + +Forming such basis may (to some extent) avoid confusion when users try and install a desktop environment - from the "base" variant, or from another desktop environment. Common problems that users may run into when trying to install a desktop environment may include that: + +- The user may not know what to install for Xorg input and video drivers; +- The user may not know that some basic fonts should be installed before UIs may render properly; +- The user may not know what collection of packages may be necessary for running some desktop environments; + +## Desktop meta-packages + +In addition to what we did with the `desktop-base` package, we have also created some meta-packages for common desktop environments that we ship: + +- `cinnamon-meta` for Cinnamon desktop; +- `gnome-meta` for GNOME; +- `kde-meta` or `plasma-meta` for KDE/Plasma desktop; +- `mate-meta` for MATE desktop; +- `xfce-meta` or `xfce4-meta` for XFCE; + +Installing the packages above should land you with a fully working desktop environment, avoiding all the hassel on the way. diff --git a/content/news/2016-09-25-gnome-322-now-available.md b/content/news/2016-09-25-gnome-322-now-available.md new file mode 100644 index 00000000..e3ad8476 --- /dev/null +++ b/content/news/2016-09-25-gnome-322-now-available.md @@ -0,0 +1,38 @@ +--- +categories: + - news +date: '2016-09-25' +important: false +title: GNOME 3.22 Now Available +--- + + +GNOME 3.22, released on September 21st, is now available in our community repository. This is a major update to GNOME 3.20 released earlier this year. + + + +*"GNOME 3.22 was released today, marking the culmination of 6 months work by the GNOME community. The new release introduces major new features as well as many smaller enhancements and fixes."* + +— [GNOME.org](https://gnome.org), on September 21st. + +Major changes are made to Nautilus, GNOME Builder, and many more GNOME applications and libraries: + +- GNOME File (Nautilus) now allows multiple files to be renamed at once, and it is now capable of handling compressed/archive files without the aid from File Roller; +- NickServ integration is added to GNOME's IRC client - Polari; +- It is now (very) easy to create Flatpak packages with GNOME Builder, the IDE of the GNOME desktop; + + + +There are many more changes made under the hood, to the GLib libraries and the GTK+ foundation - we are not going to discuss the specifics, please refer to the original announcement (attached below) for more information. + +Another minor change is made to the GNOME Display Manager (gdm, the "login screen"), which now comes with AOSC OS's logo attached at the bottom. + + + +Before I spoil much more than this, GNOME 3.22 is already available in the community repository. + + + +Relevant documentation: + +- *["GNOME 3.22 Released: the Future is Now"](https://www.gnome.org/news/2016/09/gnome-3-22-released-the-future-is-now/)* diff --git a/content/news/2016-09-25-gnome-322-now-available.zh-cn.md b/content/news/2016-09-25-gnome-322-now-available.zh-cn.md new file mode 100644 index 00000000..162bdbf1 --- /dev/null +++ b/content/news/2016-09-25-gnome-322-now-available.zh-cn.md @@ -0,0 +1,38 @@ +--- +categories: + - news +date: '2016-09-25' +important: false +title: GNOME 3.22 Now Available +--- + + +GNOME 3.22, released on September 21st, is now available in our community repository. This is a major update to GNOME 3.20 released earlier this year. + +![gnome-3.22-1](/assets/news/gnome-3.22-1.png) + +*"GNOME 3.22 was released today, marking the culmination of 6 months work by the GNOME community. The new release introduces major new features as well as many smaller enhancements and fixes."* + +— [GNOME.org](https://gnome.org), on September 21st. + +Major changes are made to Nautilus, GNOME Builder, and many more GNOME applications and libraries: + +- GNOME File (Nautilus) now allows multiple files to be renamed at once, and it is now capable of handling compressed/archive files without the aid from File Roller; +- NickServ integration is added to GNOME's IRC client - Polari; +- It is now (very) easy to create Flatpak packages with GNOME Builder, the IDE of the GNOME desktop; + +![gnome-3.22-2](/assets/news/gnome-3.22-2.png) + +There are many more changes made under the hood, to the GLib libraries and the GTK+ foundation - we are not going to discuss the specifics, please refer to the original announcement (attached below) for more information. + +Another minor change is made to the GNOME Display Manager (gdm, the "login screen"), which now comes with AOSC OS's logo attached at the bottom. + +![gnome-3.22-4](/assets/news/gnome-3.22-4.jpg) + +Before I spoil much more than this, GNOME 3.22 is already available in the community repository. + +![gnome-3.22-3](/assets/news/gnome-3.22-3.png) + +Relevant documentation: + +- *["GNOME 3.22 Released: the Future is Now"](https://www.gnome.org/news/2016/09/gnome-3-22-released-the-future-is-now/)* diff --git a/content/news/2016-09-26-autobuild3-documentation-updated-for-core-40.md b/content/news/2016-09-26-autobuild3-documentation-updated-for-core-40.md new file mode 100644 index 00000000..9f1ff689 --- /dev/null +++ b/content/news/2016-09-26-autobuild3-documentation-updated-for-core-40.md @@ -0,0 +1,25 @@ +--- +categories: + - news +date: '2016-09-26' +important: false +title: Autobuild3 Documentation Updated for Core 4.0+ +--- + + +The *"AOSC Cadet Training"* - a handbook for new AOSC OS packagers - has been updated by Mingcong Bai with information about new configuration options, changes, and syntactic sugar (and of course, those deprecated with the update), here below is a quick re-cap of what's changed: + +- `autobuild/defines` has received some new configuration options: + - `AB_FLAGS_O3` for switching between `-O2` and `-O3` optimization level; + - `AB_FLAGS_SPECS` for toggling the use of compiler/linker hardening specs on/off; + - LTO is now enabled by default on `amd64/x86_64`; +- `autobuild/pax` specifies post-installation operations to mark executables/libraries/directories for PaX/Grsecurity compatibility; +- Autobuild3 now processes architecture-aware patches contained in `autobuild/patches/` with architectural suffixes; +- The old `perl_local` Autobuild3 filter is now renamed as `perl`, which additionally purges all `.packlist` files in the packaging root; + +For more detailed information, get yourself ready for the updated *["AOSC Cadet Training"](https://github.com/AOSC-Dev/aosc-os-abbs/wiki)*! + +For those who had finished reading this handbook, here below are the pages changed with this update: + +- [Autobuild3](https://github.com/AOSC-Dev/aosc-os-abbs/wiki/Autobuild3). +- [Autobuild3 Filters/File Manipulators](https://github.com/AOSC-Dev/aosc-os-abbs/wiki/Autobuild3-Filters). \ No newline at end of file diff --git a/content/news/2016-09-26-autobuild3-documentation-updated-for-core-40.zh-cn.md b/content/news/2016-09-26-autobuild3-documentation-updated-for-core-40.zh-cn.md new file mode 100644 index 00000000..9f1ff689 --- /dev/null +++ b/content/news/2016-09-26-autobuild3-documentation-updated-for-core-40.zh-cn.md @@ -0,0 +1,25 @@ +--- +categories: + - news +date: '2016-09-26' +important: false +title: Autobuild3 Documentation Updated for Core 4.0+ +--- + + +The *"AOSC Cadet Training"* - a handbook for new AOSC OS packagers - has been updated by Mingcong Bai with information about new configuration options, changes, and syntactic sugar (and of course, those deprecated with the update), here below is a quick re-cap of what's changed: + +- `autobuild/defines` has received some new configuration options: + - `AB_FLAGS_O3` for switching between `-O2` and `-O3` optimization level; + - `AB_FLAGS_SPECS` for toggling the use of compiler/linker hardening specs on/off; + - LTO is now enabled by default on `amd64/x86_64`; +- `autobuild/pax` specifies post-installation operations to mark executables/libraries/directories for PaX/Grsecurity compatibility; +- Autobuild3 now processes architecture-aware patches contained in `autobuild/patches/` with architectural suffixes; +- The old `perl_local` Autobuild3 filter is now renamed as `perl`, which additionally purges all `.packlist` files in the packaging root; + +For more detailed information, get yourself ready for the updated *["AOSC Cadet Training"](https://github.com/AOSC-Dev/aosc-os-abbs/wiki)*! + +For those who had finished reading this handbook, here below are the pages changed with this update: + +- [Autobuild3](https://github.com/AOSC-Dev/aosc-os-abbs/wiki/Autobuild3). +- [Autobuild3 Filters/File Manipulators](https://github.com/AOSC-Dev/aosc-os-abbs/wiki/Autobuild3-Filters). \ No newline at end of file diff --git a/content/news/2016-09-26-mate-1160-packages-rebuilt.md b/content/news/2016-09-26-mate-1160-packages-rebuilt.md new file mode 100644 index 00000000..eaf3a5f5 --- /dev/null +++ b/content/news/2016-09-26-mate-1160-packages-rebuilt.md @@ -0,0 +1,19 @@ +--- +categories: + - news +date: '2016-09-26' +important: true +title: MATE 1.16.0 Packages Rebuilt +--- + + +With the GNOME 3.22 update yesterday, you may experience the following issues with MATE Desktop: + +- When dragging icons on the desktop, the icon remains in the same location, while another "shadow" is moved to its new location. +- It is not possible to change wallpapers without killing the `caja` process or re-login. + +This is due to a design in MATE 1.16.0's code (in `mate-desktop` and `caja`) that default behavior on the desktop is chosen at build time - depending on the GTK+ version available in the build environment. + +So I have just rebuilt all MATE packages against the newest GTK+ 3.22 libraries - and re-versioned all MATE packages to `1.16.0-1` - the problems listed above should be resolved with this set of updates. + +— Mingcong (Jeff) Bai \ No newline at end of file diff --git a/content/news/2016-09-26-mate-1160-packages-rebuilt.zh-cn.md b/content/news/2016-09-26-mate-1160-packages-rebuilt.zh-cn.md new file mode 100644 index 00000000..eaf3a5f5 --- /dev/null +++ b/content/news/2016-09-26-mate-1160-packages-rebuilt.zh-cn.md @@ -0,0 +1,19 @@ +--- +categories: + - news +date: '2016-09-26' +important: true +title: MATE 1.16.0 Packages Rebuilt +--- + + +With the GNOME 3.22 update yesterday, you may experience the following issues with MATE Desktop: + +- When dragging icons on the desktop, the icon remains in the same location, while another "shadow" is moved to its new location. +- It is not possible to change wallpapers without killing the `caja` process or re-login. + +This is due to a design in MATE 1.16.0's code (in `mate-desktop` and `caja`) that default behavior on the desktop is chosen at build time - depending on the GTK+ version available in the build environment. + +So I have just rebuilt all MATE packages against the newest GTK+ 3.22 libraries - and re-versioned all MATE packages to `1.16.0-1` - the problems listed above should be resolved with this set of updates. + +— Mingcong (Jeff) Bai \ No newline at end of file diff --git a/content/news/2016-09-27-aosc-os-base-and-buildkit-tarball-updates.md b/content/news/2016-09-27-aosc-os-base-and-buildkit-tarball-updates.md new file mode 100644 index 00000000..e08cff80 --- /dev/null +++ b/content/news/2016-09-27-aosc-os-base-and-buildkit-tarball-updates.md @@ -0,0 +1,26 @@ +--- +categories: + - news +date: '2016-09-27' +important: false +title: AOSC OS Base and BuildKit Tarball Updates +--- + + +Tarballs for AOSC OS Base (bare-metal variant) and BuildKit (packaging/development variant) are updated yesterday for all supported architectures - you may now obtain them via the ["GET AOSC OS"](/os-download) link above. + +Significant changes to the tarballs include: + +- AOSC OS Core version of these tarballs have been updated to [4.0.1](/news/core-4.0.1-released) (you might also want to check out the release announcement of [4.0.0](/news/aosc-os-core-4-is-green)). +- ARM64 tarballs for Base and BuildKit are now ready for use, and the "Experimental" notes are removed. + +Some changes to the "GET AOSC OS" page were made as well: + +- Finally, we've got screenshot for Base and BuildKit. +- "MIPS" has been renamed as "MIPS32" to avoid confusion. + +![aosc-base](/assets/news/de-preview/base/thumbs/1.png.jpg) +(Screenshot of AOSC OS Base) + +![aosc-buildkit](/assets/news/de-preview/buildkit/thumbs/1.png.jpg) +(Screenshot of AOSC OS BuildKit) diff --git a/content/news/2016-09-27-aosc-os-base-and-buildkit-tarball-updates.zh-cn.md b/content/news/2016-09-27-aosc-os-base-and-buildkit-tarball-updates.zh-cn.md new file mode 100644 index 00000000..e08cff80 --- /dev/null +++ b/content/news/2016-09-27-aosc-os-base-and-buildkit-tarball-updates.zh-cn.md @@ -0,0 +1,26 @@ +--- +categories: + - news +date: '2016-09-27' +important: false +title: AOSC OS Base and BuildKit Tarball Updates +--- + + +Tarballs for AOSC OS Base (bare-metal variant) and BuildKit (packaging/development variant) are updated yesterday for all supported architectures - you may now obtain them via the ["GET AOSC OS"](/os-download) link above. + +Significant changes to the tarballs include: + +- AOSC OS Core version of these tarballs have been updated to [4.0.1](/news/core-4.0.1-released) (you might also want to check out the release announcement of [4.0.0](/news/aosc-os-core-4-is-green)). +- ARM64 tarballs for Base and BuildKit are now ready for use, and the "Experimental" notes are removed. + +Some changes to the "GET AOSC OS" page were made as well: + +- Finally, we've got screenshot for Base and BuildKit. +- "MIPS" has been renamed as "MIPS32" to avoid confusion. + +![aosc-base](/assets/news/de-preview/base/thumbs/1.png.jpg) +(Screenshot of AOSC OS Base) + +![aosc-buildkit](/assets/news/de-preview/buildkit/thumbs/1.png.jpg) +(Screenshot of AOSC OS BuildKit) diff --git a/content/news/2016-09-27-fixes-now-available-for-gnome-shell-322.md b/content/news/2016-09-27-fixes-now-available-for-gnome-shell-322.md new file mode 100644 index 00000000..fa9f4cd5 --- /dev/null +++ b/content/news/2016-09-27-fixes-now-available-for-gnome-shell-322.md @@ -0,0 +1,21 @@ +--- +categories: + - news +date: '2016-09-27' +important: true +title: Fixes Now Available for GNOME Shell 3.22 +--- + + +Users who have updated to GNOME 3.22 recently has reported that they were unable to enable any of the extensions provided by `gnome-shell-extensions` in GNOME Tweak Tool. + +This situation is now fixed with the following updates: + +- `gnome-shell` version `3.22.0-1`; +- `mutter` version `3.22.0-2`; + +A Linux Kernel update: + +- `linux-kernel-4.7.5` version `4.7.5`, installed as a dependency to `linux+kernel` version `51`; + +Has also been issued as an attempt to fix issue [#404](https://github.com/AOSC-Dev/aosc-os-abbs/issues/404): GNOME Shell crashes when attempting to change screen configurations on a Dell Vostro 14 with a Intel "Skylake" processor, and display artifacts found on both external and internal screens. \ No newline at end of file diff --git a/content/news/2016-09-27-fixes-now-available-for-gnome-shell-322.zh-cn.md b/content/news/2016-09-27-fixes-now-available-for-gnome-shell-322.zh-cn.md new file mode 100644 index 00000000..fa9f4cd5 --- /dev/null +++ b/content/news/2016-09-27-fixes-now-available-for-gnome-shell-322.zh-cn.md @@ -0,0 +1,21 @@ +--- +categories: + - news +date: '2016-09-27' +important: true +title: Fixes Now Available for GNOME Shell 3.22 +--- + + +Users who have updated to GNOME 3.22 recently has reported that they were unable to enable any of the extensions provided by `gnome-shell-extensions` in GNOME Tweak Tool. + +This situation is now fixed with the following updates: + +- `gnome-shell` version `3.22.0-1`; +- `mutter` version `3.22.0-2`; + +A Linux Kernel update: + +- `linux-kernel-4.7.5` version `4.7.5`, installed as a dependency to `linux+kernel` version `51`; + +Has also been issued as an attempt to fix issue [#404](https://github.com/AOSC-Dev/aosc-os-abbs/issues/404): GNOME Shell crashes when attempting to change screen configurations on a Dell Vostro 14 with a Intel "Skylake" processor, and display artifacts found on both external and internal screens. \ No newline at end of file diff --git a/content/news/2016-09-29-aosc-os-abbs-repository-snapshots-migrated-to-git-bundles.md b/content/news/2016-09-29-aosc-os-abbs-repository-snapshots-migrated-to-git-bundles.md new file mode 100644 index 00000000..ee97656b --- /dev/null +++ b/content/news/2016-09-29-aosc-os-abbs-repository-snapshots-migrated-to-git-bundles.md @@ -0,0 +1,42 @@ +--- +categories: + - news +date: '2016-09-29' +important: false +title: '"aosc-os-abbs" Repository Snapshots Migrated to Git bundles' +--- + + +Sometime ago, to ease the new packagers to get a copy of our complete ABBS tree (in certain network conditions), we have created a snapshot of our repository once a week in tarball format. Now, to reduce the file size and increase the usability, we decided to use the `git bundle` format. + +Now, you can find the snapshots at [here](https://repo.aosc.io/aosc-os-abbs-snapshots/). + +And here is how to use them: + +1. Grab the latest `.bundle` file, you can download it with your favorite download tool(s) (we won't blame you if you want to have a historical one...). + +2. Verify the integrity of the bundle file using `git bundle verify `, if the check passed, you can then proceed to step 3, if errors found or corrupted file found, well, you would need to move back to step 1 and test your luck again (If you are stuck on this step, please file an issue [here](https://github.com/AOSC-Dev/aosc-os-abbs/issues)... and please have a nice sleep while we look into it). + +3. Once the file is checked, navigate to the folder you want to place the repository in and issue: + +## Note + +Commands shown below are optional, if you want to contribute to abbs tree. But if you have no direct access to this tree, please change the URL to your personal fork: + +```bash +git clone aosc-os-abbs # Name the folder whatever you like +git checkout -b staging + +# Below are optional, if you want to contribute to abbs tree. +# But if you have no direct access to this tree, please change the URL +# to your personal fork. + +git remote set-url origin "https://github.com/AOSC-Dev/aosc-os-abbs.git" +git branch --set-upstream-to=origin/staging staging +``` + +Then wait for `git` to prepare the repository for you, this should normally take several seconds and you are all set and good to go. + +Happy hacking, contributing and have a nice day! + +— Zixing Liu ([liushuyu](https://github.com/liushuyu/)) \ No newline at end of file diff --git a/content/news/2016-09-29-aosc-os-abbs-repository-snapshots-migrated-to-git-bundles.zh-cn.md b/content/news/2016-09-29-aosc-os-abbs-repository-snapshots-migrated-to-git-bundles.zh-cn.md new file mode 100644 index 00000000..ee97656b --- /dev/null +++ b/content/news/2016-09-29-aosc-os-abbs-repository-snapshots-migrated-to-git-bundles.zh-cn.md @@ -0,0 +1,42 @@ +--- +categories: + - news +date: '2016-09-29' +important: false +title: '"aosc-os-abbs" Repository Snapshots Migrated to Git bundles' +--- + + +Sometime ago, to ease the new packagers to get a copy of our complete ABBS tree (in certain network conditions), we have created a snapshot of our repository once a week in tarball format. Now, to reduce the file size and increase the usability, we decided to use the `git bundle` format. + +Now, you can find the snapshots at [here](https://repo.aosc.io/aosc-os-abbs-snapshots/). + +And here is how to use them: + +1. Grab the latest `.bundle` file, you can download it with your favorite download tool(s) (we won't blame you if you want to have a historical one...). + +2. Verify the integrity of the bundle file using `git bundle verify `, if the check passed, you can then proceed to step 3, if errors found or corrupted file found, well, you would need to move back to step 1 and test your luck again (If you are stuck on this step, please file an issue [here](https://github.com/AOSC-Dev/aosc-os-abbs/issues)... and please have a nice sleep while we look into it). + +3. Once the file is checked, navigate to the folder you want to place the repository in and issue: + +## Note + +Commands shown below are optional, if you want to contribute to abbs tree. But if you have no direct access to this tree, please change the URL to your personal fork: + +```bash +git clone aosc-os-abbs # Name the folder whatever you like +git checkout -b staging + +# Below are optional, if you want to contribute to abbs tree. +# But if you have no direct access to this tree, please change the URL +# to your personal fork. + +git remote set-url origin "https://github.com/AOSC-Dev/aosc-os-abbs.git" +git branch --set-upstream-to=origin/staging staging +``` + +Then wait for `git` to prepare the repository for you, this should normally take several seconds and you are all set and good to go. + +Happy hacking, contributing and have a nice day! + +— Zixing Liu ([liushuyu](https://github.com/liushuyu/)) \ No newline at end of file diff --git a/content/news/2016-09-29-aoscs-google-page-is-here.md b/content/news/2016-09-29-aoscs-google-page-is-here.md new file mode 100644 index 00000000..04035e69 --- /dev/null +++ b/content/news/2016-09-29-aoscs-google-page-is-here.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2016-09-29' +important: false +title: AOSC's Google+ Page is here! +--- + + +Junde Yhi of our community has decided to maintain a Google+ page, in which he will post the news here at the repo, in addition to some fun tips and chatter with our friends out there. + +Check it out [here](https://plus.google.com/u/2/106669966380206498641)! + +We are also looking to open up a sub-reddit at /r/aosc some time soon, once we could figure out how and when we could start one. + +See also: + +- Our Sina Weibo page: [http://weibo.com/anthondev](http://weibo.com/anthondev) (Simplified Chinese, login may be needed). \ No newline at end of file diff --git a/content/news/2016-09-29-aoscs-google-page-is-here.zh-cn.md b/content/news/2016-09-29-aoscs-google-page-is-here.zh-cn.md new file mode 100644 index 00000000..04035e69 --- /dev/null +++ b/content/news/2016-09-29-aoscs-google-page-is-here.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2016-09-29' +important: false +title: AOSC's Google+ Page is here! +--- + + +Junde Yhi of our community has decided to maintain a Google+ page, in which he will post the news here at the repo, in addition to some fun tips and chatter with our friends out there. + +Check it out [here](https://plus.google.com/u/2/106669966380206498641)! + +We are also looking to open up a sub-reddit at /r/aosc some time soon, once we could figure out how and when we could start one. + +See also: + +- Our Sina Weibo page: [http://weibo.com/anthondev](http://weibo.com/anthondev) (Simplified Chinese, login may be needed). \ No newline at end of file diff --git a/content/news/2016-09-29-termination-of-rpm-package-releases.md b/content/news/2016-09-29-termination-of-rpm-package-releases.md new file mode 100644 index 00000000..46c985a6 --- /dev/null +++ b/content/news/2016-09-29-termination-of-rpm-package-releases.md @@ -0,0 +1,16 @@ +--- +categories: + - news +date: '2016-09-29' +important: true +title: Termination of RPM Package Releases +--- + + +With deep apologies, I must announce that the RPM port of AOSC OS has failed due to the lack of attention and manpower, in addition to the confusing situation that Zypper and RPM are going through in the recent year (updates, RPM dependencies, and PackageKit), it seems no longer viable to maintain such a port (let alone there is absolutely no user for this port). + +RPM packages (/os-*/os3-rpm) were removed from the [repository server](https://repo.aosc.io) just shy of 50 minutes ago. + +On the bright side, however. We will continue with completing Autobuild3's RPM backend, and possibly bring Pacman support in the forseeable future. + +— Mingcong (Jeff) Bai diff --git a/content/news/2016-09-29-termination-of-rpm-package-releases.zh-cn.md b/content/news/2016-09-29-termination-of-rpm-package-releases.zh-cn.md new file mode 100644 index 00000000..46c985a6 --- /dev/null +++ b/content/news/2016-09-29-termination-of-rpm-package-releases.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - news +date: '2016-09-29' +important: true +title: Termination of RPM Package Releases +--- + + +With deep apologies, I must announce that the RPM port of AOSC OS has failed due to the lack of attention and manpower, in addition to the confusing situation that Zypper and RPM are going through in the recent year (updates, RPM dependencies, and PackageKit), it seems no longer viable to maintain such a port (let alone there is absolutely no user for this port). + +RPM packages (/os-*/os3-rpm) were removed from the [repository server](https://repo.aosc.io) just shy of 50 minutes ago. + +On the bright side, however. We will continue with completing Autobuild3's RPM backend, and possibly bring Pacman support in the forseeable future. + +— Mingcong (Jeff) Bai diff --git a/content/news/2016-09-29-updates-to-the-repository-server.md b/content/news/2016-09-29-updates-to-the-repository-server.md new file mode 100644 index 00000000..49374b97 --- /dev/null +++ b/content/news/2016-09-29-updates-to-the-repository-server.md @@ -0,0 +1,16 @@ +--- +categories: + - news +date: '2016-09-29' +important: false +title: Updates to the Repository Server +--- + + +Along with the removal of RPM packages from the [repository server](https://repo.aosc.io), we have also cleaned up our repository server (which is way over due). + +- Old OS1 and OS2 (AOSC OS from 2013 and 2014) files are moved to the [os-archives](https://repo.aosc.io/os-archives/) directory. +- The `mirrorupdater` script was rewritten (first since early 2014!), and posted on our [repository-scripts](https://github.com/AOSC-Dev/repository-scripts) Git repo. + - DPKG repositories now contain a catalog that provides index to multiple versions of a same package, making downgrading packages a lot easier - when need be. + +With such major change to the repository server, we might be experiencing some unstability in service. If you have encountered any issue with updating, refreshing, and installing packages, please file an issue/complaint at [aosc-os-abbs](https://github.com/AOSC-Dev/aosc-os-abbs/issues). \ No newline at end of file diff --git a/content/news/2016-09-29-updates-to-the-repository-server.zh-cn.md b/content/news/2016-09-29-updates-to-the-repository-server.zh-cn.md new file mode 100644 index 00000000..49374b97 --- /dev/null +++ b/content/news/2016-09-29-updates-to-the-repository-server.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - news +date: '2016-09-29' +important: false +title: Updates to the Repository Server +--- + + +Along with the removal of RPM packages from the [repository server](https://repo.aosc.io), we have also cleaned up our repository server (which is way over due). + +- Old OS1 and OS2 (AOSC OS from 2013 and 2014) files are moved to the [os-archives](https://repo.aosc.io/os-archives/) directory. +- The `mirrorupdater` script was rewritten (first since early 2014!), and posted on our [repository-scripts](https://github.com/AOSC-Dev/repository-scripts) Git repo. + - DPKG repositories now contain a catalog that provides index to multiple versions of a same package, making downgrading packages a lot easier - when need be. + +With such major change to the repository server, we might be experiencing some unstability in service. If you have encountered any issue with updating, refreshing, and installing packages, please file an issue/complaint at [aosc-os-abbs](https://github.com/AOSC-Dev/aosc-os-abbs/issues). \ No newline at end of file diff --git a/content/news/2016-09-30-zh_cn-l10n-guide-153-released.md b/content/news/2016-09-30-zh_cn-l10n-guide-153-released.md new file mode 100644 index 00000000..6602d88c --- /dev/null +++ b/content/news/2016-09-30-zh_cn-l10n-guide-153-released.md @@ -0,0 +1,15 @@ +--- +categories: + - news +date: '2016-09-30' +important: false +title: zh_CN L10n Guide 1.5.3 Released +--- + + +Lion Yang has just released version 1.5.3 of our "Free Software Localization Guide for Chinese (China)": + +- Re-formatted contents page. (Lion Yang) +- Fixed broken HTTPS link to the [Unicode Consortium](http://www.unicode.org/) (now using HTTP instead). (Lion Yang) + +You may now obtain the latest copy [here](https://repo.aosc.io/misc/l10n/zh_CN_l10n_1.5.3.pdf) in PDF, or [here](https://repo.aosc.io/misc/l10n/zh_CN_l10n_1.5.3.odt) in ODT. \ No newline at end of file diff --git a/content/news/2016-09-30-zh_cn-l10n-guide-153-released.zh-cn.md b/content/news/2016-09-30-zh_cn-l10n-guide-153-released.zh-cn.md new file mode 100644 index 00000000..6602d88c --- /dev/null +++ b/content/news/2016-09-30-zh_cn-l10n-guide-153-released.zh-cn.md @@ -0,0 +1,15 @@ +--- +categories: + - news +date: '2016-09-30' +important: false +title: zh_CN L10n Guide 1.5.3 Released +--- + + +Lion Yang has just released version 1.5.3 of our "Free Software Localization Guide for Chinese (China)": + +- Re-formatted contents page. (Lion Yang) +- Fixed broken HTTPS link to the [Unicode Consortium](http://www.unicode.org/) (now using HTTP instead). (Lion Yang) + +You may now obtain the latest copy [here](https://repo.aosc.io/misc/l10n/zh_CN_l10n_1.5.3.pdf) in PDF, or [here](https://repo.aosc.io/misc/l10n/zh_CN_l10n_1.5.3.odt) in ODT. \ No newline at end of file diff --git a/content/news/2016-10-02-aosc-os-repository-at-ustc-is-back-online.md b/content/news/2016-10-02-aosc-os-repository-at-ustc-is-back-online.md new file mode 100644 index 00000000..157c2690 --- /dev/null +++ b/content/news/2016-10-02-aosc-os-repository-at-ustc-is-back-online.md @@ -0,0 +1,14 @@ +--- +categories: + - news +date: '2016-10-02' +important: false +title: AOSC OS Repository at USTC is Back Online +--- + + +Recall on September 20th when we announced that our repsoitory mirror at USTC was [down](https://aosc.io/news/aosc-os-repository-mirror-at-ustc-is-down), we are glad to announce it's now back online again. + +You may now enable this mirror again, if suitable: + + apt-gen-list -e "10-ustc" \ No newline at end of file diff --git a/content/news/2016-10-02-aosc-os-repository-at-ustc-is-back-online.zh-cn.md b/content/news/2016-10-02-aosc-os-repository-at-ustc-is-back-online.zh-cn.md new file mode 100644 index 00000000..157c2690 --- /dev/null +++ b/content/news/2016-10-02-aosc-os-repository-at-ustc-is-back-online.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - news +date: '2016-10-02' +important: false +title: AOSC OS Repository at USTC is Back Online +--- + + +Recall on September 20th when we announced that our repsoitory mirror at USTC was [down](https://aosc.io/news/aosc-os-repository-mirror-at-ustc-is-down), we are glad to announce it's now back online again. + +You may now enable this mirror again, if suitable: + + apt-gen-list -e "10-ustc" \ No newline at end of file diff --git a/content/news/2016-10-02-new-package-additions-oct-3-2016.md b/content/news/2016-10-02-new-package-additions-oct-3-2016.md new file mode 100644 index 00000000..2ac6be41 --- /dev/null +++ b/content/news/2016-10-02-new-package-additions-oct-3-2016.md @@ -0,0 +1,20 @@ +--- +categories: + - news +date: '2016-10-02' +important: false +title: 'New package additions: Oct. 3, 2016' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `vulkan` - A low-overhead, cross-platform 3D graphics and compute API [#390](https://github.com/AOSC-Dev/aosc-os-abbs/issues/390). +- `iotop` - A top-like utility for checking I/O load [#394](https://github.com/AOSC-Dev/aosc-os-abbs/issues/394). +- `bcache-tools` - Userspace tools for Bcachefs [#406](Userspace tools for Bcachefs). +- `obs-studio` - Free, open source software for live streaming and recording. +- `nautilus-python` - Python bindings for the Nautilus Extension Framework. +- `cuetools` - Cue and toc file parsers and utilities. +- `shntool` - A multi-purpose WAVE data processing and reporting utility. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. \ No newline at end of file diff --git a/content/news/2016-10-02-new-package-additions-oct-3-2016.zh-cn.md b/content/news/2016-10-02-new-package-additions-oct-3-2016.zh-cn.md new file mode 100644 index 00000000..2ac6be41 --- /dev/null +++ b/content/news/2016-10-02-new-package-additions-oct-3-2016.zh-cn.md @@ -0,0 +1,20 @@ +--- +categories: + - news +date: '2016-10-02' +important: false +title: 'New package additions: Oct. 3, 2016' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `vulkan` - A low-overhead, cross-platform 3D graphics and compute API [#390](https://github.com/AOSC-Dev/aosc-os-abbs/issues/390). +- `iotop` - A top-like utility for checking I/O load [#394](https://github.com/AOSC-Dev/aosc-os-abbs/issues/394). +- `bcache-tools` - Userspace tools for Bcachefs [#406](Userspace tools for Bcachefs). +- `obs-studio` - Free, open source software for live streaming and recording. +- `nautilus-python` - Python bindings for the Nautilus Extension Framework. +- `cuetools` - Cue and toc file parsers and utilities. +- `shntool` - A multi-purpose WAVE data processing and reporting utility. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. \ No newline at end of file diff --git a/content/news/2016-10-02-security-advisory-numbering.md b/content/news/2016-10-02-security-advisory-numbering.md new file mode 100644 index 00000000..15281fbf --- /dev/null +++ b/content/news/2016-10-02-security-advisory-numbering.md @@ -0,0 +1,22 @@ +--- +categories: + - news +date: '2016-10-02' +important: false +title: Security Advisory Numbering +--- + + +While there really isn't many security advisories posted here on the new portal just yet, it might get harder to index and query such advisories as time goes by (there should be at least four to five posted per week, go figure). + +Therefore, a numbering system will be introduced in the following format: + + AOSA-$YEAR-$NUM + +Where: + +- `AOSC` stands for "AOSC OS Security Advisory". +- `$YEAR` is a four digit designation for the year when the advisory was posted. +- `$NUM` is a four digit designation for the incrementing number for each of the advisories. + +This will be effective by the next security advisory to be posted, and note that previously posted advisories **will be** edited to assign each with an advisory number. \ No newline at end of file diff --git a/content/news/2016-10-02-security-advisory-numbering.zh-cn.md b/content/news/2016-10-02-security-advisory-numbering.zh-cn.md new file mode 100644 index 00000000..15281fbf --- /dev/null +++ b/content/news/2016-10-02-security-advisory-numbering.zh-cn.md @@ -0,0 +1,22 @@ +--- +categories: + - news +date: '2016-10-02' +important: false +title: Security Advisory Numbering +--- + + +While there really isn't many security advisories posted here on the new portal just yet, it might get harder to index and query such advisories as time goes by (there should be at least four to five posted per week, go figure). + +Therefore, a numbering system will be introduced in the following format: + + AOSA-$YEAR-$NUM + +Where: + +- `AOSC` stands for "AOSC OS Security Advisory". +- `$YEAR` is a four digit designation for the year when the advisory was posted. +- `$NUM` is a four digit designation for the incrementing number for each of the advisories. + +This will be effective by the next security advisory to be posted, and note that previously posted advisories **will be** edited to assign each with an advisory number. \ No newline at end of file diff --git a/content/news/2016-10-03-a-new-mirror-at-lzuoss.md b/content/news/2016-10-03-a-new-mirror-at-lzuoss.md new file mode 100644 index 00000000..52157d3b --- /dev/null +++ b/content/news/2016-10-03-a-new-mirror-at-lzuoss.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2016-10-03' +important: false +title: 'A New Mirror: At LZUOSS' +--- + + +LZUOSS (兰大开源社区) has started mirroring our [community repository](https://repo.aosc.io) on their [LZUOSS OSS Mirror](http://mirror.lzu.edu.cn/). + +You may now enable this mirror with the following command: + + apt-gen-list -e '20-lzuoss' + +After you have updated your `apt-gen-list` package to version `20161003` or newer. + +Thanks to their contribution, users from the Mid-West China should be able to access our repository content at faster speeds. \ No newline at end of file diff --git a/content/news/2016-10-03-a-new-mirror-at-lzuoss.zh-cn.md b/content/news/2016-10-03-a-new-mirror-at-lzuoss.zh-cn.md new file mode 100644 index 00000000..52157d3b --- /dev/null +++ b/content/news/2016-10-03-a-new-mirror-at-lzuoss.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2016-10-03' +important: false +title: 'A New Mirror: At LZUOSS' +--- + + +LZUOSS (兰大开源社区) has started mirroring our [community repository](https://repo.aosc.io) on their [LZUOSS OSS Mirror](http://mirror.lzu.edu.cn/). + +You may now enable this mirror with the following command: + + apt-gen-list -e '20-lzuoss' + +After you have updated your `apt-gen-list` package to version `20161003` or newer. + +Thanks to their contribution, users from the Mid-West China should be able to access our repository content at faster speeds. \ No newline at end of file diff --git a/content/news/2016-10-08-plasma-58-now-available.md b/content/news/2016-10-08-plasma-58-now-available.md new file mode 100644 index 00000000..07c82088 --- /dev/null +++ b/content/news/2016-10-08-plasma-58-now-available.md @@ -0,0 +1,34 @@ +--- +categories: + - news +date: '2016-10-08' +important: false +title: Plasma 5.8 Now Available! +--- + + +Packages for Plasma 5.8 and KDE Frameworks 5.27 is now available in the community repository. Plasma 5.8 is the first Long Term Support release of KDE Plasma desktop - don't worry, we will jump straight onto Plasma 5.9 when it comes out. + +Plasma 5.8 comes with a large collection of changes and improvement over Plasma 5.7: + +- A re-designed login screen and lock screen, a long with a new startup splash screen (KSplash). +- Discover (Plasma's Software Center) has a fully re-designed interface. +- Enhanced functionality for Task Manager applet on Plasma Panels, more control to you. +- Dynamic wallpapers for the desktop and the lock screen. + + + +With this update, AOSC OS specific brandings are now included by default, bringing a more specialized look for AOSC OS with KDE Plasma Desktop. + + + +Plasma lock screen. + + + +KSPlash on Plasma startup. + +Relevant documentation: + +- [*"KDE at 20: Plasma 5.8 LTS. Here for the Long Term"*](https://www.kde.org/announcements/plasma-5.8.0.php) +- [Plasma 5.8 Announcement Video (YouTube)](https://www.youtube.com/watch?v=LgH1Clgr-uE) diff --git a/content/news/2016-10-08-plasma-58-now-available.zh-cn.md b/content/news/2016-10-08-plasma-58-now-available.zh-cn.md new file mode 100644 index 00000000..b9d8483b --- /dev/null +++ b/content/news/2016-10-08-plasma-58-now-available.zh-cn.md @@ -0,0 +1,34 @@ +--- +categories: + - news +date: '2016-10-08' +important: false +title: Plasma 5.8 Now Available! +--- + + +Packages for Plasma 5.8 and KDE Frameworks 5.27 is now available in the community repository. Plasma 5.8 is the first Long Term Support release of KDE Plasma desktop - don't worry, we will jump straight onto Plasma 5.9 when it comes out. + +Plasma 5.8 comes with a large collection of changes and improvement over Plasma 5.7: + +- A re-designed login screen and lock screen, a long with a new startup splash screen (KSplash). +- Discover (Plasma's Software Center) has a fully re-designed interface. +- Enhanced functionality for Task Manager applet on Plasma Panels, more control to you. +- Dynamic wallpapers for the desktop and the lock screen. + +![plasma-5.8-1](/assets/news/plasma-5.8-1.png) + +With this update, AOSC OS specific brandings are now included by default, bringing a more specialized look for AOSC OS with KDE Plasma Desktop. + +![plasma-5.8-2](/assets/news/plasma-5.8-2.png) + +Plasma lock screen. + +![plasma-5.8-3](/assets/news/plasma-5.8-3.png) + +KSPlash on Plasma startup. + +Relevant documentation: + +- [*"KDE at 20: Plasma 5.8 LTS. Here for the Long Term"*](https://www.kde.org/announcements/plasma-5.8.0.php) +- [Plasma 5.8 Announcement Video (YouTube)](https://www.youtube.com/watch?v=LgH1Clgr-uE) diff --git a/content/news/2016-10-11-new-package-additions-oct-11-2016.md b/content/news/2016-10-11-new-package-additions-oct-11-2016.md new file mode 100644 index 00000000..aa0e821b --- /dev/null +++ b/content/news/2016-10-11-new-package-additions-oct-11-2016.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2016-10-11' +important: false +title: 'New package additions: Oct. 11, 2016' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `brave-browser` - A Web browser with attention in security [#434](https://github.com/AOSC-Dev/aosc-os-abbs/issues/434). +- `libusb-compat+32` - A compatibility layer needed by packages that have not been upgraded to the libusb-1.0 API (optenv32). +- `apricity-themes-gnome` - A minimalist GNOME/GTK+ theme. +- `indent` - Auto-indent, and C coding style converter. +- `sunxi-tools` - Tools to help hacking Allwinner SoC devices. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. \ No newline at end of file diff --git a/content/news/2016-10-11-new-package-additions-oct-11-2016.zh-cn.md b/content/news/2016-10-11-new-package-additions-oct-11-2016.zh-cn.md new file mode 100644 index 00000000..aa0e821b --- /dev/null +++ b/content/news/2016-10-11-new-package-additions-oct-11-2016.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2016-10-11' +important: false +title: 'New package additions: Oct. 11, 2016' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `brave-browser` - A Web browser with attention in security [#434](https://github.com/AOSC-Dev/aosc-os-abbs/issues/434). +- `libusb-compat+32` - A compatibility layer needed by packages that have not been upgraded to the libusb-1.0 API (optenv32). +- `apricity-themes-gnome` - A minimalist GNOME/GTK+ theme. +- `indent` - Auto-indent, and C coding style converter. +- `sunxi-tools` - Tools to help hacking Allwinner SoC devices. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. \ No newline at end of file diff --git a/content/news/2016-10-12-xfce-packages-rebuilt-and-refined.md b/content/news/2016-10-12-xfce-packages-rebuilt-and-refined.md new file mode 100644 index 00000000..c6efbc70 --- /dev/null +++ b/content/news/2016-10-12-xfce-packages-rebuilt-and-refined.md @@ -0,0 +1,25 @@ +--- +categories: + - news +date: '2016-10-12' +important: false +title: Xfce Packages Rebuilt and Refined +--- + + +Xfce, as an agile and lightweight desktop environment favoured by many, did not receive a sufficient amount of care from us - so we thought we'd rebuild all Xfce packages, fix them up, and make it all shiny again. + +Not much have changed on the appearance side except for the default wallpaper is now set to be one of AOSC OS's wallpaper, as shown below: + + + +However, under the hood, Xfce is now built with newly defined compiler and linker flags so that: + +- The whole desktop is now hardened. +- On AMD64/x86_64, Xfce is built with Link Time Optimization enabled. + +You may now grab updates from our [community repository](https://repo.aosc.io/). diff --git a/content/news/2016-10-12-xfce-packages-rebuilt-and-refined.zh-cn.md b/content/news/2016-10-12-xfce-packages-rebuilt-and-refined.zh-cn.md new file mode 100644 index 00000000..5d05d4c2 --- /dev/null +++ b/content/news/2016-10-12-xfce-packages-rebuilt-and-refined.zh-cn.md @@ -0,0 +1,25 @@ +--- +categories: + - news +date: '2016-10-12' +important: false +title: Xfce Packages Rebuilt and Refined +--- + + +Xfce, as an agile and lightweight desktop environment favoured by many, did not receive a sufficient amount of care from us - so we thought we'd rebuild all Xfce packages, fix them up, and make it all shiny again. + +Not much have changed on the appearance side except for the default wallpaper is now set to be one of AOSC OS's wallpaper, as shown below: + + +(Xfce desktop and desktop context menu) + + +(Xfce desktop showing off some windows) + +However, under the hood, Xfce is now built with newly defined compiler and linker flags so that: + +- The whole desktop is now hardened. +- On AMD64/x86_64, Xfce is built with Link Time Optimization enabled. + +You may now grab updates from our [community repository](https://repo.aosc.io/). diff --git a/content/news/2016-10-18-new-package-additions-oct-18-2016.md b/content/news/2016-10-18-new-package-additions-oct-18-2016.md new file mode 100644 index 00000000..ceffcb0f --- /dev/null +++ b/content/news/2016-10-18-new-package-additions-oct-18-2016.md @@ -0,0 +1,26 @@ +--- +categories: + - news +date: '2016-10-18' +important: false +title: 'New package additions: Oct. 18, 2016' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `dash` - Debian Almquist shell. +- `ddrescue` - A data recovery tool. +- `hfsutils` - A comprehensive software to permit manipulation of HFS volumes. +- `iperf3` - A TCP, UDP, and SCTP network bandwidth measurement tool. +- `moreutils` - A growing collection of extra Unix tools. +- `mouseemu` - A daemon to emulate mouse buttons on trackpads with only one button. +- `nsd` - Fast and lean authoritative DNS Name Server [#461](https://github.com/AOSC-Dev/aosc-os-abbs/issues/461). +- `partitionmanager` - KDE partition manager. +- `pmac-utils` - Utilities for PowerPC-based Macintosh computers. +- `powerpc-utils` - Utilities for PowerPC-based systems. +- `qsynth` - Qt5 frontend for fluidsynth [#457](https://github.com/AOSC-Dev/aosc-os-abbs/issues/457). +- `sway` - An i3-compatible window manager for Wayland. +- `yaboot` - Yet Another Bootloader (for PowerPC-based Macintosh and IBM CHRP/PReP). + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2016-10-18-new-package-additions-oct-18-2016.zh-cn.md b/content/news/2016-10-18-new-package-additions-oct-18-2016.zh-cn.md new file mode 100644 index 00000000..ceffcb0f --- /dev/null +++ b/content/news/2016-10-18-new-package-additions-oct-18-2016.zh-cn.md @@ -0,0 +1,26 @@ +--- +categories: + - news +date: '2016-10-18' +important: false +title: 'New package additions: Oct. 18, 2016' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `dash` - Debian Almquist shell. +- `ddrescue` - A data recovery tool. +- `hfsutils` - A comprehensive software to permit manipulation of HFS volumes. +- `iperf3` - A TCP, UDP, and SCTP network bandwidth measurement tool. +- `moreutils` - A growing collection of extra Unix tools. +- `mouseemu` - A daemon to emulate mouse buttons on trackpads with only one button. +- `nsd` - Fast and lean authoritative DNS Name Server [#461](https://github.com/AOSC-Dev/aosc-os-abbs/issues/461). +- `partitionmanager` - KDE partition manager. +- `pmac-utils` - Utilities for PowerPC-based Macintosh computers. +- `powerpc-utils` - Utilities for PowerPC-based systems. +- `qsynth` - Qt5 frontend for fluidsynth [#457](https://github.com/AOSC-Dev/aosc-os-abbs/issues/457). +- `sway` - An i3-compatible window manager for Wayland. +- `yaboot` - Yet Another Bootloader (for PowerPC-based Macintosh and IBM CHRP/PReP). + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2016-10-21-system-release-update-oct-21st-2016.md b/content/news/2016-10-21-system-release-update-oct-21st-2016.md new file mode 100644 index 00000000..18b0d7b1 --- /dev/null +++ b/content/news/2016-10-21-system-release-update-oct-21st-2016.md @@ -0,0 +1,44 @@ +--- +categories: + - news +date: '2016-10-21' +important: false +title: System Release Update - Oct. 21st, 2016 +--- + + +A wave of new system releases are now available to AOSC OS, this time for the AMD64/x86_64 architecture. With this update, all system releases come with AOSC OS Core 4.0.1 and Linux Kernel 4.8.3, while releases with desktop environments comes with: + +- KDE Plasma Destkop 5.8.1 and KDE Applications 16.08.2. +- GNOME 3.22.1. +- MATE 1.16.0. +- Xfce 4.12. + +For each of their respective releases. There are much more to the new system releases apart from basic system software updates: + +- From this release, all system releases are built from the "Base" variant, instead of rolling updates on top of old releases - hopefully providing a cleaner and properly minimalized dependency tree. +- All system releases with desktop envrionments' apperances have been slightly customized: + - All releases now uses the new AOSC OS default wallpaper, showcased [here](https://aosc.io/news/aosc-oss-default-wallpapers). + - All GTK+ based desktop envrionments now use the Arc Darker GTK+ theme by default. + - MATE and Xfce releases now use Numix icons by default, replacing the old Vertex icons. +- All system releases should have higher usability out of the box: + - Printing and scanning. + - Network connection, management, and Bluetooth connectivity. + - Web access, and e-mails. + - Basic productivity. + - Multimedia support. + +Take this example of our MATE release, as you can see: + +![mate-desktop-1](/assets/news/de-preview/mate/thumbs/1.png.jpg) + +It now comes with all the appearance customization mentioned above, in addition to bluetooth connectivity support - powered by Blueberry from the [Linux Mint Project](https://github.com/linuxmint/blueberry) - everything should function out of the box, so you can jump right into work and entertainment. + +You may now head over to our [Download](/os-download) section to get the new system releases, or simply update your existing installation. + + +### Known issues: + +- When the system release boots for the first time, it may take two or three minutes due to a bug in the Fontconfig caching system, which does not distinguish symbolic links from normal files representing fonts. *We are aware of this issue.* This should only happen once on the first boot, if this issue still occurs to you in future startups, please do file a [complaint](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new). +- While these releases should boot on Bay Trail devices, the graphical interface may not start or function properly, if that's the case, please append `nomodeset` to your Linux Kernel parameter (defined in GRUB, our default bootloader) to workaround this issue. There is still an ongoing effort to make AOSC OS work better on theses devices. +- Surface Pro 3 keyboard may not work properly with AOSC OS, this is not yet confirmed with the newest Kernel updates - but it did not work with 4.7 Kernel release series. diff --git a/content/news/2016-10-21-system-release-update-oct-21st-2016.zh-cn.md b/content/news/2016-10-21-system-release-update-oct-21st-2016.zh-cn.md new file mode 100644 index 00000000..18b0d7b1 --- /dev/null +++ b/content/news/2016-10-21-system-release-update-oct-21st-2016.zh-cn.md @@ -0,0 +1,44 @@ +--- +categories: + - news +date: '2016-10-21' +important: false +title: System Release Update - Oct. 21st, 2016 +--- + + +A wave of new system releases are now available to AOSC OS, this time for the AMD64/x86_64 architecture. With this update, all system releases come with AOSC OS Core 4.0.1 and Linux Kernel 4.8.3, while releases with desktop environments comes with: + +- KDE Plasma Destkop 5.8.1 and KDE Applications 16.08.2. +- GNOME 3.22.1. +- MATE 1.16.0. +- Xfce 4.12. + +For each of their respective releases. There are much more to the new system releases apart from basic system software updates: + +- From this release, all system releases are built from the "Base" variant, instead of rolling updates on top of old releases - hopefully providing a cleaner and properly minimalized dependency tree. +- All system releases with desktop envrionments' apperances have been slightly customized: + - All releases now uses the new AOSC OS default wallpaper, showcased [here](https://aosc.io/news/aosc-oss-default-wallpapers). + - All GTK+ based desktop envrionments now use the Arc Darker GTK+ theme by default. + - MATE and Xfce releases now use Numix icons by default, replacing the old Vertex icons. +- All system releases should have higher usability out of the box: + - Printing and scanning. + - Network connection, management, and Bluetooth connectivity. + - Web access, and e-mails. + - Basic productivity. + - Multimedia support. + +Take this example of our MATE release, as you can see: + +![mate-desktop-1](/assets/news/de-preview/mate/thumbs/1.png.jpg) + +It now comes with all the appearance customization mentioned above, in addition to bluetooth connectivity support - powered by Blueberry from the [Linux Mint Project](https://github.com/linuxmint/blueberry) - everything should function out of the box, so you can jump right into work and entertainment. + +You may now head over to our [Download](/os-download) section to get the new system releases, or simply update your existing installation. + + +### Known issues: + +- When the system release boots for the first time, it may take two or three minutes due to a bug in the Fontconfig caching system, which does not distinguish symbolic links from normal files representing fonts. *We are aware of this issue.* This should only happen once on the first boot, if this issue still occurs to you in future startups, please do file a [complaint](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new). +- While these releases should boot on Bay Trail devices, the graphical interface may not start or function properly, if that's the case, please append `nomodeset` to your Linux Kernel parameter (defined in GRUB, our default bootloader) to workaround this issue. There is still an ongoing effort to make AOSC OS work better on theses devices. +- Surface Pro 3 keyboard may not work properly with AOSC OS, this is not yet confirmed with the newest Kernel updates - but it did not work with 4.7 Kernel release series. diff --git a/content/news/2016-10-29-new-package-additions-oct-29-2016.md b/content/news/2016-10-29-new-package-additions-oct-29-2016.md new file mode 100644 index 00000000..809a0cc8 --- /dev/null +++ b/content/news/2016-10-29-new-package-additions-oct-29-2016.md @@ -0,0 +1,37 @@ +--- +categories: + - news +date: '2016-10-29' +important: false +title: 'New package additions: Oct. 29, 2016' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `httping` - Ping with HTTP requests [#475](https://github.com/AOSC-Dev/aosc-os-abbs/issues/475). +- `systemc` - A set of C++ classes and macros which provide an event-driven simulation interface [#478](https://github.com/AOSC-Dev/aosc-os-abbs/issues/478). +- `gifsicle` - Create, manipulate, and optimize GIF images and animations [#481](https://github.com/AOSC-Dev/aosc-os-abbs/issues/481). +- `giflossy` - Lossy GIF compressor [#481](https://github.com/AOSC-Dev/aosc-os-abbs/issues/481). +- `pgadmin` - Tools for administration of PostgreSQL. +- `zeal` - Offline documentation browser. +- `units` - Converts between different systems of units. +- `most` - A terminal pager similar to 'more' and 'less'. +- `mdbtools` - Utilities for viewing data and exporting schema from Microsoft Access database files. +- `txt2man` - Converts flat ASCII text to man page format. +- `kdiff3` - A KDE file compare/merge tool. +- `diffuse` - Graphical interface for file comparison and merging. +- `deluge` - A fully-featured cross-platform ​BitTorrent client. +- `nfs-utils` - Support programs for Network File Systems. +- `gssproxy` - A gss-proxy protocol to allow proxying of GSSAPI context establishment and channel handling. +- `flashplayer-ppapi` - Adobe Flash Player plugin for Pepper API. +- `uim` - A multilingual input method framework. +- `pyradio` - Command line internet radio player. +- `mp3blaster` - An interactive text-based program that plays MP3, Ogg Vorbis, wav, and sid audio files. +- `connman-gtk` - GTK+ frontend for Connman. +- `connman-json-client` - A ncurses UI for connman. +- `cmst` - Qt GUI for Connman with system tray icon. +- `cabal-install` - A user interface to the Cabal/Hackage automation and package management system. +- `ofono` - A telephony stack for Linux, developed by Intel. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2016-10-29-new-package-additions-oct-29-2016.zh-cn.md b/content/news/2016-10-29-new-package-additions-oct-29-2016.zh-cn.md new file mode 100644 index 00000000..809a0cc8 --- /dev/null +++ b/content/news/2016-10-29-new-package-additions-oct-29-2016.zh-cn.md @@ -0,0 +1,37 @@ +--- +categories: + - news +date: '2016-10-29' +important: false +title: 'New package additions: Oct. 29, 2016' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `httping` - Ping with HTTP requests [#475](https://github.com/AOSC-Dev/aosc-os-abbs/issues/475). +- `systemc` - A set of C++ classes and macros which provide an event-driven simulation interface [#478](https://github.com/AOSC-Dev/aosc-os-abbs/issues/478). +- `gifsicle` - Create, manipulate, and optimize GIF images and animations [#481](https://github.com/AOSC-Dev/aosc-os-abbs/issues/481). +- `giflossy` - Lossy GIF compressor [#481](https://github.com/AOSC-Dev/aosc-os-abbs/issues/481). +- `pgadmin` - Tools for administration of PostgreSQL. +- `zeal` - Offline documentation browser. +- `units` - Converts between different systems of units. +- `most` - A terminal pager similar to 'more' and 'less'. +- `mdbtools` - Utilities for viewing data and exporting schema from Microsoft Access database files. +- `txt2man` - Converts flat ASCII text to man page format. +- `kdiff3` - A KDE file compare/merge tool. +- `diffuse` - Graphical interface for file comparison and merging. +- `deluge` - A fully-featured cross-platform ​BitTorrent client. +- `nfs-utils` - Support programs for Network File Systems. +- `gssproxy` - A gss-proxy protocol to allow proxying of GSSAPI context establishment and channel handling. +- `flashplayer-ppapi` - Adobe Flash Player plugin for Pepper API. +- `uim` - A multilingual input method framework. +- `pyradio` - Command line internet radio player. +- `mp3blaster` - An interactive text-based program that plays MP3, Ogg Vorbis, wav, and sid audio files. +- `connman-gtk` - GTK+ frontend for Connman. +- `connman-json-client` - A ncurses UI for connman. +- `cmst` - Qt GUI for Connman with system tray icon. +- `cabal-install` - A user interface to the Cabal/Hackage automation and package management system. +- `ofono` - A telephony stack for Linux, developed by Intel. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2016-10-29-notes-on-flash-player-support.md b/content/news/2016-10-29-notes-on-flash-player-support.md new file mode 100644 index 00000000..ab2079ff --- /dev/null +++ b/content/news/2016-10-29-notes-on-flash-player-support.md @@ -0,0 +1,15 @@ +--- +categories: + - news +date: '2016-10-29' +important: false +title: Notes on Flash Player Support +--- + + +With the recently released Google Chrome (`google-chrome`) 54, Pepper API-based Flash Player plugin no longer comes bundled with the browser - however, Adobe has generously released a standalone version of Flash Player plugin for the Pepper API - and released under the terms of LGPL. + +That means we may now ship the Flash Player plugin as a package in our repository, you would need to install the following packages for Flash functionality: + +- Firefox: install `flashplayer-ppapi` and `freshplayerplugin`. +- Chromium and Google Chrome: install `flashplayer-ppapi`. \ No newline at end of file diff --git a/content/news/2016-10-29-notes-on-flash-player-support.zh-cn.md b/content/news/2016-10-29-notes-on-flash-player-support.zh-cn.md new file mode 100644 index 00000000..ab2079ff --- /dev/null +++ b/content/news/2016-10-29-notes-on-flash-player-support.zh-cn.md @@ -0,0 +1,15 @@ +--- +categories: + - news +date: '2016-10-29' +important: false +title: Notes on Flash Player Support +--- + + +With the recently released Google Chrome (`google-chrome`) 54, Pepper API-based Flash Player plugin no longer comes bundled with the browser - however, Adobe has generously released a standalone version of Flash Player plugin for the Pepper API - and released under the terms of LGPL. + +That means we may now ship the Flash Player plugin as a package in our repository, you would need to install the following packages for Flash functionality: + +- Firefox: install `flashplayer-ppapi` and `freshplayerplugin`. +- Chromium and Google Chrome: install `flashplayer-ppapi`. \ No newline at end of file diff --git a/content/news/2016-11-04-new-package-additions-nov-5-2016.md b/content/news/2016-11-04-new-package-additions-nov-5-2016.md new file mode 100644 index 00000000..10f4be80 --- /dev/null +++ b/content/news/2016-11-04-new-package-additions-nov-5-2016.md @@ -0,0 +1,29 @@ +--- +categories: + - news +date: '2016-11-04' +important: false +title: 'New package additions: Nov. 5, 2016' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `synergy` - Share a single mouse and keyboard between multiple computers. +- `inxi` - A full featured system information script. +- `gt5` - A diff-capable 'du-browser'. +- `rng-tools` - Random number generator related utilities. +- `zsync` - A file transfer program that's able to connect to rsync servers. +- `freeplane` - Free mind mapping and knowledge management software. +- `netselect` - An ultrafast intelligent parallelizing binary-search implementation of 'ping'. +- `aesfix` - Tool for correcting bit errors in an AES key schedule. +- `aeskeyfind` - Tool for locating AES keys in a captured memory image. +- `rsakeyfind` - Tool for locating RSA keys in a captured memory image. +- `ncmpc` - Fully featured MPD client using ncurses. +- `ncmpcpp` - Fully featured MPD client using ncurses (Plus Plus). +- `roboto-fonts` - The Roboto family of fonts. +- `droid-fonts` - The Droid family of fonts. +- `ncdu` - A disk usage analyzer with an ncurses interface. +- `topmenu-gtk` - A Gtk+ module and Mate/Xfce panel applets for a global menubar. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2016-11-04-new-package-additions-nov-5-2016.zh-cn.md b/content/news/2016-11-04-new-package-additions-nov-5-2016.zh-cn.md new file mode 100644 index 00000000..10f4be80 --- /dev/null +++ b/content/news/2016-11-04-new-package-additions-nov-5-2016.zh-cn.md @@ -0,0 +1,29 @@ +--- +categories: + - news +date: '2016-11-04' +important: false +title: 'New package additions: Nov. 5, 2016' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `synergy` - Share a single mouse and keyboard between multiple computers. +- `inxi` - A full featured system information script. +- `gt5` - A diff-capable 'du-browser'. +- `rng-tools` - Random number generator related utilities. +- `zsync` - A file transfer program that's able to connect to rsync servers. +- `freeplane` - Free mind mapping and knowledge management software. +- `netselect` - An ultrafast intelligent parallelizing binary-search implementation of 'ping'. +- `aesfix` - Tool for correcting bit errors in an AES key schedule. +- `aeskeyfind` - Tool for locating AES keys in a captured memory image. +- `rsakeyfind` - Tool for locating RSA keys in a captured memory image. +- `ncmpc` - Fully featured MPD client using ncurses. +- `ncmpcpp` - Fully featured MPD client using ncurses (Plus Plus). +- `roboto-fonts` - The Roboto family of fonts. +- `droid-fonts` - The Droid family of fonts. +- `ncdu` - A disk usage analyzer with an ncurses interface. +- `topmenu-gtk` - A Gtk+ module and Mate/Xfce panel applets for a global menubar. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2016-11-14-new-package-additions-nov-14-2016.md b/content/news/2016-11-14-new-package-additions-nov-14-2016.md new file mode 100644 index 00000000..6edd4265 --- /dev/null +++ b/content/news/2016-11-14-new-package-additions-nov-14-2016.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2016-11-14' +important: false +title: 'New package additions: Nov. 14, 2016' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `ldc` - The LLVM-based D compiler. +- `transmission-remote-gtk` - GTK+ remote control for the Transmission BitTorrent client. +- `i7z` - A better i7 (and now i3, i5) reporting tool for Linux. +- `mat` - Metadata anonymisation toolkit. +- `fakeroot` - Gives a fake root environment. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2016-11-14-new-package-additions-nov-14-2016.zh-cn.md b/content/news/2016-11-14-new-package-additions-nov-14-2016.zh-cn.md new file mode 100644 index 00000000..6edd4265 --- /dev/null +++ b/content/news/2016-11-14-new-package-additions-nov-14-2016.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2016-11-14' +important: false +title: 'New package additions: Nov. 14, 2016' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `ldc` - The LLVM-based D compiler. +- `transmission-remote-gtk` - GTK+ remote control for the Transmission BitTorrent client. +- `i7z` - A better i7 (and now i3, i5) reporting tool for Linux. +- `mat` - Metadata anonymisation toolkit. +- `fakeroot` - Gives a fake root environment. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2016-11-14-package-update-advisory-nov-14-2016.md b/content/news/2016-11-14-package-update-advisory-nov-14-2016.md new file mode 100644 index 00000000..3291d584 --- /dev/null +++ b/content/news/2016-11-14-package-update-advisory-nov-14-2016.md @@ -0,0 +1,28 @@ +--- +categories: + - news +date: '2016-11-14' +important: true +title: 'Package Update Advisory: Nov. 14, 2016' +--- + + +A failed package `systemd` version `1:232-1` for **AMD64/x86_64** was pushed to the repository by mistake, which lacks the set of files for `libgudev` - a library for providing GObject bindings for UDev. + +This update could result in the following issues: + +- NetworkManager failing to start due to missing runtime libraries. +- GNOME failing to start or crashing due to missing runtime libraries. + +Results above may be detrimental to the usability of AOSC OS. We advise that you do not update your system within 24 hours of this notice to prevent expected damage to your system. + +If you have already updated your system and ran into issues described above, please download the following package and install the update manually - as `root` or by using `sudo`. + + wget https://repo.aosc.io/os-amd64/os3-dpkg/s/systemd_232-1_amd64.deb + dpkg -i systemd_232-1_amd64.deb + +And restart AOSC OS. + +My sincere apologies to this incident. If you have further questions about this incident or need additional assistance, please contact us at #aosc or find me, JeffBai on Freenode. + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2016-11-14-package-update-advisory-nov-14-2016.zh-cn.md b/content/news/2016-11-14-package-update-advisory-nov-14-2016.zh-cn.md new file mode 100644 index 00000000..3291d584 --- /dev/null +++ b/content/news/2016-11-14-package-update-advisory-nov-14-2016.zh-cn.md @@ -0,0 +1,28 @@ +--- +categories: + - news +date: '2016-11-14' +important: true +title: 'Package Update Advisory: Nov. 14, 2016' +--- + + +A failed package `systemd` version `1:232-1` for **AMD64/x86_64** was pushed to the repository by mistake, which lacks the set of files for `libgudev` - a library for providing GObject bindings for UDev. + +This update could result in the following issues: + +- NetworkManager failing to start due to missing runtime libraries. +- GNOME failing to start or crashing due to missing runtime libraries. + +Results above may be detrimental to the usability of AOSC OS. We advise that you do not update your system within 24 hours of this notice to prevent expected damage to your system. + +If you have already updated your system and ran into issues described above, please download the following package and install the update manually - as `root` or by using `sudo`. + + wget https://repo.aosc.io/os-amd64/os3-dpkg/s/systemd_232-1_amd64.deb + dpkg -i systemd_232-1_amd64.deb + +And restart AOSC OS. + +My sincere apologies to this incident. If you have further questions about this incident or need additional assistance, please contact us at #aosc or find me, JeffBai on Freenode. + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2016-11-18-new-package-additions-nov-18-2016.md b/content/news/2016-11-18-new-package-additions-nov-18-2016.md new file mode 100644 index 00000000..b47d694e --- /dev/null +++ b/content/news/2016-11-18-new-package-additions-nov-18-2016.md @@ -0,0 +1,24 @@ +--- +categories: + - news +date: '2016-11-18' +important: false +title: 'New package additions: Nov. 18, 2016' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `htdig` - Scripts and HTML code needed for using ht://Dig as a web search engine. +- `ibus-uniemoji` - Emoji and symbol input support for IBus. +- `ltrace` - A debugging program which runs a specified command until the command exits. +- `pwgen` - Automatic password generator. +- `siege` - An HTTP regression testing and benchmarking utility. +- `devmem2` - Simple program to read/write from/to any location in memory. +- `dislocker` - Read BitLocker encrypted volumes under Linux. + +Special changes to existing packages this week: + +- `google-chrome` is now provided as a binary repack, so there is no need to fight with the downloader in some... less convenient locations. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2016-11-18-new-package-additions-nov-18-2016.zh-cn.md b/content/news/2016-11-18-new-package-additions-nov-18-2016.zh-cn.md new file mode 100644 index 00000000..b47d694e --- /dev/null +++ b/content/news/2016-11-18-new-package-additions-nov-18-2016.zh-cn.md @@ -0,0 +1,24 @@ +--- +categories: + - news +date: '2016-11-18' +important: false +title: 'New package additions: Nov. 18, 2016' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `htdig` - Scripts and HTML code needed for using ht://Dig as a web search engine. +- `ibus-uniemoji` - Emoji and symbol input support for IBus. +- `ltrace` - A debugging program which runs a specified command until the command exits. +- `pwgen` - Automatic password generator. +- `siege` - An HTTP regression testing and benchmarking utility. +- `devmem2` - Simple program to read/write from/to any location in memory. +- `dislocker` - Read BitLocker encrypted volumes under Linux. + +Special changes to existing packages this week: + +- `google-chrome` is now provided as a binary repack, so there is no need to fight with the downloader in some... less convenient locations. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2016-11-18-trinity-desktop-environment-now-available.md b/content/news/2016-11-18-trinity-desktop-environment-now-available.md new file mode 100644 index 00000000..3f8bdf87 --- /dev/null +++ b/content/news/2016-11-18-trinity-desktop-environment-now-available.md @@ -0,0 +1,46 @@ +--- +categories: + - news +date: '2016-11-18' +important: false +title: Trinity Desktop Environment Now Available! +--- + + +### A sensible throwback + +Trinity Desktop Environment R14.0.4 was released just earlier this month with support for building with GCC 6 and GStreamer 1.0 - I thought it's about time to bring this classical beast in. + +### What is TDE then? + +Trinity Desktop Environment is a continued effort to continue the maintenance of KDE 3.5.10. + +Along the way (since 2010), support for "modern" system features like PulseAudio, HAL-less hardware detection were added to this ancient desktop environment, making it largely usable on even a newer system foundation like AOSC OS. + +Here below are some screenshots taken from my PowerMac G5 (PowerPC64) running TDE - which I happen to use everyday now, since the last weekend. + +----------------- + + +First greetings from Trinity. + + + +A different flavoured panel with Kickoff launcher - more famous on KDE Plasma 4 desktop. + + + +Get the productivity going! + +----------------- + +### Installation + +Install Trinity Desktop Environment is relatively easy, installing the `tdebase` package should get you going with a minimal TDE installation. + +A meta-package will be created soon for easier installation. + +Enjoy! + +— Mingcong Bai diff --git a/content/news/2016-11-18-trinity-desktop-environment-now-available.zh-cn.md b/content/news/2016-11-18-trinity-desktop-environment-now-available.zh-cn.md new file mode 100644 index 00000000..30741b20 --- /dev/null +++ b/content/news/2016-11-18-trinity-desktop-environment-now-available.zh-cn.md @@ -0,0 +1,46 @@ +--- +categories: + - news +date: '2016-11-18' +important: false +title: Trinity Desktop Environment Now Available! +--- + + +### A sensible throwback + +Trinity Desktop Environment R14.0.4 was released just earlier this month with support for building with GCC 6 and GStreamer 1.0 - I thought it's about time to bring this classical beast in. + +### What is TDE then? + +Trinity Desktop Environment is a continued effort to continue the maintenance of KDE 3.5.10. + +Along the way (since 2010), support for "modern" system features like PulseAudio, HAL-less hardware detection were added to this ancient desktop environment, making it largely usable on even a newer system foundation like AOSC OS. + +Here below are some screenshots taken from my PowerMac G5 (PowerPC64) running TDE - which I happen to use everyday now, since the last weekend. + +----------------- + + + +First greetings from Trinity. + + + +A different flavoured panel with Kickoff launcher - more famous on KDE Plasma 4 desktop. + + + +Get the productivity going! + +----------------- + +### Installation + +Install Trinity Desktop Environment is relatively easy, installing the `tdebase` package should get you going with a minimal TDE installation. + +A meta-package will be created soon for easier installation. + +Enjoy! + +— Mingcong Bai diff --git a/content/news/2016-11-20-package-update-advisory-nov-20-2016.md b/content/news/2016-11-20-package-update-advisory-nov-20-2016.md new file mode 100644 index 00000000..24959767 --- /dev/null +++ b/content/news/2016-11-20-package-update-advisory-nov-20-2016.md @@ -0,0 +1,19 @@ +--- +categories: + - news +date: '2016-11-20' +important: true +title: 'Package Update Advisory: Nov. 20, 2016' +--- + + +Recent update to Jasper and GpgME (`jasper` and `gpgme`, respectively) contained undocumented update to their "so-ver" (version suffix to share libraries) - which we did not perform a rebuild as the result of this oversight. + +- If you have updated AOSC OS between now and November 18th (UTC time), you may experience issue that some applications crashes on launch, or crashes during usage. +- If not, we advise that you avoid updating system within 24 hours of this advisory to prevent issue described above. + +A batch of updates was pushed earlier today to fix this issue. + +Note: This issue only applies to AOSC OS for the **AMD64/x86_64** architecture. + +We apologize for any inconvenience. \ No newline at end of file diff --git a/content/news/2016-11-20-package-update-advisory-nov-20-2016.zh-cn.md b/content/news/2016-11-20-package-update-advisory-nov-20-2016.zh-cn.md new file mode 100644 index 00000000..24959767 --- /dev/null +++ b/content/news/2016-11-20-package-update-advisory-nov-20-2016.zh-cn.md @@ -0,0 +1,19 @@ +--- +categories: + - news +date: '2016-11-20' +important: true +title: 'Package Update Advisory: Nov. 20, 2016' +--- + + +Recent update to Jasper and GpgME (`jasper` and `gpgme`, respectively) contained undocumented update to their "so-ver" (version suffix to share libraries) - which we did not perform a rebuild as the result of this oversight. + +- If you have updated AOSC OS between now and November 18th (UTC time), you may experience issue that some applications crashes on launch, or crashes during usage. +- If not, we advise that you avoid updating system within 24 hours of this advisory to prevent issue described above. + +A batch of updates was pushed earlier today to fix this issue. + +Note: This issue only applies to AOSC OS for the **AMD64/x86_64** architecture. + +We apologize for any inconvenience. \ No newline at end of file diff --git a/content/news/2016-12-01-core-41-is-here.md b/content/news/2016-12-01-core-41-is-here.md new file mode 100644 index 00000000..6b28c5a0 --- /dev/null +++ b/content/news/2016-12-01-core-41-is-here.md @@ -0,0 +1,27 @@ +--- +categories: + - news +date: '2016-12-01' +important: false +title: Core 4.1 is here! +--- + + +![core-4.1](/assets/news/core-4.1.jpg) + +Core 4.1 was released just now as a major feature update to the Core 4.0 series. Core 4.1 contains: + +- Fixes to issues discovered since the release of Core 4.0.1 (last release in the 4.0 series). +- Features updates/additions to Core. +- Performance improvements. +- Security fixes. + +And most notably, GCC now comes with Go language support, and now you may switch between the Google and the GNU implementation. Many changes were also put into a new Glibc update, like the Unicode 9.0 update. Also, we have disabled any non-Unicode locale by default to save some time and disk space when updating Glibc (you can still enable them by editing `/etc/locale.gen`). + +Some details were changed in the AOSC OS base definition package (aosc-aaa) as well, `/etc/os-release` now includes a new field for `BUILD_ID`, as exposed in GNOME as follows: + +![core-4.1-gnome](/assets/news/core-4.1-gnome.png) + +A full changelog for Core 4.1 is available [here](https://github.com/AOSC-Dev/aosc-os-core/releases/tag/v4.1.0-2). + +Note: This version of Core contains security update for Glibc, for [AOSA-2016-0030](https://aosc.io/news/aosa-2016-0030-update-glibc-to-2.24-2), therefore it it strongly suggested for you to update if you are using ARMv7 (`armel`) port of AOSC OS! diff --git a/content/news/2016-12-01-core-41-is-here.zh-cn.md b/content/news/2016-12-01-core-41-is-here.zh-cn.md new file mode 100644 index 00000000..6b28c5a0 --- /dev/null +++ b/content/news/2016-12-01-core-41-is-here.zh-cn.md @@ -0,0 +1,27 @@ +--- +categories: + - news +date: '2016-12-01' +important: false +title: Core 4.1 is here! +--- + + +![core-4.1](/assets/news/core-4.1.jpg) + +Core 4.1 was released just now as a major feature update to the Core 4.0 series. Core 4.1 contains: + +- Fixes to issues discovered since the release of Core 4.0.1 (last release in the 4.0 series). +- Features updates/additions to Core. +- Performance improvements. +- Security fixes. + +And most notably, GCC now comes with Go language support, and now you may switch between the Google and the GNU implementation. Many changes were also put into a new Glibc update, like the Unicode 9.0 update. Also, we have disabled any non-Unicode locale by default to save some time and disk space when updating Glibc (you can still enable them by editing `/etc/locale.gen`). + +Some details were changed in the AOSC OS base definition package (aosc-aaa) as well, `/etc/os-release` now includes a new field for `BUILD_ID`, as exposed in GNOME as follows: + +![core-4.1-gnome](/assets/news/core-4.1-gnome.png) + +A full changelog for Core 4.1 is available [here](https://github.com/AOSC-Dev/aosc-os-core/releases/tag/v4.1.0-2). + +Note: This version of Core contains security update for Glibc, for [AOSA-2016-0030](https://aosc.io/news/aosa-2016-0030-update-glibc-to-2.24-2), therefore it it strongly suggested for you to update if you are using ARMv7 (`armel`) port of AOSC OS! diff --git a/content/news/2016-12-01-happy-birthday-aosc-for-the-fifth-time.md b/content/news/2016-12-01-happy-birthday-aosc-for-the-fifth-time.md new file mode 100644 index 00000000..c5626d10 --- /dev/null +++ b/content/news/2016-12-01-happy-birthday-aosc-for-the-fifth-time.md @@ -0,0 +1,34 @@ +--- +categories: + - news +date: '2016-12-01' +important: false +title: Happy Birthday, AOSC (for the fifth time)! +--- + + +![5th-banner](/assets/news/gallery/5th-anniversary-banner.jpg) + +Can't believe it's already been half a decade (and I have grown so old from who I was when AOSC has just got started in 2011). But nevertheless, happy birthday, AOSC! And I am so proud of you - not for you being the biggest or the best community, but the most honest and progressive of all communities! + +I remember when I said that we shall bring creativity to China - for China only - and bring technology advancement to high school students... And of course, I also remember that I had once said to all my earliest friends and collegues that we shall leave the community when we finish high school, and let the new generation bring in new ideas and achievements... + +But as here I stand today, the community means so much for me, and for all those contributed along the way to simply leave the community alone (and to be honest, we are still very small, way smaller than we had anticipated... "way back when"). Projects and ideas still piles up from within the community, and our most important project in the community, AOSC OS, have just released its first feature update to the fourth generation Core. + +It is truly incredible when looking back half a decade ago, to see the past, naive selves. The challenges and criticism we faced in the years have only made us a better community, with more and more mature thoughts and methodologies. Back in 2011 when AOSC OS was still a custom release of OpenSUSE made in the SUSE Studio - who would have thought that we could one day become a full-fledged independent Linux Distribution with six (and the 7th coming) architectural ports? And back when we were attacked for being a bunch of crybabies, who would have thought that we could be one of the strongest Chinese Simplified/Traditional localization workforce for great open source projects like GNOME, Wine, and FreeDesktop.org? And back when we still were afraid to show our work to others in the field, who would have thought that we could deliver patches, bug reports, and suggestions to upstream projects in great quantities? + +I do realize that we are still largely an unestablished community when compared to virtually anything else, with less than 20 people active for development. But today, in AOSC's birthday, it will only do justice to our beloved community to continue our optimistic moods, and to hang onto our work ethics - to never question what we could achieve, and only to question if we have done the best for our projects. + +Looking ahead, there are still lots of great ideas yet to be implemented, like a more integrated collaboration infrastructure for our developers, and new ports and improvements to our AOSC OS. There will be more challenges ahead, and even questions to our own ways - but fear not, we are known to be a... well, good crowd of people to say the least - to make the possible from unlikelihood. We have always did, and we always will. + +My dear friends and collegues, as the founder of this community, please accept my most sincere gratitude. This community could never have been what it is today without you, nor could I struggle alone. + +— Mingcong Bai + +---------------- + +A big thank you to Tianhao (James) Chai for creating the banner for our 5th anniversary in Minecraft (and on AOSC OS too)! + +![5th-selfie](/assets/news/gallery/5th-anniversary-selfie.jpg) + +And [here](https://cth451.tk/map/#scene_world_day/0/10/269/-358/64) is a map for this "monument". diff --git a/content/news/2016-12-01-happy-birthday-aosc-for-the-fifth-time.zh-cn.md b/content/news/2016-12-01-happy-birthday-aosc-for-the-fifth-time.zh-cn.md new file mode 100644 index 00000000..c5626d10 --- /dev/null +++ b/content/news/2016-12-01-happy-birthday-aosc-for-the-fifth-time.zh-cn.md @@ -0,0 +1,34 @@ +--- +categories: + - news +date: '2016-12-01' +important: false +title: Happy Birthday, AOSC (for the fifth time)! +--- + + +![5th-banner](/assets/news/gallery/5th-anniversary-banner.jpg) + +Can't believe it's already been half a decade (and I have grown so old from who I was when AOSC has just got started in 2011). But nevertheless, happy birthday, AOSC! And I am so proud of you - not for you being the biggest or the best community, but the most honest and progressive of all communities! + +I remember when I said that we shall bring creativity to China - for China only - and bring technology advancement to high school students... And of course, I also remember that I had once said to all my earliest friends and collegues that we shall leave the community when we finish high school, and let the new generation bring in new ideas and achievements... + +But as here I stand today, the community means so much for me, and for all those contributed along the way to simply leave the community alone (and to be honest, we are still very small, way smaller than we had anticipated... "way back when"). Projects and ideas still piles up from within the community, and our most important project in the community, AOSC OS, have just released its first feature update to the fourth generation Core. + +It is truly incredible when looking back half a decade ago, to see the past, naive selves. The challenges and criticism we faced in the years have only made us a better community, with more and more mature thoughts and methodologies. Back in 2011 when AOSC OS was still a custom release of OpenSUSE made in the SUSE Studio - who would have thought that we could one day become a full-fledged independent Linux Distribution with six (and the 7th coming) architectural ports? And back when we were attacked for being a bunch of crybabies, who would have thought that we could be one of the strongest Chinese Simplified/Traditional localization workforce for great open source projects like GNOME, Wine, and FreeDesktop.org? And back when we still were afraid to show our work to others in the field, who would have thought that we could deliver patches, bug reports, and suggestions to upstream projects in great quantities? + +I do realize that we are still largely an unestablished community when compared to virtually anything else, with less than 20 people active for development. But today, in AOSC's birthday, it will only do justice to our beloved community to continue our optimistic moods, and to hang onto our work ethics - to never question what we could achieve, and only to question if we have done the best for our projects. + +Looking ahead, there are still lots of great ideas yet to be implemented, like a more integrated collaboration infrastructure for our developers, and new ports and improvements to our AOSC OS. There will be more challenges ahead, and even questions to our own ways - but fear not, we are known to be a... well, good crowd of people to say the least - to make the possible from unlikelihood. We have always did, and we always will. + +My dear friends and collegues, as the founder of this community, please accept my most sincere gratitude. This community could never have been what it is today without you, nor could I struggle alone. + +— Mingcong Bai + +---------------- + +A big thank you to Tianhao (James) Chai for creating the banner for our 5th anniversary in Minecraft (and on AOSC OS too)! + +![5th-selfie](/assets/news/gallery/5th-anniversary-selfie.jpg) + +And [here](https://cth451.tk/map/#scene_world_day/0/10/269/-358/64) is a map for this "monument". diff --git a/content/news/2016-12-03-aosc-os-repository-mirror-at-ustc-is-down.md b/content/news/2016-12-03-aosc-os-repository-mirror-at-ustc-is-down.md new file mode 100644 index 00000000..85d99c68 --- /dev/null +++ b/content/news/2016-12-03-aosc-os-repository-mirror-at-ustc-is-down.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2016-12-03' +important: true +title: AOSC OS Repository Mirror at USTC is Down +--- + + +Our mirror at USTC is down, due to recurring hard disk array failures. + +That said, you might need to change your APT source lists to install and update packages normally. Use `apt-gen-list -l` to see your options (avoid `10-ustc` for now), and `apt-gen-list -e "repo1 repo2 repo3"` to enable new mirrors to use. + +We will post another notice when USTC's mirror has resolved this issue. + +Relevant documentation: + +- [USTC Mirror Status](http://mirrors.ustc.edu.cn/status/) \ No newline at end of file diff --git a/content/news/2016-12-03-aosc-os-repository-mirror-at-ustc-is-down.zh-cn.md b/content/news/2016-12-03-aosc-os-repository-mirror-at-ustc-is-down.zh-cn.md new file mode 100644 index 00000000..85d99c68 --- /dev/null +++ b/content/news/2016-12-03-aosc-os-repository-mirror-at-ustc-is-down.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2016-12-03' +important: true +title: AOSC OS Repository Mirror at USTC is Down +--- + + +Our mirror at USTC is down, due to recurring hard disk array failures. + +That said, you might need to change your APT source lists to install and update packages normally. Use `apt-gen-list -l` to see your options (avoid `10-ustc` for now), and `apt-gen-list -e "repo1 repo2 repo3"` to enable new mirrors to use. + +We will post another notice when USTC's mirror has resolved this issue. + +Relevant documentation: + +- [USTC Mirror Status](http://mirrors.ustc.edu.cn/status/) \ No newline at end of file diff --git a/content/news/2016-12-07-allwinner-images-available.md b/content/news/2016-12-07-allwinner-images-available.md new file mode 100644 index 00000000..5d665e7d --- /dev/null +++ b/content/news/2016-12-07-allwinner-images-available.md @@ -0,0 +1,75 @@ +--- +categories: + - news +date: '2016-12-07' +important: false +title: Allwinner images available! +--- + + +Our ARM/SunXi guru Icenowy Zheng has just released a big batch of system images for ARMv7-based Allwinner boards and tablets. The images are based on the "Base" variant of AOSC OS releases and they can now be obtained in the respective section in the [Download](/os-download) page. + + + +Icenowy Zheng's Orange Pi One runnning on mainline kernel, and of course, AOSC OS. + +And here below is a full list of devices supported by these images, in case you got lost: + +#### Colorfly + +- Colorfly E708 Q1 + +#### CubieTech + +- Cubieboard1 +- Cubieboard2 +- Cubietruck + +#### FriendlyARM + +- NanoPi NEO + +#### LeMaker + +- Banana Pi +- Banana Pro + +#### LinkSprite + +- pcDuino +- pcDuino2 +- pcDuino3 +- pcDuino3 Nano + +#### Olimex + +- A10-OLinXino-LIME +- A10S-OLinuXino-MICRO +- A13-OLinuXino +- A13-OLinXino-MICRO +- A20-SOM-EV +- A20-OLinuXino-LIME +- A20-OLinuXino-LIME2 +- A20-OLinuXino-LIME2-eMMC +- A20-OLinuXino-MICRO + +#### Sinlinx + +- SinA31s +- SinA33 + +#### Sinovoip + +- Banana Pi M1+ +- Banana Pi M2 +- Banana Pi M2+ + +#### Xunlong + +- Orange Pi 2 +- Orange Pi Lite +- Orange Pi One +- Orange Pi PC +- Orange Pi PC Plus +- Orange Pi Plus +- Orange Pi Plus 2E diff --git a/content/news/2016-12-07-allwinner-images-available.zh-cn.md b/content/news/2016-12-07-allwinner-images-available.zh-cn.md new file mode 100644 index 00000000..5d665e7d --- /dev/null +++ b/content/news/2016-12-07-allwinner-images-available.zh-cn.md @@ -0,0 +1,75 @@ +--- +categories: + - news +date: '2016-12-07' +important: false +title: Allwinner images available! +--- + + +Our ARM/SunXi guru Icenowy Zheng has just released a big batch of system images for ARMv7-based Allwinner boards and tablets. The images are based on the "Base" variant of AOSC OS releases and they can now be obtained in the respective section in the [Download](/os-download) page. + + + +Icenowy Zheng's Orange Pi One runnning on mainline kernel, and of course, AOSC OS. + +And here below is a full list of devices supported by these images, in case you got lost: + +#### Colorfly + +- Colorfly E708 Q1 + +#### CubieTech + +- Cubieboard1 +- Cubieboard2 +- Cubietruck + +#### FriendlyARM + +- NanoPi NEO + +#### LeMaker + +- Banana Pi +- Banana Pro + +#### LinkSprite + +- pcDuino +- pcDuino2 +- pcDuino3 +- pcDuino3 Nano + +#### Olimex + +- A10-OLinXino-LIME +- A10S-OLinuXino-MICRO +- A13-OLinuXino +- A13-OLinXino-MICRO +- A20-SOM-EV +- A20-OLinuXino-LIME +- A20-OLinuXino-LIME2 +- A20-OLinuXino-LIME2-eMMC +- A20-OLinuXino-MICRO + +#### Sinlinx + +- SinA31s +- SinA33 + +#### Sinovoip + +- Banana Pi M1+ +- Banana Pi M2 +- Banana Pi M2+ + +#### Xunlong + +- Orange Pi 2 +- Orange Pi Lite +- Orange Pi One +- Orange Pi PC +- Orange Pi PC Plus +- Orange Pi Plus +- Orange Pi Plus 2E diff --git a/content/news/2016-12-07-raspberry-pi-images-available.md b/content/news/2016-12-07-raspberry-pi-images-available.md new file mode 100644 index 00000000..f3df0234 --- /dev/null +++ b/content/news/2016-12-07-raspberry-pi-images-available.md @@ -0,0 +1,22 @@ +--- +categories: + - news +date: '2016-12-07' +important: false +title: Raspberry Pi images available! +--- + + +Shortly after the release of Allwinner AOSC OS images, the image for Raspberry Pi 2/3 is now available as well. The image is based on the "Base" variant of AOSC OS releases and they can now be obtained in the respective section in the [Download](/os-download) page. + +Note that currently the image is based on ARMv7 (therefore 32-bit) userspace, as the official kernel that Raspberry Pi supplies (BSP) is ARMv6/ARMv7 only. We will be releasing separate images for Raspberry Pi 3 soon, as mainline Kernel support will land for this particular board. + +Before then, do a fast SD card burn/dd... + + # dd if=imagefile of=/dev/sdX bs=4M status=progress + +(Where `imagefile` is the `.img` file you would obtain after extracting from the `.img.xz` you would download, and `sdX` is the device file of your SD card) + +And enjoy AOSC OS on your Pi! + + diff --git a/content/news/2016-12-07-raspberry-pi-images-available.zh-cn.md b/content/news/2016-12-07-raspberry-pi-images-available.zh-cn.md new file mode 100644 index 00000000..f3df0234 --- /dev/null +++ b/content/news/2016-12-07-raspberry-pi-images-available.zh-cn.md @@ -0,0 +1,22 @@ +--- +categories: + - news +date: '2016-12-07' +important: false +title: Raspberry Pi images available! +--- + + +Shortly after the release of Allwinner AOSC OS images, the image for Raspberry Pi 2/3 is now available as well. The image is based on the "Base" variant of AOSC OS releases and they can now be obtained in the respective section in the [Download](/os-download) page. + +Note that currently the image is based on ARMv7 (therefore 32-bit) userspace, as the official kernel that Raspberry Pi supplies (BSP) is ARMv6/ARMv7 only. We will be releasing separate images for Raspberry Pi 3 soon, as mainline Kernel support will land for this particular board. + +Before then, do a fast SD card burn/dd... + + # dd if=imagefile of=/dev/sdX bs=4M status=progress + +(Where `imagefile` is the `.img` file you would obtain after extracting from the `.img.xz` you would download, and `sdX` is the device file of your SD card) + +And enjoy AOSC OS on your Pi! + + diff --git a/content/news/2016-12-08-winter-distribution-updates-and-looking-ahead.md b/content/news/2016-12-08-winter-distribution-updates-and-looking-ahead.md new file mode 100644 index 00000000..72f34e1b --- /dev/null +++ b/content/news/2016-12-08-winter-distribution-updates-and-looking-ahead.md @@ -0,0 +1,33 @@ +--- +categories: + - news +date: '2016-12-08' +important: false +title: Winter Distribution Updates (and Looking Ahead)! +--- + + +You might have already noticed by looking at the [Downloads](/os-download) page that we have expanded our line-up of releases (again). The winter distribution updates is a major update to our AOSC OS releases, and it packs a lot more than just software updates: + +- Cinnamon and LXDE are added as new variants. +- SD/eMMC images based on the "Base" variant are now available for ARM devices (Raspberry Pi and Allwinner). +- Desktop variants (variants with pre-configured desktop environments) are now available for multiple architectures (for instance, XFCE is now available for AMD64, ARMv7, ARMv8 64-bit, PowerPC 32-bit, and PowerPC 64-bit *). +- All system distributions are now assembled using our new `*-base` collections (for lack of a good name). They are now built from a minimal system release (a "stub" variant, for our own convenience) every time, instead of being "refreshed" by doing a system update on the old one (a more detailed `*-base` description/explanation is on the way). + +Also, GTK+ based desktop variants are now released with a brand new look, incorporating the elegance of the [Arc](https://github.com/horst3180/Arc-Theme) GTK+ theme, and the simplicity of the [Flat-Remix](https://github.com/daniruiz/Flat-Remix) icon theme. As seen in this screenshot of our new GNOME release below. + +![gnome-preview](/assets/news/de-preview/gnome/thumbs/4.png.jpg) + +-------------------------------------------- + +Now, looking ahead, there are several things to do between now and our next distribution update - and some changes to our distribution update schedule: we are currently planning to shift the distribution update to a set, seasonal schedule (with the exception of BuildKit and important security updates) - instead of this random and fire-at-will mess we currently have... More on that in a later news post. + +Also, from the next update on, we will no longer set the default password for `root` with the default distribution. Enabling `root` user with a default password is quite a bad idea, as some users may forget to disable or reset the password of the `root` user, potentially making the system defenseless on a open network. + +-------------------------------------------- + +But for now, please enjoy (or much rather, please, try our) AOSC OS! + +-------------------------------------------- + +(*) PowerPC ports are **big endian only**, and are only tested on PowerPC-based Macintosh computers with G3 or newer processors. diff --git a/content/news/2016-12-08-winter-distribution-updates-and-looking-ahead.zh-cn.md b/content/news/2016-12-08-winter-distribution-updates-and-looking-ahead.zh-cn.md new file mode 100644 index 00000000..72f34e1b --- /dev/null +++ b/content/news/2016-12-08-winter-distribution-updates-and-looking-ahead.zh-cn.md @@ -0,0 +1,33 @@ +--- +categories: + - news +date: '2016-12-08' +important: false +title: Winter Distribution Updates (and Looking Ahead)! +--- + + +You might have already noticed by looking at the [Downloads](/os-download) page that we have expanded our line-up of releases (again). The winter distribution updates is a major update to our AOSC OS releases, and it packs a lot more than just software updates: + +- Cinnamon and LXDE are added as new variants. +- SD/eMMC images based on the "Base" variant are now available for ARM devices (Raspberry Pi and Allwinner). +- Desktop variants (variants with pre-configured desktop environments) are now available for multiple architectures (for instance, XFCE is now available for AMD64, ARMv7, ARMv8 64-bit, PowerPC 32-bit, and PowerPC 64-bit *). +- All system distributions are now assembled using our new `*-base` collections (for lack of a good name). They are now built from a minimal system release (a "stub" variant, for our own convenience) every time, instead of being "refreshed" by doing a system update on the old one (a more detailed `*-base` description/explanation is on the way). + +Also, GTK+ based desktop variants are now released with a brand new look, incorporating the elegance of the [Arc](https://github.com/horst3180/Arc-Theme) GTK+ theme, and the simplicity of the [Flat-Remix](https://github.com/daniruiz/Flat-Remix) icon theme. As seen in this screenshot of our new GNOME release below. + +![gnome-preview](/assets/news/de-preview/gnome/thumbs/4.png.jpg) + +-------------------------------------------- + +Now, looking ahead, there are several things to do between now and our next distribution update - and some changes to our distribution update schedule: we are currently planning to shift the distribution update to a set, seasonal schedule (with the exception of BuildKit and important security updates) - instead of this random and fire-at-will mess we currently have... More on that in a later news post. + +Also, from the next update on, we will no longer set the default password for `root` with the default distribution. Enabling `root` user with a default password is quite a bad idea, as some users may forget to disable or reset the password of the `root` user, potentially making the system defenseless on a open network. + +-------------------------------------------- + +But for now, please enjoy (or much rather, please, try our) AOSC OS! + +-------------------------------------------- + +(*) PowerPC ports are **big endian only**, and are only tested on PowerPC-based Macintosh computers with G3 or newer processors. diff --git a/content/news/2016-12-13-updates-to-allwinner-images.md b/content/news/2016-12-13-updates-to-allwinner-images.md new file mode 100644 index 00000000..f1cf1ea9 --- /dev/null +++ b/content/news/2016-12-13-updates-to-allwinner-images.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2016-12-13' +important: false +title: Updates to Allwinner Images +--- + + +A new batch of ARMv7 images for Allwinner is now released by Icenowy Zheng (with date tags `20161212` and `20161213`). One of the main changes is the inclusion of [AOSC ARM Flasher](https://github.com/AOSC-Dev/aosc-os-arm-boot-flasher) for updating Linux Kernel for all supported Allwinner devices (will be available for Raspberry Pi 2/3 soon). + +As a side note however, any images released before December 12th, 2016 (thus a date tag older than `20161212`) does not include this mechanism, and it is **strongly advised** that you enroll your device to the Flasher so that you may obtain Kernel updates (feature and security). + +To enroll your device, run the following series of commands as `root` (just copy and paste to the terminal and press Enter, the commands should finish automatically): + + echo deb http://repo.aosc.io/os-armel/sunxi/os3-dpkg / > /etc/apt/sources.list.d/10-sunxi.list && apt update && apt dist-upgrade -y && apt install aosc-os-armel-sunxi-boot aosc-os-arm-boot-flasher -y && FLASHER_CAPABILITIES='bootloader kernel' aosc-arm-flasher + +New images are now available in the [Downloads](/os-download/) page. \ No newline at end of file diff --git a/content/news/2016-12-13-updates-to-allwinner-images.zh-cn.md b/content/news/2016-12-13-updates-to-allwinner-images.zh-cn.md new file mode 100644 index 00000000..f1cf1ea9 --- /dev/null +++ b/content/news/2016-12-13-updates-to-allwinner-images.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2016-12-13' +important: false +title: Updates to Allwinner Images +--- + + +A new batch of ARMv7 images for Allwinner is now released by Icenowy Zheng (with date tags `20161212` and `20161213`). One of the main changes is the inclusion of [AOSC ARM Flasher](https://github.com/AOSC-Dev/aosc-os-arm-boot-flasher) for updating Linux Kernel for all supported Allwinner devices (will be available for Raspberry Pi 2/3 soon). + +As a side note however, any images released before December 12th, 2016 (thus a date tag older than `20161212`) does not include this mechanism, and it is **strongly advised** that you enroll your device to the Flasher so that you may obtain Kernel updates (feature and security). + +To enroll your device, run the following series of commands as `root` (just copy and paste to the terminal and press Enter, the commands should finish automatically): + + echo deb http://repo.aosc.io/os-armel/sunxi/os3-dpkg / > /etc/apt/sources.list.d/10-sunxi.list && apt update && apt dist-upgrade -y && apt install aosc-os-armel-sunxi-boot aosc-os-arm-boot-flasher -y && FLASHER_CAPABILITIES='bootloader kernel' aosc-arm-flasher + +New images are now available in the [Downloads](/os-download/) page. \ No newline at end of file diff --git a/content/news/2016-12-16-new-package-additions-dec-16th-2016.md b/content/news/2016-12-16-new-package-additions-dec-16th-2016.md new file mode 100644 index 00000000..8d77cec8 --- /dev/null +++ b/content/news/2016-12-16-new-package-additions-dec-16th-2016.md @@ -0,0 +1,46 @@ +--- +categories: + - news +date: '2016-12-16' +important: false +title: 'New package additions: Dec 16th, 2016' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `abbs` - Configuration/manifest manager for Autobuild. +- `aosc-os-arm-boot-flasher` - AOSC OS boot-related file update(flash)er for ARM architecture (and maybe more). +- `apm` - Atom Package Manager. +- `arc-openbox` - Arc theme for the Openbox window manager. +- `atool` - A script for managing file archives of various types. +- `compton` - A compositor for X11. +- `easy-rsa` - Simple shell based CA utility. +- `electron` - Build cross platform desktop apps with JavaScript, HTML, and CSS. +- `flat-remix-icon-theme` - A pretty simple icon theme for Linux. +- `gost` - GO Simple Tunnel. +- `gtk3-tqt-engine` - GTK+ 3 engine for TQt. +- `gtk-qt-engine` - GTK+ engine for TQt/Qt 3. +- `http-parser` - Parser for HTTP Request/Response written in C. +- `lrzsz` - xmodem, ymodem and zmodem file transfer protocols. +- `ncbi-vdb` - The NCBI VDB. +- `neofetch` - A fast, highly customizable system info script. +- `netperf` - Network benchmark for multiple types of networks. +- `ngs` - NGS Language Bindings. +- `nitrogen` - Background browser and setter for X windows. +- `opencryptoki` - Implementation of the PKCS#11 (Cryptoki) specification. +- `pysocks` - SOCKS4, SOCKS5 or HTTP proxy for Python. +- `quodlibet` - Music library manager and player. +- `racer` - Rust Code Completion Utility. +- `ranger` - A simple, vim-like file manager. +- `rustfmt` - Rust Code Formatter. +- `rxvt-unicode` - A customizable terminal emulator forked from rxvt. +- `sassc` - Command line driver for libsass. +- `skanlite` - Image scanning application for KDE. +- `sra-tools` - The NCBI SRA (Sequence Read Archive). +- `tde-i18n` - Translation and l10n data for Trinity Desktop. +- `tdenetworkmanager` - NetworkManager frontend for Trinity Desktop. +- `tpm-tools` - Management tools for TPM hardware. +- `virtualenv` - A tool to create isolated Python environments. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2016-12-16-new-package-additions-dec-16th-2016.zh-cn.md b/content/news/2016-12-16-new-package-additions-dec-16th-2016.zh-cn.md new file mode 100644 index 00000000..8d77cec8 --- /dev/null +++ b/content/news/2016-12-16-new-package-additions-dec-16th-2016.zh-cn.md @@ -0,0 +1,46 @@ +--- +categories: + - news +date: '2016-12-16' +important: false +title: 'New package additions: Dec 16th, 2016' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `abbs` - Configuration/manifest manager for Autobuild. +- `aosc-os-arm-boot-flasher` - AOSC OS boot-related file update(flash)er for ARM architecture (and maybe more). +- `apm` - Atom Package Manager. +- `arc-openbox` - Arc theme for the Openbox window manager. +- `atool` - A script for managing file archives of various types. +- `compton` - A compositor for X11. +- `easy-rsa` - Simple shell based CA utility. +- `electron` - Build cross platform desktop apps with JavaScript, HTML, and CSS. +- `flat-remix-icon-theme` - A pretty simple icon theme for Linux. +- `gost` - GO Simple Tunnel. +- `gtk3-tqt-engine` - GTK+ 3 engine for TQt. +- `gtk-qt-engine` - GTK+ engine for TQt/Qt 3. +- `http-parser` - Parser for HTTP Request/Response written in C. +- `lrzsz` - xmodem, ymodem and zmodem file transfer protocols. +- `ncbi-vdb` - The NCBI VDB. +- `neofetch` - A fast, highly customizable system info script. +- `netperf` - Network benchmark for multiple types of networks. +- `ngs` - NGS Language Bindings. +- `nitrogen` - Background browser and setter for X windows. +- `opencryptoki` - Implementation of the PKCS#11 (Cryptoki) specification. +- `pysocks` - SOCKS4, SOCKS5 or HTTP proxy for Python. +- `quodlibet` - Music library manager and player. +- `racer` - Rust Code Completion Utility. +- `ranger` - A simple, vim-like file manager. +- `rustfmt` - Rust Code Formatter. +- `rxvt-unicode` - A customizable terminal emulator forked from rxvt. +- `sassc` - Command line driver for libsass. +- `skanlite` - Image scanning application for KDE. +- `sra-tools` - The NCBI SRA (Sequence Read Archive). +- `tde-i18n` - Translation and l10n data for Trinity Desktop. +- `tdenetworkmanager` - NetworkManager frontend for Trinity Desktop. +- `tpm-tools` - Management tools for TPM hardware. +- `virtualenv` - A tool to create isolated Python environments. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2016-12-31-happy-early-new-year.md b/content/news/2016-12-31-happy-early-new-year.md new file mode 100644 index 00000000..332c30d7 --- /dev/null +++ b/content/news/2016-12-31-happy-early-new-year.md @@ -0,0 +1,22 @@ +--- +categories: + - news +date: '2016-12-31' +important: false +title: Happy (Early) New Year! +--- + + +It's that time of a year again (to look back), and I am very glad to say that 2016 has been a great year for all of us. + +Lots of news and happenings around our projects, and we have got couple of new faces to our community's development effort - most notably, Yi "Everette" Rong, who kickstarted the big endian PowerPC ports for AOSC OS, and to top things off, made an experimental go at AOSC OS on Windows 10 with his WSAOSC (Wa-Sao-sk) installer, check it out [here](https://github.com/AOSC-Dev/WSAOSC/). + +Not to be out done, Icenowy Zheng made an explosive progress on AOSC OS's ARM ports with her [aosc-mkrawimg](https://github.com/AOSC-Dev/aosc-mkrawimg/) and [aosc-os-arm-boot-flasher](https://github.com/AOSC-Dev/aosc-os-arm-boot-flasher/) projects. Dozens of images are released for Allwinner devices and Raspberry Pi, and Kernel updates on these devices got more and more intuitive. + +Progress on our localization effort were looking better than ever, we have continued our effort with Simplified Chinese localization for FOSS projects. GNOME, MATE, Audacious, Freedesktop.org, etc. have received our continued support in this particular area. Most notably, with joint effort from Arthur Wang, Zixing Liu, and I personally, Wine's zh_CN translation had reached 100% completion for the first time since 1993 - and yes, that's when the project started. + +Looking ahead, 2017 will be equally if not more interesting for AOSC. Development will be resumed on AST's Startup Toolkit with a brand new UI and more universal support for Linux distributions other than AOSC OS; RISC-V will (potentially) see its first commercial hardware debut, and thus a new port for AOSC OS is imminent; ACBS, a replacement for our [ABBS](https://github.com/AOSC-Dev/abbs/) will bring better reliability, multi-tree support (forest.conf), and security to our AOSC OS packaging work. And of course, AOSC OS will see more improvement on dependencies, installation support, and user experience. + +Before we get carried away, this has been an awesome year coordinating this community and working with all of you guys. And here to my sincere gratitude, and I wish all of you a happy new year! + +— Mingcong Bai diff --git a/content/news/2016-12-31-happy-early-new-year.zh-cn.md b/content/news/2016-12-31-happy-early-new-year.zh-cn.md new file mode 100644 index 00000000..332c30d7 --- /dev/null +++ b/content/news/2016-12-31-happy-early-new-year.zh-cn.md @@ -0,0 +1,22 @@ +--- +categories: + - news +date: '2016-12-31' +important: false +title: Happy (Early) New Year! +--- + + +It's that time of a year again (to look back), and I am very glad to say that 2016 has been a great year for all of us. + +Lots of news and happenings around our projects, and we have got couple of new faces to our community's development effort - most notably, Yi "Everette" Rong, who kickstarted the big endian PowerPC ports for AOSC OS, and to top things off, made an experimental go at AOSC OS on Windows 10 with his WSAOSC (Wa-Sao-sk) installer, check it out [here](https://github.com/AOSC-Dev/WSAOSC/). + +Not to be out done, Icenowy Zheng made an explosive progress on AOSC OS's ARM ports with her [aosc-mkrawimg](https://github.com/AOSC-Dev/aosc-mkrawimg/) and [aosc-os-arm-boot-flasher](https://github.com/AOSC-Dev/aosc-os-arm-boot-flasher/) projects. Dozens of images are released for Allwinner devices and Raspberry Pi, and Kernel updates on these devices got more and more intuitive. + +Progress on our localization effort were looking better than ever, we have continued our effort with Simplified Chinese localization for FOSS projects. GNOME, MATE, Audacious, Freedesktop.org, etc. have received our continued support in this particular area. Most notably, with joint effort from Arthur Wang, Zixing Liu, and I personally, Wine's zh_CN translation had reached 100% completion for the first time since 1993 - and yes, that's when the project started. + +Looking ahead, 2017 will be equally if not more interesting for AOSC. Development will be resumed on AST's Startup Toolkit with a brand new UI and more universal support for Linux distributions other than AOSC OS; RISC-V will (potentially) see its first commercial hardware debut, and thus a new port for AOSC OS is imminent; ACBS, a replacement for our [ABBS](https://github.com/AOSC-Dev/abbs/) will bring better reliability, multi-tree support (forest.conf), and security to our AOSC OS packaging work. And of course, AOSC OS will see more improvement on dependencies, installation support, and user experience. + +Before we get carried away, this has been an awesome year coordinating this community and working with all of you guys. And here to my sincere gratitude, and I wish all of you a happy new year! + +— Mingcong Bai diff --git a/content/news/2016-12-31-new-package-additions-dec-31-2016.md b/content/news/2016-12-31-new-package-additions-dec-31-2016.md new file mode 100644 index 00000000..16c38a66 --- /dev/null +++ b/content/news/2016-12-31-new-package-additions-dec-31-2016.md @@ -0,0 +1,55 @@ +--- +categories: + - news +date: '2016-12-31' +important: false +title: 'New package additions: Dec. 31, 2016' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `afflib` - An open and extensible file format to store disk images and associated metadata. +- `afl` - A security-oriented fuzzer. +- `averia-fonts` - The Avería GWF font family. +- `construct` - A powerful declarative parser/builder for binary data. +- `ctemplate` - A library implementing a simple but powerful template language for C++. +- `dff` - An Open Source computer forensics platform. +- `distorm` - Powerful disassembler library for x86/AMD64. +- `et-xmlfile` - A low memory library for creating large XML files. +- `fbset` - Framebuffer setup utility. +- `jbig2dec` - Decoder implementation of the JBIG2 image compression format. +- `jdcal` - Julian dates, from proleptic Gregorian and Julian calendars. +- `jsmath-fonts` - Font family for jsMath. +- `libbfio` - A library to provide basic file input/output abstraction. +- `libewf` - A library to access the Expert Witness Compression Format (EWF). +- `libfm-qt` - Core library of PCManFM-Qt (Qt binding for libfm). +- `libforensic1394` - Library for performing live memory forensics over the IEEE 1394 (FireWire) interface. +- `libglademm` - C++ bindings for libglade. +- `libiodbc` - Independent Open DataBase Connectivity driver library. +- `libpff` - Library and tools to access the Personal Folder File (PFF) and the Offline Folder File (OFF) format. +- `libvshadow` - A library to access the Volume Shadow Snapshot (VSS) format. +- `lxqt-build-tools` - Various packaging tools and scripts for LXQt applications. +- `muparser` - A fast math parser library. +- `mysql-workbench` - A cross-platform, visual database design tool developed by MySQL. +- `openpyxl` - A Python library to read/write Excel 2007 xlsx/xlsm files. +- `paprefs` - A simple GTK-based configuration dialog for PulseAudio. +- `pefile` - A Python module to read and work with PE (Portable Executable) files. +- `ptunnel` - A tool for reliably tunneling TCP connections over ICMP echo request and reply packets. +- `pyodbc` - Python bindings for UnixODBC. +- `pyorbit` - Python bindings for ORBit2. +- `reglookup` - Utilities for direct analysis of Windows NT-based registry files. +- `scantailor` - Interactive post-processing tool for scanned pages. +- `seahorse-nautilus` - PGP encryption and signing for Nautilus (GNOME Files). +- `stunnel` - A program that allows you to encrypt arbitrary TCP connections inside SSL. +- `system-config-lvm` - A utility for graphical configuration of Logical Volumes. +- `thermald` - The Linux Thermal Daemon program from 01.org. +- `tinyproxy` - A light-weight HTTP proxy daemon for POSIX operating systems. +- `volatility` - Advanced memory forensics framework. +- `xrdp` - An open source remote desktop protocol (RDP) server. +- `yara-python` - Python bindings for Yara. +- `yara` - Tool aimed at helping malware researchers to identify and classify malware samples. +- `zathura-pdf-mupdf` - PDF support for Zathura (MuPDF backend). +- `znc` - An IRC bouncer with modules & scripts support. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2016-12-31-new-package-additions-dec-31-2016.zh-cn.md b/content/news/2016-12-31-new-package-additions-dec-31-2016.zh-cn.md new file mode 100644 index 00000000..16c38a66 --- /dev/null +++ b/content/news/2016-12-31-new-package-additions-dec-31-2016.zh-cn.md @@ -0,0 +1,55 @@ +--- +categories: + - news +date: '2016-12-31' +important: false +title: 'New package additions: Dec. 31, 2016' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `afflib` - An open and extensible file format to store disk images and associated metadata. +- `afl` - A security-oriented fuzzer. +- `averia-fonts` - The Avería GWF font family. +- `construct` - A powerful declarative parser/builder for binary data. +- `ctemplate` - A library implementing a simple but powerful template language for C++. +- `dff` - An Open Source computer forensics platform. +- `distorm` - Powerful disassembler library for x86/AMD64. +- `et-xmlfile` - A low memory library for creating large XML files. +- `fbset` - Framebuffer setup utility. +- `jbig2dec` - Decoder implementation of the JBIG2 image compression format. +- `jdcal` - Julian dates, from proleptic Gregorian and Julian calendars. +- `jsmath-fonts` - Font family for jsMath. +- `libbfio` - A library to provide basic file input/output abstraction. +- `libewf` - A library to access the Expert Witness Compression Format (EWF). +- `libfm-qt` - Core library of PCManFM-Qt (Qt binding for libfm). +- `libforensic1394` - Library for performing live memory forensics over the IEEE 1394 (FireWire) interface. +- `libglademm` - C++ bindings for libglade. +- `libiodbc` - Independent Open DataBase Connectivity driver library. +- `libpff` - Library and tools to access the Personal Folder File (PFF) and the Offline Folder File (OFF) format. +- `libvshadow` - A library to access the Volume Shadow Snapshot (VSS) format. +- `lxqt-build-tools` - Various packaging tools and scripts for LXQt applications. +- `muparser` - A fast math parser library. +- `mysql-workbench` - A cross-platform, visual database design tool developed by MySQL. +- `openpyxl` - A Python library to read/write Excel 2007 xlsx/xlsm files. +- `paprefs` - A simple GTK-based configuration dialog for PulseAudio. +- `pefile` - A Python module to read and work with PE (Portable Executable) files. +- `ptunnel` - A tool for reliably tunneling TCP connections over ICMP echo request and reply packets. +- `pyodbc` - Python bindings for UnixODBC. +- `pyorbit` - Python bindings for ORBit2. +- `reglookup` - Utilities for direct analysis of Windows NT-based registry files. +- `scantailor` - Interactive post-processing tool for scanned pages. +- `seahorse-nautilus` - PGP encryption and signing for Nautilus (GNOME Files). +- `stunnel` - A program that allows you to encrypt arbitrary TCP connections inside SSL. +- `system-config-lvm` - A utility for graphical configuration of Logical Volumes. +- `thermald` - The Linux Thermal Daemon program from 01.org. +- `tinyproxy` - A light-weight HTTP proxy daemon for POSIX operating systems. +- `volatility` - Advanced memory forensics framework. +- `xrdp` - An open source remote desktop protocol (RDP) server. +- `yara-python` - Python bindings for Yara. +- `yara` - Tool aimed at helping malware researchers to identify and classify malware samples. +- `zathura-pdf-mupdf` - PDF support for Zathura (MuPDF backend). +- `znc` - An IRC bouncer with modules & scripts support. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2017-01-01-acbs-is-ready-to-roll.md b/content/news/2017-01-01-acbs-is-ready-to-roll.md new file mode 100644 index 00000000..f782375d --- /dev/null +++ b/content/news/2017-01-01-acbs-is-ready-to-roll.md @@ -0,0 +1,27 @@ +--- +categories: + - news +date: '2017-01-01' +important: false +title: ACBS is Ready to Roll +--- + + +ACBS (Autobuild CI Build System), after several re-writes, is now available as a replacement to our old Autobuild manifest and configuration manager ABBS (AutoBuild Build Service). ACBS comes with enhanced functionality, improved reliability, and full compatibility with old ABBS trees: + +- Multi-tree support (a "forest", so to speak). +- Checksum verification support. +- Cache cleaning and management support. +- Logging support. +- Proper dependency calculation (automatic build sequences, useful for bootstrapped bases). + +Extra blings are also included: + +- Build timing utilities. +- More detailed error messages. + +The new set of tool is written in Python 3 (and you will need a version newer than 3.3), along with several essential dependencies - which are commonly found in any well built Linux distributions - ACBS is built for any Linux distribution eyeing on Autobuild for its packaging work. + +New packages built for AOSC OS since today will be built with ACBS - just to give it more real-world and detailed testing - but as it stands today, it is already quite a bit more advanced than ABBS. Definitely a recommended upgrade. + +Our AOSC OS packaging documentation ["AOSC Cadet Training"](https://github.com/AOSC-Dev/aosc-os-abbs/wiki/) is also updated for using ACBS - please note that ABBS is now marked deprecated, and you should not continue to use ABBS - we are not interested in fixing old and deprecated stuff, as we usually do. \ No newline at end of file diff --git a/content/news/2017-01-01-acbs-is-ready-to-roll.zh-cn.md b/content/news/2017-01-01-acbs-is-ready-to-roll.zh-cn.md new file mode 100644 index 00000000..f782375d --- /dev/null +++ b/content/news/2017-01-01-acbs-is-ready-to-roll.zh-cn.md @@ -0,0 +1,27 @@ +--- +categories: + - news +date: '2017-01-01' +important: false +title: ACBS is Ready to Roll +--- + + +ACBS (Autobuild CI Build System), after several re-writes, is now available as a replacement to our old Autobuild manifest and configuration manager ABBS (AutoBuild Build Service). ACBS comes with enhanced functionality, improved reliability, and full compatibility with old ABBS trees: + +- Multi-tree support (a "forest", so to speak). +- Checksum verification support. +- Cache cleaning and management support. +- Logging support. +- Proper dependency calculation (automatic build sequences, useful for bootstrapped bases). + +Extra blings are also included: + +- Build timing utilities. +- More detailed error messages. + +The new set of tool is written in Python 3 (and you will need a version newer than 3.3), along with several essential dependencies - which are commonly found in any well built Linux distributions - ACBS is built for any Linux distribution eyeing on Autobuild for its packaging work. + +New packages built for AOSC OS since today will be built with ACBS - just to give it more real-world and detailed testing - but as it stands today, it is already quite a bit more advanced than ABBS. Definitely a recommended upgrade. + +Our AOSC OS packaging documentation ["AOSC Cadet Training"](https://github.com/AOSC-Dev/aosc-os-abbs/wiki/) is also updated for using ACBS - please note that ABBS is now marked deprecated, and you should not continue to use ABBS - we are not interested in fixing old and deprecated stuff, as we usually do. \ No newline at end of file diff --git a/content/news/2017-01-01-update-on-wine-and-x86-support-for-arm-devices.md b/content/news/2017-01-01-update-on-wine-and-x86-support-for-arm-devices.md new file mode 100644 index 00000000..718545fd --- /dev/null +++ b/content/news/2017-01-01-update-on-wine-and-x86-support-for-arm-devices.md @@ -0,0 +1,14 @@ +--- +categories: + - news +date: '2017-01-01' +important: false +title: Update on Wine and x86 Support for ARM Devices +--- + + +Icenowy Zheng just made an update on the `wine` package for ARMv7 (`armel`), fixing some runtime issues introduced with an earlier commit. To prove its usability, she attempted to build a version of Notepad++ for her tablet running AOSC OS... + + + +Along with the update, Zheng is currently marking all `optenv32`, our i686/32-bit x86 runtime environment as architectural neutral packages - in the future, all of our AOSC OS ports will be able to run i686 applications (Wine or Linux Native) with the help of Qemu User Mode Emulation. Keep posted for updates! diff --git a/content/news/2017-01-01-update-on-wine-and-x86-support-for-arm-devices.zh-cn.md b/content/news/2017-01-01-update-on-wine-and-x86-support-for-arm-devices.zh-cn.md new file mode 100644 index 00000000..718545fd --- /dev/null +++ b/content/news/2017-01-01-update-on-wine-and-x86-support-for-arm-devices.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - news +date: '2017-01-01' +important: false +title: Update on Wine and x86 Support for ARM Devices +--- + + +Icenowy Zheng just made an update on the `wine` package for ARMv7 (`armel`), fixing some runtime issues introduced with an earlier commit. To prove its usability, she attempted to build a version of Notepad++ for her tablet running AOSC OS... + + + +Along with the update, Zheng is currently marking all `optenv32`, our i686/32-bit x86 runtime environment as architectural neutral packages - in the future, all of our AOSC OS ports will be able to run i686 applications (Wine or Linux Native) with the help of Qemu User Mode Emulation. Keep posted for updates! diff --git a/content/news/2017-01-07-on-aosc-os-ports.md b/content/news/2017-01-07-on-aosc-os-ports.md new file mode 100644 index 00000000..37f51cbd --- /dev/null +++ b/content/news/2017-01-07-on-aosc-os-ports.md @@ -0,0 +1,133 @@ +--- +categories: + - news +date: '2017-01-07' +important: false +title: On AOSC OS Ports... +--- + + +Just figured that some may be curious of how AOSC OS ports are done, so this +particular transmission will be dedicated to this matter. + +In case you haven't noticed yet (due to our puzzling download page), AOSC OS +currently has 7 architectural ports under active development: + +- AMD64/x86_64, your usual Intel/AMD PCs and servers (`amd64`). +- ARM, for your boards, tablets, phones, servers alike. + - ARMv7, 32-bit, hard-float, NEON (`armel`). + - ARMv8, 64-bit, AArch64 (`arm64`). +- MIPS, mainly for Imagination Technologies and Loongson devices. + - MIPS-II, 32-bit, o32 ABI (`mipsel`). + - MIPS64, 64-bit, MIPS64r2 ABI (`mips64el`). +- PowerPC, mainly for consumer-oriented Apple and AmigaONE desktops and laptops. + - PowerPC, 32-bit, big-endian (`powerpc`). + - PowerPC, 64-bit, big-endian, AltiVec (`ppc64`). + +And by AOSC OS design, these ports are all capable of running on mainline +kernels (well not yet for MIPS64el) and various desktop environments (while +some simply can't be built on some architecture yet, for example, Enlightenment +on PowerPC64 due to lack of LuaJIT support). But in most cases, all ports of +AOSC OS can be used with the same level of functionality, but with varying +performance outcomes. There are several reasons to this: + +- Plain performance deviations, you can't just expect a 15 year old Apple G4 to + perform as well as your modern Skylake desktop, can you? +- Optimization compromises, there are certain sacrifices we had to make for a + port to be (generally) universal for some particular architectures, for + example, we have given up AltiVec optimizations on our PowerPC 32-bit port, + so that our port can be run on older PowerPC processors like the 603e, 604e, + and the G3 (G4 is the first to come with AltiVec support). +- JIT, this is a painful one, and mostly reflecting on some lesser-known + architectures - JIT generally requires assembly support, which are lacking + for some architectures in some software projects, say, OpenJDK, which does not + yet have (or simply won't have in the forseeable future) JIT/Hotspot support + for MIPS32 and PowerPC 32-bit processors. + +Onto the workflow then. There is a rule among AOSC OS developers that, "there +shall be no port before devices exists" - some Linux distributions (go figure) +has lots of architectural ports, but sometimes no device is available for some +architectures. While it's all fine and good as a technical references on these +ports (in fact, we have learned a lot from Fedora and Gentoo, thank you both), +we as a tiny development effort simply can't afford to start a virtual port - +or "theoretical" port, let's say - this is precisely the reason why we haven't +jumped on to porting AOSC OS to RISC-V yet, but when the first boards of that +architecture debut, we will crack on with it. But anyways, if there exists a +device availabled for us to purchase by one of our developers, a port will be +started. Junde Yhi, long time AOSC contributor started his first venture of +porting AOSC OS with his purchase of a Loongson 3A R2 (3A2000C) desktop of +MIPS64el (MIPS 64-bit, little-endian) architecture, and it's truly an +interesting (and perhaps unfortunately, quirky) machine. + + + +The porting starts without actually doing the build, but with making "specs" for +the particular port. As AOSC OS, there isn't much room for varied system +designs, the work mostly comes to the optimization parameters and configuration +for the toolchain (we use GNU's tools, of course). In the case of MIPS64el, +Yhi spent roughly two weeks reading Loongson's compiler and optimizations +specifications - not that we are making a Loongson port, but SGI's workstations +are just... too much. At the end of the reading, a series of optimization +parameters, or flags are collected and put in as a part of some Autobuild3 +[updates](https://github.com/AOSC-Dev/autobuild3/compare/7271c3c26d9e3aca26454e1608d7acb2059be360...fbc87e53a1131e1e187b0716d54b79fe45c01de6). + + + +The next step would be to start reading and build along with the guides at +[Linux From Scratch](http://www.linuxformscratch.org/). The only difference we +make here is to change the triple to ours (in the case of MIPS64el, +`mips64el-aosc-linux-gnu`), and incorporating package management (`dpkg` in our +case) as soon as we could. With package management in place, it's time to start +building the [Core](https://github.com/AOSC-Dev/aosc-os-core/) (from `master` +of course), and debug through issues, committing changes and incorporating them +into the next release. Then it just flows down the stream to our main +[tree](https://github.com/AOSC-Dev/aosc-os-abbs/), where terrible stuff like +"stage-two-ing" (stripping out features for bootstrapping, and re-incorporating +new features when dependencies are available) and you guess it, more bugs, will +be found. But with enough packages available and tested, a new port of AOSC OS +will be available from the [downloads](https://aosc.io/os-download/) page. This +process can take anywhere from weeks to months (our fastest growing ports yet +are the PowerPC 32/64-bit ports, thanks to a powerful PowerMac G5 Quad, taking +only 5 weeks to have the Base, MATE, and XFCE variants available), depending on +the difficulty and fluidity of the porters. + + + +What's next then? Generally, maintaining and hoping for more. Maintaining ports +is a long enduring and often times tedious task. Given that our main port is +still the AMD64/x86_64 port, all new package updates will be built and tested +first on the AMD64 machines, pushed to the `staging` branch, and merged to the +`master` branch before pushing the new updates to the +[community repository](https://repo.aosc.io/). Then, the updates will be +organized into a task list and passed onto... usually me - owning machines from +most of the architectuers available, and having horribly strong patience (just +a boring personality, not praising myself by any means). Every week, ~500 new +package updates/fixes commits are committed to the `staging` branch, and ~200 +of them will be available to non-AMD64 ports (some simply can't be built, some +being `noarch` data packages that do not need to be rebuilt). And yes, they take +around ~3 times more in time expense to build despite the smaller number of +tasks. And yes, these machines working together at the same time makes it a +great cure to the Wisconsin winter, and a great tool for my roommate Tianhao Chai +to heat his milk and such (package building for the ports generally happens in +the weekends, a "good" period of time in a week by our definition). + + + +On the "hoping for more" part, we do accept device donations, and we (generally) +make guarantees on porting AOSC OS onto them. Icenowy Zheng, our ARM maintainer, +receives quite a quantity of devices from hardware manufactures due to her +exemplary work in "mainlining" (merging device supports and fixes into the +mainline Linux kernel) support for Allwinner (sunxi) devices - as you may have +seen multiple times on our news. I myself received a Nokia N900 phone from a +good friend of mine - knowing its potential and well maintainership by the +mainline kernel, I should be able to get AOSC OS running - and of course, +releasing images for it in a timely manner. + + + +And that sums up how the ports happens, and happens to be in the context of +AOSC OS development. If you are interested in donating devices or maintaining +a new port for AOSC OS (that will be really could you know...), please do find +us over at the #aosc IRC channel. + +— Mingcong Bai diff --git a/content/news/2017-01-07-on-aosc-os-ports.zh-cn.md b/content/news/2017-01-07-on-aosc-os-ports.zh-cn.md new file mode 100644 index 00000000..37f51cbd --- /dev/null +++ b/content/news/2017-01-07-on-aosc-os-ports.zh-cn.md @@ -0,0 +1,133 @@ +--- +categories: + - news +date: '2017-01-07' +important: false +title: On AOSC OS Ports... +--- + + +Just figured that some may be curious of how AOSC OS ports are done, so this +particular transmission will be dedicated to this matter. + +In case you haven't noticed yet (due to our puzzling download page), AOSC OS +currently has 7 architectural ports under active development: + +- AMD64/x86_64, your usual Intel/AMD PCs and servers (`amd64`). +- ARM, for your boards, tablets, phones, servers alike. + - ARMv7, 32-bit, hard-float, NEON (`armel`). + - ARMv8, 64-bit, AArch64 (`arm64`). +- MIPS, mainly for Imagination Technologies and Loongson devices. + - MIPS-II, 32-bit, o32 ABI (`mipsel`). + - MIPS64, 64-bit, MIPS64r2 ABI (`mips64el`). +- PowerPC, mainly for consumer-oriented Apple and AmigaONE desktops and laptops. + - PowerPC, 32-bit, big-endian (`powerpc`). + - PowerPC, 64-bit, big-endian, AltiVec (`ppc64`). + +And by AOSC OS design, these ports are all capable of running on mainline +kernels (well not yet for MIPS64el) and various desktop environments (while +some simply can't be built on some architecture yet, for example, Enlightenment +on PowerPC64 due to lack of LuaJIT support). But in most cases, all ports of +AOSC OS can be used with the same level of functionality, but with varying +performance outcomes. There are several reasons to this: + +- Plain performance deviations, you can't just expect a 15 year old Apple G4 to + perform as well as your modern Skylake desktop, can you? +- Optimization compromises, there are certain sacrifices we had to make for a + port to be (generally) universal for some particular architectures, for + example, we have given up AltiVec optimizations on our PowerPC 32-bit port, + so that our port can be run on older PowerPC processors like the 603e, 604e, + and the G3 (G4 is the first to come with AltiVec support). +- JIT, this is a painful one, and mostly reflecting on some lesser-known + architectures - JIT generally requires assembly support, which are lacking + for some architectures in some software projects, say, OpenJDK, which does not + yet have (or simply won't have in the forseeable future) JIT/Hotspot support + for MIPS32 and PowerPC 32-bit processors. + +Onto the workflow then. There is a rule among AOSC OS developers that, "there +shall be no port before devices exists" - some Linux distributions (go figure) +has lots of architectural ports, but sometimes no device is available for some +architectures. While it's all fine and good as a technical references on these +ports (in fact, we have learned a lot from Fedora and Gentoo, thank you both), +we as a tiny development effort simply can't afford to start a virtual port - +or "theoretical" port, let's say - this is precisely the reason why we haven't +jumped on to porting AOSC OS to RISC-V yet, but when the first boards of that +architecture debut, we will crack on with it. But anyways, if there exists a +device availabled for us to purchase by one of our developers, a port will be +started. Junde Yhi, long time AOSC contributor started his first venture of +porting AOSC OS with his purchase of a Loongson 3A R2 (3A2000C) desktop of +MIPS64el (MIPS 64-bit, little-endian) architecture, and it's truly an +interesting (and perhaps unfortunately, quirky) machine. + + + +The porting starts without actually doing the build, but with making "specs" for +the particular port. As AOSC OS, there isn't much room for varied system +designs, the work mostly comes to the optimization parameters and configuration +for the toolchain (we use GNU's tools, of course). In the case of MIPS64el, +Yhi spent roughly two weeks reading Loongson's compiler and optimizations +specifications - not that we are making a Loongson port, but SGI's workstations +are just... too much. At the end of the reading, a series of optimization +parameters, or flags are collected and put in as a part of some Autobuild3 +[updates](https://github.com/AOSC-Dev/autobuild3/compare/7271c3c26d9e3aca26454e1608d7acb2059be360...fbc87e53a1131e1e187b0716d54b79fe45c01de6). + + + +The next step would be to start reading and build along with the guides at +[Linux From Scratch](http://www.linuxformscratch.org/). The only difference we +make here is to change the triple to ours (in the case of MIPS64el, +`mips64el-aosc-linux-gnu`), and incorporating package management (`dpkg` in our +case) as soon as we could. With package management in place, it's time to start +building the [Core](https://github.com/AOSC-Dev/aosc-os-core/) (from `master` +of course), and debug through issues, committing changes and incorporating them +into the next release. Then it just flows down the stream to our main +[tree](https://github.com/AOSC-Dev/aosc-os-abbs/), where terrible stuff like +"stage-two-ing" (stripping out features for bootstrapping, and re-incorporating +new features when dependencies are available) and you guess it, more bugs, will +be found. But with enough packages available and tested, a new port of AOSC OS +will be available from the [downloads](https://aosc.io/os-download/) page. This +process can take anywhere from weeks to months (our fastest growing ports yet +are the PowerPC 32/64-bit ports, thanks to a powerful PowerMac G5 Quad, taking +only 5 weeks to have the Base, MATE, and XFCE variants available), depending on +the difficulty and fluidity of the porters. + + + +What's next then? Generally, maintaining and hoping for more. Maintaining ports +is a long enduring and often times tedious task. Given that our main port is +still the AMD64/x86_64 port, all new package updates will be built and tested +first on the AMD64 machines, pushed to the `staging` branch, and merged to the +`master` branch before pushing the new updates to the +[community repository](https://repo.aosc.io/). Then, the updates will be +organized into a task list and passed onto... usually me - owning machines from +most of the architectuers available, and having horribly strong patience (just +a boring personality, not praising myself by any means). Every week, ~500 new +package updates/fixes commits are committed to the `staging` branch, and ~200 +of them will be available to non-AMD64 ports (some simply can't be built, some +being `noarch` data packages that do not need to be rebuilt). And yes, they take +around ~3 times more in time expense to build despite the smaller number of +tasks. And yes, these machines working together at the same time makes it a +great cure to the Wisconsin winter, and a great tool for my roommate Tianhao Chai +to heat his milk and such (package building for the ports generally happens in +the weekends, a "good" period of time in a week by our definition). + + + +On the "hoping for more" part, we do accept device donations, and we (generally) +make guarantees on porting AOSC OS onto them. Icenowy Zheng, our ARM maintainer, +receives quite a quantity of devices from hardware manufactures due to her +exemplary work in "mainlining" (merging device supports and fixes into the +mainline Linux kernel) support for Allwinner (sunxi) devices - as you may have +seen multiple times on our news. I myself received a Nokia N900 phone from a +good friend of mine - knowing its potential and well maintainership by the +mainline kernel, I should be able to get AOSC OS running - and of course, +releasing images for it in a timely manner. + + + +And that sums up how the ports happens, and happens to be in the context of +AOSC OS development. If you are interested in donating devices or maintaining +a new port for AOSC OS (that will be really could you know...), please do find +us over at the #aosc IRC channel. + +— Mingcong Bai diff --git a/content/news/2017-01-26-new-package-additions-jan-25-2017.md b/content/news/2017-01-26-new-package-additions-jan-25-2017.md new file mode 100644 index 00000000..557a208c --- /dev/null +++ b/content/news/2017-01-26-new-package-additions-jan-25-2017.md @@ -0,0 +1,15 @@ +--- +categories: + - news +date: '2017-01-26' +important: false +title: 'New package additions: Jan. 25, 2017' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `lantern` - A free application that delivers fast, reliable and secure access to the open Internet. +- `pycharm` - Powerful Python IDE by JetBrains. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2017-01-26-new-package-additions-jan-25-2017.zh-cn.md b/content/news/2017-01-26-new-package-additions-jan-25-2017.zh-cn.md new file mode 100644 index 00000000..557a208c --- /dev/null +++ b/content/news/2017-01-26-new-package-additions-jan-25-2017.zh-cn.md @@ -0,0 +1,15 @@ +--- +categories: + - news +date: '2017-01-26' +important: false +title: 'New package additions: Jan. 25, 2017' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `lantern` - A free application that delivers fast, reliable and secure access to the open Internet. +- `pycharm` - Powerful Python IDE by JetBrains. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2017-02-06-dev-updates-issue-1-2017.md b/content/news/2017-02-06-dev-updates-issue-1-2017.md new file mode 100644 index 00000000..ab415250 --- /dev/null +++ b/content/news/2017-02-06-dev-updates-issue-1-2017.md @@ -0,0 +1,30 @@ +--- +categories: + - news +date: '2017-02-06' +important: false +title: 'Dev. Updates (Issue #1, 2017)' +--- + + +Here's a quick introduction to a new series of posts regarding AOSC OS development updates over a period of time (per one to two months) - a brief description about what we have done while nothing was posted on the Portal, and a look into the next period of time - what would we do, and what could you expect from us. + +What happened? +-------------- + +January is a month when most of our developers took a break from busy school work (winter break, whee), and the month when time allows for major changes to AOSC OS. In the past month, we have updated some major components of AOSC OS, including Python 3.6, OpenMPI 2.0, and Boost 1.63. All of these changes will definitely improve performance, and making work easier for developers using AOSC OS. Do keep in mind that these update required an extensive amount of rebuild due to ABI/API incompatibilities introduced with new versions of these components - do expect hundreds to thousands of package updates, and (unfortunately) some bugs introduced by our oversight. If you did happen to bump into a friendly (or not so friendly) bug, do report it to [us](https://github.com/AOSC-Dev/aosc-os-abbs/issues/). + +Progress was also made on the MIPS64 front, for which we have finished building a base system - it's ready to boot with full Systemd - when a Kernel is ready for Junde Yhi's Loongson 3A. But given time constraints in recent weeks, we could not guarantee a released tarball until summer break time (June, or July). + +What you could expect before Issue #2 +------------------------------------- + +In the coming month, we will push out a new series of tarballs (system releases) for the spring, which of course, will include the newest packages we could offer for each of our AOSC OS ports. Also, we will make another attempt on pushing out Live system releases with a functional and graphical installation program. + +On the question of ports, we are now armed with a bare-metal RISC-V rv32i toolchain, once we get our hands on a device, we should be able to start a new port (8th!) for AOSC OS - if not, we might have to start with RISC-V's official ISA emulator, [Spike](https://riscv.org/software-tools/risc-v-isa-simulator/). + +[WSAOSC](https://github.com/AOSC-Dev/WSAOSC) (Windows Subsystem for AOSC OS) will also start a complete rewrite, led by [Yi Rong](https://github.com/LER0ever), the original creator of the old installer written in Go language. More details will be posted when development restarts. + +--------------------------------------- + +And that's all for this issue of Dev. Update for AOSC OS, we will see you around in a bit. If you want to get in touch with us, please join our IRC channel at #aosc on irc.freenode.net. \ No newline at end of file diff --git a/content/news/2017-02-06-dev-updates-issue-1-2017.zh-cn.md b/content/news/2017-02-06-dev-updates-issue-1-2017.zh-cn.md new file mode 100644 index 00000000..ab415250 --- /dev/null +++ b/content/news/2017-02-06-dev-updates-issue-1-2017.zh-cn.md @@ -0,0 +1,30 @@ +--- +categories: + - news +date: '2017-02-06' +important: false +title: 'Dev. Updates (Issue #1, 2017)' +--- + + +Here's a quick introduction to a new series of posts regarding AOSC OS development updates over a period of time (per one to two months) - a brief description about what we have done while nothing was posted on the Portal, and a look into the next period of time - what would we do, and what could you expect from us. + +What happened? +-------------- + +January is a month when most of our developers took a break from busy school work (winter break, whee), and the month when time allows for major changes to AOSC OS. In the past month, we have updated some major components of AOSC OS, including Python 3.6, OpenMPI 2.0, and Boost 1.63. All of these changes will definitely improve performance, and making work easier for developers using AOSC OS. Do keep in mind that these update required an extensive amount of rebuild due to ABI/API incompatibilities introduced with new versions of these components - do expect hundreds to thousands of package updates, and (unfortunately) some bugs introduced by our oversight. If you did happen to bump into a friendly (or not so friendly) bug, do report it to [us](https://github.com/AOSC-Dev/aosc-os-abbs/issues/). + +Progress was also made on the MIPS64 front, for which we have finished building a base system - it's ready to boot with full Systemd - when a Kernel is ready for Junde Yhi's Loongson 3A. But given time constraints in recent weeks, we could not guarantee a released tarball until summer break time (June, or July). + +What you could expect before Issue #2 +------------------------------------- + +In the coming month, we will push out a new series of tarballs (system releases) for the spring, which of course, will include the newest packages we could offer for each of our AOSC OS ports. Also, we will make another attempt on pushing out Live system releases with a functional and graphical installation program. + +On the question of ports, we are now armed with a bare-metal RISC-V rv32i toolchain, once we get our hands on a device, we should be able to start a new port (8th!) for AOSC OS - if not, we might have to start with RISC-V's official ISA emulator, [Spike](https://riscv.org/software-tools/risc-v-isa-simulator/). + +[WSAOSC](https://github.com/AOSC-Dev/WSAOSC) (Windows Subsystem for AOSC OS) will also start a complete rewrite, led by [Yi Rong](https://github.com/LER0ever), the original creator of the old installer written in Go language. More details will be posted when development restarts. + +--------------------------------------- + +And that's all for this issue of Dev. Update for AOSC OS, we will see you around in a bit. If you want to get in touch with us, please join our IRC channel at #aosc on irc.freenode.net. \ No newline at end of file diff --git a/content/news/2017-02-06-new-package-additions-feb-6-2017.md b/content/news/2017-02-06-new-package-additions-feb-6-2017.md new file mode 100644 index 00000000..beb29676 --- /dev/null +++ b/content/news/2017-02-06-new-package-additions-feb-6-2017.md @@ -0,0 +1,60 @@ +--- +categories: + - news +date: '2017-02-06' +important: false +title: 'New package additions: Feb. 6, 2017' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `ariamaestosa` - Midi sequencer/editor with a user-friendly interface. +- `avidemux` - A simple free video editor. +- `binutils+cross-bm-rv32i` - Binutils for RISC-V rv32i subset bare metal build. +- `dgsh` - A Unix-style shell (based on bash) allowing the specification of pipelines with non-linear non-uniform operations. +- `dssi` - API for audio processing plugins & softsynths with UIs. +- `dssi-vst` - DSSI adapter for win32 VST plug-ins. +- `dunst` - Customizable and lightweight notification-daemon. +- `elixir` - A dynamic, functional meta-programming aware language. +- `epub2txt` - Utility to extract and format text from EPUB documents. +- `etl` - C++ STL complementory multiplatform template library. +- `fisherman` - A plugin manager for the Fish shell. +- `flite` - A lighweight speech synthesis engine. +- `gcc+cross-bm-rv32i` - GCC for bare metal RISC-V rv32i build. +- `gnome-web-photo` - Generate full-size image files and thumbnails from HTML files and web pages. +- `goocanvas-1` - A cairo canvas widget for GTK+ (version 1). +- `grumpy` - A Python to Go source code transcompiler and runtime. +- `kirigami2` - A QtQuick-based component set (version 2). +- `lincity-ng` - A city simulation game. +- `mapcrafter` - High performance minecraft map renderer. +- `newlib+cross-bm-rv32i` - newlib for RISC-V bare metal rv32i build. +- `perl-file-copy-recursive` - Perl extension for recursively copying files and directories. +- `perl-gnome2` - Perl binding for GNOME 2. +- `perl-gnome2-canvas` - Perl binding for libgnomecanvas. +- `perl-gnome2-vfs` - Perl binding for GNOME VFS. +- `perl-gnome2-wnck` - Perl binding for Window Navigator Construction Kit (GNOME 2). +- `perl-goo-canvas` - Perl binding for GooCanvas version 1. +- `perl-gtk2-appindicator` - Perl extension for libappindicator. +- `perl-gtk2-imageview` - Perl bindings to the GtkImageView image viewer widget. +- `perl-gtk2-unique` - Perl binding for libunique. +- `perl-html-form` - Class that represents an HTML form element. +- `perl-http-response-encoding` - Adds encoding to HTTP::Response. +- `perl-http-server-simple` - Lightweight HTTP server for Perl. +- `perl-proc-processtable` - Provides a consistent interface to process table information. +- `perl-proc-simple` - Launch and control background processes. +- `perl-sort-naturally` - Sort lexically, but sort numeral parts numerically. +- `perl-www-mechanize` - Automates web page form & link interaction. +- `perl-x11-protocol` - Raw interface to X Window System servers. +- `perl-x11-protocol-other` - Extra extesions for perl-x11-protocol +- `pngcrush` - An optimizer for PNG files. +- `qtvirtualkeyboard` - Qt virtual keyboard framework. +- `rosegarden` - A music composition and editing environment. +- `schedtool` - Query or alter a process' scheduling policy. +- `sdl-gfx` - SDL Graphic Primitives. +- `shutter` - A feature-rich screenshot tool. +- `synfig` - Professional vector animation program (tools only). +- `typescript` - A superset of JavaScript that compiles to clean JavaScript output. +- `zstd` - Fast real-time compression algorithm. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2017-02-06-new-package-additions-feb-6-2017.zh-cn.md b/content/news/2017-02-06-new-package-additions-feb-6-2017.zh-cn.md new file mode 100644 index 00000000..beb29676 --- /dev/null +++ b/content/news/2017-02-06-new-package-additions-feb-6-2017.zh-cn.md @@ -0,0 +1,60 @@ +--- +categories: + - news +date: '2017-02-06' +important: false +title: 'New package additions: Feb. 6, 2017' +--- + + +Per users' requests, we have added the following packages to our [community repository](https://repo.aosc.io/): + +- `ariamaestosa` - Midi sequencer/editor with a user-friendly interface. +- `avidemux` - A simple free video editor. +- `binutils+cross-bm-rv32i` - Binutils for RISC-V rv32i subset bare metal build. +- `dgsh` - A Unix-style shell (based on bash) allowing the specification of pipelines with non-linear non-uniform operations. +- `dssi` - API for audio processing plugins & softsynths with UIs. +- `dssi-vst` - DSSI adapter for win32 VST plug-ins. +- `dunst` - Customizable and lightweight notification-daemon. +- `elixir` - A dynamic, functional meta-programming aware language. +- `epub2txt` - Utility to extract and format text from EPUB documents. +- `etl` - C++ STL complementory multiplatform template library. +- `fisherman` - A plugin manager for the Fish shell. +- `flite` - A lighweight speech synthesis engine. +- `gcc+cross-bm-rv32i` - GCC for bare metal RISC-V rv32i build. +- `gnome-web-photo` - Generate full-size image files and thumbnails from HTML files and web pages. +- `goocanvas-1` - A cairo canvas widget for GTK+ (version 1). +- `grumpy` - A Python to Go source code transcompiler and runtime. +- `kirigami2` - A QtQuick-based component set (version 2). +- `lincity-ng` - A city simulation game. +- `mapcrafter` - High performance minecraft map renderer. +- `newlib+cross-bm-rv32i` - newlib for RISC-V bare metal rv32i build. +- `perl-file-copy-recursive` - Perl extension for recursively copying files and directories. +- `perl-gnome2` - Perl binding for GNOME 2. +- `perl-gnome2-canvas` - Perl binding for libgnomecanvas. +- `perl-gnome2-vfs` - Perl binding for GNOME VFS. +- `perl-gnome2-wnck` - Perl binding for Window Navigator Construction Kit (GNOME 2). +- `perl-goo-canvas` - Perl binding for GooCanvas version 1. +- `perl-gtk2-appindicator` - Perl extension for libappindicator. +- `perl-gtk2-imageview` - Perl bindings to the GtkImageView image viewer widget. +- `perl-gtk2-unique` - Perl binding for libunique. +- `perl-html-form` - Class that represents an HTML form element. +- `perl-http-response-encoding` - Adds encoding to HTTP::Response. +- `perl-http-server-simple` - Lightweight HTTP server for Perl. +- `perl-proc-processtable` - Provides a consistent interface to process table information. +- `perl-proc-simple` - Launch and control background processes. +- `perl-sort-naturally` - Sort lexically, but sort numeral parts numerically. +- `perl-www-mechanize` - Automates web page form & link interaction. +- `perl-x11-protocol` - Raw interface to X Window System servers. +- `perl-x11-protocol-other` - Extra extesions for perl-x11-protocol +- `pngcrush` - An optimizer for PNG files. +- `qtvirtualkeyboard` - Qt virtual keyboard framework. +- `rosegarden` - A music composition and editing environment. +- `schedtool` - Query or alter a process' scheduling policy. +- `sdl-gfx` - SDL Graphic Primitives. +- `shutter` - A feature-rich screenshot tool. +- `synfig` - Professional vector animation program (tools only). +- `typescript` - A superset of JavaScript that compiles to clean JavaScript output. +- `zstd` - Fast real-time compression algorithm. + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2017-02-08-core-42-is-here.md b/content/news/2017-02-08-core-42-is-here.md new file mode 100644 index 00000000..2fc25d08 --- /dev/null +++ b/content/news/2017-02-08-core-42-is-here.md @@ -0,0 +1,26 @@ +--- +categories: + - news +date: '2017-02-08' +important: false +title: Core 4.2 is here! +--- + + + + +Core 4.2 was just released as the latest feature update to the Core 4.0 series. With 4.2, we have updated virtually every single component in the Core, but more importantly, we have officially added support for the MIPS64 Little Endian architecture, currently maintained by [Junde Yhi](https://github.com/AOSC-Dev/lmy441900) (creation of build specifications, and package porting) and [Mingcong Bai](https://github.com/MingcongBai/) (package porting). + +What's more? You could expect, with Core 4.2: + +- Improved network performance. +- Security enhancements. +- Component updates. + +Core 4.2 is now readily available for the AMD64/x86_64 port of AOSC OS, updates for all other architectures will come in this upcoming weekend. + +Please note that Core 4.2 contains security updates, which were assigned with [AOSA-2017-0018](https://aosc.io/news/aosa-2017-0018-update-glibc) (for GNU C Library) and [AOSA-2017-0019](https://aosc.io/news/aosa-2017-0019-update-bash) (for Bash). Please update your AOSC OS with the newest Core at your earliest convenience! + +--------------------- + +For detailed description of changes made between Core 4.1 and 4.2, please checkout the full [changelog](https://github.com/AOSC-Dev/aosc-os-core/releases/tag/v4.2.0). diff --git a/content/news/2017-02-08-core-42-is-here.zh-cn.md b/content/news/2017-02-08-core-42-is-here.zh-cn.md new file mode 100644 index 00000000..1ea9cff3 --- /dev/null +++ b/content/news/2017-02-08-core-42-is-here.zh-cn.md @@ -0,0 +1,26 @@ +--- +categories: + - news +date: '2017-02-08' +important: false +title: Core 4.2 is here! +--- + + +![core-4.2](/assets/news/) + +Core 4.2 was just released as the latest feature update to the Core 4.0 series. With 4.2, we have updated virtually every single component in the Core, but more importantly, we have officially added support for the MIPS64 Little Endian architecture, currently maintained by [Junde Yhi](https://github.com/AOSC-Dev/lmy441900) (creation of build specifications, and package porting) and [Mingcong Bai](https://github.com/MingcongBai/) (package porting). + +What's more? You could expect, with Core 4.2: + +- Improved network performance. +- Security enhancements. +- Component updates. + +Core 4.2 is now readily available for the AMD64/x86_64 port of AOSC OS, updates for all other architectures will come in this upcoming weekend. + +Please note that Core 4.2 contains security updates, which were assigned with [AOSA-2017-0018](https://aosc.io/news/aosa-2017-0018-update-glibc) (for GNU C Library) and [AOSA-2017-0019](https://aosc.io/news/aosa-2017-0019-update-bash) (for Bash). Please update your AOSC OS with the newest Core at your earliest convenience! + +--------------------- + +For detailed description of changes made between Core 4.1 and 4.2, please checkout the full [changelog](https://github.com/AOSC-Dev/aosc-os-core/releases/tag/v4.2.0). diff --git a/content/news/2017-02-14-repository-key-expiration.md b/content/news/2017-02-14-repository-key-expiration.md new file mode 100644 index 00000000..87729ac1 --- /dev/null +++ b/content/news/2017-02-14-repository-key-expiration.md @@ -0,0 +1,36 @@ +--- +categories: + - news +date: '2017-02-14' +important: true +title: Repository key expiration! +--- + + +Let us start with an apologize - we messed up. Starting with AOSC OS2 back in early 2014, the repositories for AOSC OS were signed with a GPG key - it was a time when we had no idea about longterm maintainership - thus no plan, nor anticipation for the expiration of this GPG key on Valentine's Day of 2017. + +Although the problem has already been addressed for our source repository (with extra security enhancements), we do realize that some of you have already been running into issues trying to update your AOSC OS. It will be another two days before we could push out another batch of updates that addresses this issue directly - but you can still fix it yourself (albeit you can't even obtain an update for Apt now, as you can't update your system anyways). So here is how it goes: + +First, obtain a copy of our new GPG key. + + wget https://repo.aosc.io/pubkeys/repo/20170214-2y.gpg + +Then, remove the old key from the old storage. + + sudo rm -fv /etc/apt/trusted.gpg + +And finally, add the new key to the Apt key storage. + + sudo apt-key add 20170214-2y.gpg + +And you should be greeted with an "OK" message. Now, you are good to go again with the new keys on hand. + + sudo apt update + +But at the time of posting, you may not be able to update your system via our various mirrors, this is because our new signature was not yet synchronised with the mirrors. To workaround this issue temporarily, use `apt-gen-list` and select our source server again - it might be slower in certain areas, but it gets the job done. + + sudo apt-gen-list -e "40-source" + +Then, as usual. + + sudo apt update \ No newline at end of file diff --git a/content/news/2017-02-14-repository-key-expiration.zh-cn.md b/content/news/2017-02-14-repository-key-expiration.zh-cn.md new file mode 100644 index 00000000..87729ac1 --- /dev/null +++ b/content/news/2017-02-14-repository-key-expiration.zh-cn.md @@ -0,0 +1,36 @@ +--- +categories: + - news +date: '2017-02-14' +important: true +title: Repository key expiration! +--- + + +Let us start with an apologize - we messed up. Starting with AOSC OS2 back in early 2014, the repositories for AOSC OS were signed with a GPG key - it was a time when we had no idea about longterm maintainership - thus no plan, nor anticipation for the expiration of this GPG key on Valentine's Day of 2017. + +Although the problem has already been addressed for our source repository (with extra security enhancements), we do realize that some of you have already been running into issues trying to update your AOSC OS. It will be another two days before we could push out another batch of updates that addresses this issue directly - but you can still fix it yourself (albeit you can't even obtain an update for Apt now, as you can't update your system anyways). So here is how it goes: + +First, obtain a copy of our new GPG key. + + wget https://repo.aosc.io/pubkeys/repo/20170214-2y.gpg + +Then, remove the old key from the old storage. + + sudo rm -fv /etc/apt/trusted.gpg + +And finally, add the new key to the Apt key storage. + + sudo apt-key add 20170214-2y.gpg + +And you should be greeted with an "OK" message. Now, you are good to go again with the new keys on hand. + + sudo apt update + +But at the time of posting, you may not be able to update your system via our various mirrors, this is because our new signature was not yet synchronised with the mirrors. To workaround this issue temporarily, use `apt-gen-list` and select our source server again - it might be slower in certain areas, but it gets the job done. + + sudo apt-gen-list -e "40-source" + +Then, as usual. + + sudo apt update \ No newline at end of file diff --git a/content/news/2017-03-04-spring-distribution-updates.md b/content/news/2017-03-04-spring-distribution-updates.md new file mode 100644 index 00000000..e4fdb516 --- /dev/null +++ b/content/news/2017-03-04-spring-distribution-updates.md @@ -0,0 +1,36 @@ +--- +categories: + - news +date: '2017-03-04' +important: false +title: Spring Distribution Updates! +--- + + +Another batch of tarballs are now available for AOSC OS, available to users of the AMD64, ARMv7, ARMv8/AArch64, PowerPC 32/64-bit Big Endian ports. As usual, they contain the newest packages available for AOSC OS, along with some enhancements, changes, and additions: + +- New variants, Budgie and i3wm. +- The `root` user is now locked down by default, but you may still enable the `root` user by setting a password for `root`, check out our new [installation guide](https://github.com/AOSC-Dev/aosc-os/wiki) for more information. +- AMD Ryzen support is available (Kernel 4.9.11). + +---------------------------- + +Here below is the default look to the AOSC OS i3wm variant, powered by the i3 window manager, Conky, and i3blocks - a configuration based on Manjaro's i3 edition. This is our first i3wm distribution, so this release may still contain some inconsistency and shortcomings in design - tell us what you think! + +![i3wm-desktop](/assets/news/de-preview/i3wm/thumbs/1.png.jpg) + +Budgie, the "flagship" desktop environment of the [Solus Project](https://solus-project.com/) - this is their own take on the GNOME desktop experience. + +![budgie-desktop](/assets/news/de-preview/budgie/thumbs/4.png.jpg) + +Neofetch is now installed with every AOSC OS distribution to provide you with some basic system information - and a chance to show off your distro! + +![neofetch](/assets/news/de-preview/lxde/thumbs/7.png.jpg) + +---------------------------- + +You might have noticed that tarballs for MIPS32 are not updated yet, this is because we are currently working on the Kernel port for MIPS32 - and it didn't happen in time for this wave of updates - we will be releasing updates for MIPS32, along with MIPS64, with full mainline Kernel support on Loongson 2E, 2F, and 3A devices - as they are currently our principle target platform for these two ports (having said that, our MIPS ports are still **generic** and **not specific** to Loongson/Godson systems). + +---------------------------- + +Thanks for stopping by, and we wish you a good experience working with AOSC OS! diff --git a/content/news/2017-03-04-spring-distribution-updates.zh-cn.md b/content/news/2017-03-04-spring-distribution-updates.zh-cn.md new file mode 100644 index 00000000..e4fdb516 --- /dev/null +++ b/content/news/2017-03-04-spring-distribution-updates.zh-cn.md @@ -0,0 +1,36 @@ +--- +categories: + - news +date: '2017-03-04' +important: false +title: Spring Distribution Updates! +--- + + +Another batch of tarballs are now available for AOSC OS, available to users of the AMD64, ARMv7, ARMv8/AArch64, PowerPC 32/64-bit Big Endian ports. As usual, they contain the newest packages available for AOSC OS, along with some enhancements, changes, and additions: + +- New variants, Budgie and i3wm. +- The `root` user is now locked down by default, but you may still enable the `root` user by setting a password for `root`, check out our new [installation guide](https://github.com/AOSC-Dev/aosc-os/wiki) for more information. +- AMD Ryzen support is available (Kernel 4.9.11). + +---------------------------- + +Here below is the default look to the AOSC OS i3wm variant, powered by the i3 window manager, Conky, and i3blocks - a configuration based on Manjaro's i3 edition. This is our first i3wm distribution, so this release may still contain some inconsistency and shortcomings in design - tell us what you think! + +![i3wm-desktop](/assets/news/de-preview/i3wm/thumbs/1.png.jpg) + +Budgie, the "flagship" desktop environment of the [Solus Project](https://solus-project.com/) - this is their own take on the GNOME desktop experience. + +![budgie-desktop](/assets/news/de-preview/budgie/thumbs/4.png.jpg) + +Neofetch is now installed with every AOSC OS distribution to provide you with some basic system information - and a chance to show off your distro! + +![neofetch](/assets/news/de-preview/lxde/thumbs/7.png.jpg) + +---------------------------- + +You might have noticed that tarballs for MIPS32 are not updated yet, this is because we are currently working on the Kernel port for MIPS32 - and it didn't happen in time for this wave of updates - we will be releasing updates for MIPS32, along with MIPS64, with full mainline Kernel support on Loongson 2E, 2F, and 3A devices - as they are currently our principle target platform for these two ports (having said that, our MIPS ports are still **generic** and **not specific** to Loongson/Godson systems). + +---------------------------- + +Thanks for stopping by, and we wish you a good experience working with AOSC OS! diff --git a/content/news/2017-03-05-new-package-additions-mar-5th-2017.md b/content/news/2017-03-05-new-package-additions-mar-5th-2017.md new file mode 100644 index 00000000..e8a834bc --- /dev/null +++ b/content/news/2017-03-05-new-package-additions-mar-5th-2017.md @@ -0,0 +1,26 @@ +--- +categories: + - news +date: '2017-03-05' +important: false +title: 'New package additions: Mar 5th, 2017' +--- + + +Per users' requests, we have added a total of **169** packages to our [community repository](https://repo.aosc.io/) between today and our last new packages report ([Feb. 6th, 2017](https://aosc.io/news/new-package-additions-feb.-6-2017)). + +Some highlights include: + +- MXNET, Flexible and Efficient Library for Deep Learning. +- Powerline, A statusline plugin for various editors, shells, and desktops. +- QTractor, Audio/MIDI multi-track sequencer application written in C++ with the Qt framework. +- Sagemath, a integrated mathematics software system. +- SciPy, Open-source software for mathematics, science, and engineering. +- Tensorflow, Computation using data flow graphs for scalable machine learning. +- Torch7, A scientific computing framework for LuaJIT. + +A full list of packages added this time could be found [here](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/newpak/newpak-20170305.md). + +--------------------- + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2017-03-05-new-package-additions-mar-5th-2017.zh-cn.md b/content/news/2017-03-05-new-package-additions-mar-5th-2017.zh-cn.md new file mode 100644 index 00000000..e8a834bc --- /dev/null +++ b/content/news/2017-03-05-new-package-additions-mar-5th-2017.zh-cn.md @@ -0,0 +1,26 @@ +--- +categories: + - news +date: '2017-03-05' +important: false +title: 'New package additions: Mar 5th, 2017' +--- + + +Per users' requests, we have added a total of **169** packages to our [community repository](https://repo.aosc.io/) between today and our last new packages report ([Feb. 6th, 2017](https://aosc.io/news/new-package-additions-feb.-6-2017)). + +Some highlights include: + +- MXNET, Flexible and Efficient Library for Deep Learning. +- Powerline, A statusline plugin for various editors, shells, and desktops. +- QTractor, Audio/MIDI multi-track sequencer application written in C++ with the Qt framework. +- Sagemath, a integrated mathematics software system. +- SciPy, Open-source software for mathematics, science, and engineering. +- Tensorflow, Computation using data flow graphs for scalable machine learning. +- Torch7, A scientific computing framework for LuaJIT. + +A full list of packages added this time could be found [here](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/newpak/newpak-20170305.md). + +--------------------- + +To learn about how to request new packages for addition into our community repository, please check out our ["pakreq"](https://github.com/AOSC-Dev/aosc-os-abbs/blob/staging/CONTRIBUTING.md#hey-i-need-a-new-package) guide. Or simply shout out requests with `#pakreq` hashtag on our #aosc IRC channel, or on our Telegram group (joining information available on IRC). \ No newline at end of file diff --git a/content/news/2017-03-29-dev-updates-issue-2-2017.md b/content/news/2017-03-29-dev-updates-issue-2-2017.md new file mode 100644 index 00000000..1285f701 --- /dev/null +++ b/content/news/2017-03-29-dev-updates-issue-2-2017.md @@ -0,0 +1,39 @@ +--- +categories: + - news +date: '2017-03-29' +important: false +title: 'Dev. Updates (Issue #2, 2017)' +--- + + +March is approaching its end, and thus time for the second issue of AOSC development update. In general, this has been a relatively quiet period - for our developers are experiencing time constraints, things are recently picking up again so no worries. + +What happened with AOSC OS? +--------------------------- + +There have been general updates and security fixes for AOSC OS, but not to neglect the recent GNOME update. GNOME 3.24 is already made available by the time of writing. + +Our MIPS ports has gain extra care from Junde Yhi and Jiaxun Yang, our new developer. Jiaxun Yang has been able to fix the Silicon Motion display driver used by various YeeLoong laptop models - which should boost desktop performance significantly. Junde Yhi has been working on "mainline" or "standard" Kernels (mainline and long-term support flavours) for both the MIPS32el and MIPS64el ports, and they are both tested on Loongson devices running on 2E/2F/3A series processors. Junde Yhi has also said that we could be expecting GNOME 3.24 on MIPS64el in the coming month. Tarballs will be released for the two architectures in the coming month. + +Our ARM ports however, are experiencing a reduction in release line-up. Icenowy Zheng, our ARMv7 and ARMv8 maintainer has decided to drop a large amount of device-specific images - and now only releasing those tested by herself and community members - those images with no real world testing conducted are dropped. If you have an ARM device that you would like to run AOSC OS on, please get in contact with us at the `#aosc` channel on Freenode, or shoot an e-mail at Icenowy at `icenowy at aosc dot io`. + +Infrastructure changes +---------------------- + +Several website changes has been put in place since Issue #1: + +- The "People" page is added to the Community Portal to display our (current and historic) developers and contributors, where their homepages are showcased. +- AOSC WebMail, "Hermes" is now online, thanks to Howard Xiao, or ["dargasea"](https://github.com/dargasea) - this mail service is available to all AOSC developers and contributors. + +What you could expect before Issue #3 +------------------------------------- + +In the coming months, as AOSCC closes in, we will start to work on a feature list for AOSC OS Core 5, and begin preparation for AOSCC 2017 - which will be held in Guangzhou, in July of this year. + +There will be extra additions to our community infrastucture: + +- Package information site, currently worked on by Dingyuan Wang, or ["gumblex"](https://github.com/https://github.com/gumblex). +- Mirror status site, worked on by Xiaoxing Ye, or ["yexiaoxing"](https://github.com/yexiaoxing). + +But before which, we really don't have much else to tell you. So stay tuned for the third issue, and thanks for coming by. \ No newline at end of file diff --git a/content/news/2017-03-29-dev-updates-issue-2-2017.zh-cn.md b/content/news/2017-03-29-dev-updates-issue-2-2017.zh-cn.md new file mode 100644 index 00000000..1285f701 --- /dev/null +++ b/content/news/2017-03-29-dev-updates-issue-2-2017.zh-cn.md @@ -0,0 +1,39 @@ +--- +categories: + - news +date: '2017-03-29' +important: false +title: 'Dev. Updates (Issue #2, 2017)' +--- + + +March is approaching its end, and thus time for the second issue of AOSC development update. In general, this has been a relatively quiet period - for our developers are experiencing time constraints, things are recently picking up again so no worries. + +What happened with AOSC OS? +--------------------------- + +There have been general updates and security fixes for AOSC OS, but not to neglect the recent GNOME update. GNOME 3.24 is already made available by the time of writing. + +Our MIPS ports has gain extra care from Junde Yhi and Jiaxun Yang, our new developer. Jiaxun Yang has been able to fix the Silicon Motion display driver used by various YeeLoong laptop models - which should boost desktop performance significantly. Junde Yhi has been working on "mainline" or "standard" Kernels (mainline and long-term support flavours) for both the MIPS32el and MIPS64el ports, and they are both tested on Loongson devices running on 2E/2F/3A series processors. Junde Yhi has also said that we could be expecting GNOME 3.24 on MIPS64el in the coming month. Tarballs will be released for the two architectures in the coming month. + +Our ARM ports however, are experiencing a reduction in release line-up. Icenowy Zheng, our ARMv7 and ARMv8 maintainer has decided to drop a large amount of device-specific images - and now only releasing those tested by herself and community members - those images with no real world testing conducted are dropped. If you have an ARM device that you would like to run AOSC OS on, please get in contact with us at the `#aosc` channel on Freenode, or shoot an e-mail at Icenowy at `icenowy at aosc dot io`. + +Infrastructure changes +---------------------- + +Several website changes has been put in place since Issue #1: + +- The "People" page is added to the Community Portal to display our (current and historic) developers and contributors, where their homepages are showcased. +- AOSC WebMail, "Hermes" is now online, thanks to Howard Xiao, or ["dargasea"](https://github.com/dargasea) - this mail service is available to all AOSC developers and contributors. + +What you could expect before Issue #3 +------------------------------------- + +In the coming months, as AOSCC closes in, we will start to work on a feature list for AOSC OS Core 5, and begin preparation for AOSCC 2017 - which will be held in Guangzhou, in July of this year. + +There will be extra additions to our community infrastucture: + +- Package information site, currently worked on by Dingyuan Wang, or ["gumblex"](https://github.com/https://github.com/gumblex). +- Mirror status site, worked on by Xiaoxing Ye, or ["yexiaoxing"](https://github.com/yexiaoxing). + +But before which, we really don't have much else to tell you. So stay tuned for the third issue, and thanks for coming by. \ No newline at end of file diff --git a/content/news/2017-03-29-gnome-324-is-now-available.md b/content/news/2017-03-29-gnome-324-is-now-available.md new file mode 100644 index 00000000..81d7a433 --- /dev/null +++ b/content/news/2017-03-29-gnome-324-is-now-available.md @@ -0,0 +1,37 @@ +--- +categories: + - news +date: '2017-03-29' +important: false +title: GNOME 3.24 is Now Available! +--- + + +GNOME 3.24 was released on March 22nd, 2017 with a large amount of new features and fixes, and here below is a quick summary of changes brought in by the 3.24 release: + +- Night Light is now a part of GNOME 3.24, which reduces blue light emission from the screen after sun down, or during any time period specified by the user. +- A new application, GNOME Recipes is added to aid our great chefs with community created recipes. +- GNOME Builder, the IDE (Integrated Development Environment) for GNOME now has better integration with [Flatpak](http://flatpak.org/), a sandboxed application runtime for Linux. + +And here below are some things we are happy to notice with GNOME 3.24: + +- The applications menu animations are now observed to be slightly smoother. +- Simplified Chinese and Japanese localization have been greatly improved over 3.22, thanks to significant community effort put in to the 3.24 release. + +For a full list of changes brought in by GNOME 3.24, please read the GNOME [Release Notes](https://help.gnome.org/misc/release-notes/3.24/). + +--------------------------------------------- + +However, GNOME 3.24 is not without its issues. For now, we have experienced the following issues: + +- GNOME Software will crash (segmentation fault) when a package is installed - please avoid updating your AOSC OS with GNOME Software. +- When taking a screenshot of the "current window" on a system running proprietary NVIDIA graphics driver, you may experience colour mismatch issue (seems like blue and red colour values are swapped). +- Budgie will no longer function with the GNOME 3.24 update - and for they are -[rewriting Budgie with Qt](https://budgie-desktop.org/2017/01/25/kicking-off-budgie-11/), they have no intention on fixing Budgie for 3.24. We have already dropped the Budgie package from our repository, and the download for release tarball with Budgie desktop is no longer available. + +We are currently looking into these issues and we are committed to bring fixes to these issues to you as soon as possible. + +--------------------------------------------- + +![gnome-3.24](https://img.vim-cn.com/70/b9ae1d9eb5f083b17934a89b0d47041967c0cd.png) + +Enjoy! \ No newline at end of file diff --git a/content/news/2017-03-29-gnome-324-is-now-available.zh-cn.md b/content/news/2017-03-29-gnome-324-is-now-available.zh-cn.md new file mode 100644 index 00000000..81d7a433 --- /dev/null +++ b/content/news/2017-03-29-gnome-324-is-now-available.zh-cn.md @@ -0,0 +1,37 @@ +--- +categories: + - news +date: '2017-03-29' +important: false +title: GNOME 3.24 is Now Available! +--- + + +GNOME 3.24 was released on March 22nd, 2017 with a large amount of new features and fixes, and here below is a quick summary of changes brought in by the 3.24 release: + +- Night Light is now a part of GNOME 3.24, which reduces blue light emission from the screen after sun down, or during any time period specified by the user. +- A new application, GNOME Recipes is added to aid our great chefs with community created recipes. +- GNOME Builder, the IDE (Integrated Development Environment) for GNOME now has better integration with [Flatpak](http://flatpak.org/), a sandboxed application runtime for Linux. + +And here below are some things we are happy to notice with GNOME 3.24: + +- The applications menu animations are now observed to be slightly smoother. +- Simplified Chinese and Japanese localization have been greatly improved over 3.22, thanks to significant community effort put in to the 3.24 release. + +For a full list of changes brought in by GNOME 3.24, please read the GNOME [Release Notes](https://help.gnome.org/misc/release-notes/3.24/). + +--------------------------------------------- + +However, GNOME 3.24 is not without its issues. For now, we have experienced the following issues: + +- GNOME Software will crash (segmentation fault) when a package is installed - please avoid updating your AOSC OS with GNOME Software. +- When taking a screenshot of the "current window" on a system running proprietary NVIDIA graphics driver, you may experience colour mismatch issue (seems like blue and red colour values are swapped). +- Budgie will no longer function with the GNOME 3.24 update - and for they are -[rewriting Budgie with Qt](https://budgie-desktop.org/2017/01/25/kicking-off-budgie-11/), they have no intention on fixing Budgie for 3.24. We have already dropped the Budgie package from our repository, and the download for release tarball with Budgie desktop is no longer available. + +We are currently looking into these issues and we are committed to bring fixes to these issues to you as soon as possible. + +--------------------------------------------- + +![gnome-3.24](https://img.vim-cn.com/70/b9ae1d9eb5f083b17934a89b0d47041967c0cd.png) + +Enjoy! \ No newline at end of file diff --git a/content/news/2017-03-31-dev-updates-issue-21.md b/content/news/2017-03-31-dev-updates-issue-21.md new file mode 100644 index 00000000..3126cf4b --- /dev/null +++ b/content/news/2017-03-31-dev-updates-issue-21.md @@ -0,0 +1,87 @@ +--- +categories: + - news +date: '2017-03-31' +important: false +title: 'Dev. Updates Issue #2.1' +--- + + +**We screwed up a bit with the timing for this Dev. Update (LOL), the whole article below was intended for April Fools, and only for a laugh... Don't panic.** + +--------------------------------------- + +We know we've just released an issue of development update, but there was just too much going on in the past week that we feel obliged to tell you about them. There has been major changes in our community, and especially with AOSC OS. + +So what happened with AOSC OS? +--------------------------------------- + +### A new port! + +As users of modern technologies, we often times find ourselves looking back at our older devices and computers and thought, why not put AOSC OS on them and make them useful again? This exact thought has led to our PowerPC 32-bit port which runs on Apple Macintoshes with G3 processors - many of which more than 17 years old now. So here's what we did: We started a port to the Intel i486 architecture (and of course it runs on any newer Intel x86 compatible devices as a 32-bit system). + +You may be pleasantly surprised on how fast your 486DX4, Pentium, and Pentium II are when running AOSC OS. They all run XFCE4 just fine, with at least an ISA/VLB graphics card, you will be able to run it with desktop composition turned on (fancy shadows and all that jazz...). + +If we take a look at this screenshot of AOSC OS running on a Pentium 4 laptop (and of course, AOSC OS is blazing fast on it)... + +![pentium4-aosc-os](/assets/news/april-fools-2017.png) + +You may have noticed a website running with no window decoration or any form of toolbars, and a system property window from Windows Me (?!). Well, as most of our developers have experienced Microsoft Windows 98, a great operating system (albeit not free and open source, nor did it Respect Our Freedom™), we admired the idea of having a web page displayed right at the desktop so you could get to know the newest information online without relying on the complicated Conky... + +As for the system properties window, we have worked alongside some old dudes from the Windows Development Team to better integrate older Windows applications with AOSC OS. The integration was so great and complete that even these core Windows components could run and correctly identify themselves! Great huh? Be happy for us. + +### A Removed port... + +So far AOSC OS has been ported to various kinds of CPU architectures, but we have not enough people to maintain them. After extensive discussions, we plan to sell all our AMD64 devices in favour of a POWER8-based build farm - and thus deprecating support of AMD64 by the end of 2017. Instead, PPC64el and RV64g will be mainly supported. + +For those of you who uses AOSC OS on their AMD64 devices, please migrate to any other architectures we still support. There are things we had to give up for others to work better, and unfortunately AMD64 is one that has to go... + +New departments established in AOSC +--------------------------------------------- + +To better serve our community members, and to aid our development effort, we have decided to create the following community-run departments in... our community: + +- The Department of Justice for Developers Suffering From Pakreq Bombing +- The Department of Shocking News +- The Department on Attack of Fake News +- The Department of News and Social Media Synchronization +- The Department of Flying Toasters Observation and Preservation +- The Department of Editor Religious Management and Diplomatics + +On this note, we should all applaud for The Department of Shocking News, for their great efficiency in service since their establishment on yesterday. Richard Fortsworth Saltenfishery have produced a report on the heavy usage of unclosed parentheses in their chat history on the #aosc channel, and produced a lengthy paper titled "Shocking! And Here's the Reason Why AOSC Members Are Using Unclosed Parentheses in their Conversations...", and literally, the title is all that the paper contains, so you didn't miss anything here. + +Anthropoid Observational Study Center +------------------------------------- + +(Here below is a public service announcement from our community member Staph Zhang...) + +We are proud to announce that a new research center on anthropoids including great ape and human, is established with recent funding from n.s.f. + +### About AOSC + +The Anthropoid Observational Study Center advances science and health by providing access to data obtained from observation of anthropoids. Proudly supported by and fully integrated with the AOSC OS, we are the world's first observational study center that use computational resources to observe and obtain data from anthropoids, especially those with some fundamental knowledge of programming and Internet browsing. + +### AOSC and You + +As our valuable research participants, we welcome your input through using of our AOSC OS. As our valuable researchers, we also welcome you to use our AOSC OS to empower your researches through the use of the following software packages available: + +- NCBI ngs - Facilitates the use of Next-Generation Sequencing equipments that enables us to conduct Whole Genome Sequencing with reasonable cost. +- NCBI blast - Provided basic alignment functionalities between nucleotides and polypeptides. +- FlightGear Flight Simulator: For better observation on behavior changes of airborne anthropoids. +- Vim, Emacs, Nano, and Ed: Good tool to enable the anthropoids with ability to do programming to actually write programs. +- Clang: User-friendly compiler with extended grammatical check ability to help anthropoids to learn programming. + +### Legal Information + +This research has obtained prior approval through the Institutional Review Board of the Anthon Open Science Committee. + +AOSC Groceries and Pub! +----------------------------- + +To help our developers through their long days of packaging, localization, infrastructure, and chatting workloads, we have set up an online service for purchasing snacks and drinks - exclusively for our developers and contributors. Here below is a quick look at our menu: + +- Staphylococcus Aureus Chaw-Fun (4.99 Lunch/7.99 Dinner) +- Combustible Jelly Bowl (0.99 Lunch/0.02 Dinner) +- Willow Fish Soup (7.99 Lunch/12.99 Dinner) + +Developers and contributors rejoice, and enjoy your meals! diff --git a/content/news/2017-03-31-dev-updates-issue-21.zh-cn.md b/content/news/2017-03-31-dev-updates-issue-21.zh-cn.md new file mode 100644 index 00000000..3126cf4b --- /dev/null +++ b/content/news/2017-03-31-dev-updates-issue-21.zh-cn.md @@ -0,0 +1,87 @@ +--- +categories: + - news +date: '2017-03-31' +important: false +title: 'Dev. Updates Issue #2.1' +--- + + +**We screwed up a bit with the timing for this Dev. Update (LOL), the whole article below was intended for April Fools, and only for a laugh... Don't panic.** + +--------------------------------------- + +We know we've just released an issue of development update, but there was just too much going on in the past week that we feel obliged to tell you about them. There has been major changes in our community, and especially with AOSC OS. + +So what happened with AOSC OS? +--------------------------------------- + +### A new port! + +As users of modern technologies, we often times find ourselves looking back at our older devices and computers and thought, why not put AOSC OS on them and make them useful again? This exact thought has led to our PowerPC 32-bit port which runs on Apple Macintoshes with G3 processors - many of which more than 17 years old now. So here's what we did: We started a port to the Intel i486 architecture (and of course it runs on any newer Intel x86 compatible devices as a 32-bit system). + +You may be pleasantly surprised on how fast your 486DX4, Pentium, and Pentium II are when running AOSC OS. They all run XFCE4 just fine, with at least an ISA/VLB graphics card, you will be able to run it with desktop composition turned on (fancy shadows and all that jazz...). + +If we take a look at this screenshot of AOSC OS running on a Pentium 4 laptop (and of course, AOSC OS is blazing fast on it)... + +![pentium4-aosc-os](/assets/news/april-fools-2017.png) + +You may have noticed a website running with no window decoration or any form of toolbars, and a system property window from Windows Me (?!). Well, as most of our developers have experienced Microsoft Windows 98, a great operating system (albeit not free and open source, nor did it Respect Our Freedom™), we admired the idea of having a web page displayed right at the desktop so you could get to know the newest information online without relying on the complicated Conky... + +As for the system properties window, we have worked alongside some old dudes from the Windows Development Team to better integrate older Windows applications with AOSC OS. The integration was so great and complete that even these core Windows components could run and correctly identify themselves! Great huh? Be happy for us. + +### A Removed port... + +So far AOSC OS has been ported to various kinds of CPU architectures, but we have not enough people to maintain them. After extensive discussions, we plan to sell all our AMD64 devices in favour of a POWER8-based build farm - and thus deprecating support of AMD64 by the end of 2017. Instead, PPC64el and RV64g will be mainly supported. + +For those of you who uses AOSC OS on their AMD64 devices, please migrate to any other architectures we still support. There are things we had to give up for others to work better, and unfortunately AMD64 is one that has to go... + +New departments established in AOSC +--------------------------------------------- + +To better serve our community members, and to aid our development effort, we have decided to create the following community-run departments in... our community: + +- The Department of Justice for Developers Suffering From Pakreq Bombing +- The Department of Shocking News +- The Department on Attack of Fake News +- The Department of News and Social Media Synchronization +- The Department of Flying Toasters Observation and Preservation +- The Department of Editor Religious Management and Diplomatics + +On this note, we should all applaud for The Department of Shocking News, for their great efficiency in service since their establishment on yesterday. Richard Fortsworth Saltenfishery have produced a report on the heavy usage of unclosed parentheses in their chat history on the #aosc channel, and produced a lengthy paper titled "Shocking! And Here's the Reason Why AOSC Members Are Using Unclosed Parentheses in their Conversations...", and literally, the title is all that the paper contains, so you didn't miss anything here. + +Anthropoid Observational Study Center +------------------------------------- + +(Here below is a public service announcement from our community member Staph Zhang...) + +We are proud to announce that a new research center on anthropoids including great ape and human, is established with recent funding from n.s.f. + +### About AOSC + +The Anthropoid Observational Study Center advances science and health by providing access to data obtained from observation of anthropoids. Proudly supported by and fully integrated with the AOSC OS, we are the world's first observational study center that use computational resources to observe and obtain data from anthropoids, especially those with some fundamental knowledge of programming and Internet browsing. + +### AOSC and You + +As our valuable research participants, we welcome your input through using of our AOSC OS. As our valuable researchers, we also welcome you to use our AOSC OS to empower your researches through the use of the following software packages available: + +- NCBI ngs - Facilitates the use of Next-Generation Sequencing equipments that enables us to conduct Whole Genome Sequencing with reasonable cost. +- NCBI blast - Provided basic alignment functionalities between nucleotides and polypeptides. +- FlightGear Flight Simulator: For better observation on behavior changes of airborne anthropoids. +- Vim, Emacs, Nano, and Ed: Good tool to enable the anthropoids with ability to do programming to actually write programs. +- Clang: User-friendly compiler with extended grammatical check ability to help anthropoids to learn programming. + +### Legal Information + +This research has obtained prior approval through the Institutional Review Board of the Anthon Open Science Committee. + +AOSC Groceries and Pub! +----------------------------- + +To help our developers through their long days of packaging, localization, infrastructure, and chatting workloads, we have set up an online service for purchasing snacks and drinks - exclusively for our developers and contributors. Here below is a quick look at our menu: + +- Staphylococcus Aureus Chaw-Fun (4.99 Lunch/7.99 Dinner) +- Combustible Jelly Bowl (0.99 Lunch/0.02 Dinner) +- Willow Fish Soup (7.99 Lunch/12.99 Dinner) + +Developers and contributors rejoice, and enjoy your meals! diff --git a/content/news/2017-04-09-repository-de-dup-to-take-place-next-week.md b/content/news/2017-04-09-repository-de-dup-to-take-place-next-week.md new file mode 100644 index 00000000..245ba22e --- /dev/null +++ b/content/news/2017-04-09-repository-de-dup-to-take-place-next-week.md @@ -0,0 +1,16 @@ +--- +categories: + - news +date: '2017-04-09' +important: false +title: Repository De-Dup to Take Place Next Week +--- + + +Since 2014, our [community repository](https://repo.aosc.io/) has been growing in size due to our (essentially) permissive policy on keeping all old versions of all our packages. + +As we stand today, the repository is roughly 500GiB in size. This is abnormal even when considering all of our architectural ports, as Debian, **the** largest binary-based *nix distribution requires just over 1TiB in size. This continuing growth in repository size has brought storage challenges to both our mirror hosts and our own repository server. + +Therefore, it is decided that starting at **midnight of next Friday** (April 14th, UTC time) that we will be starting to remove all packages that are not the newest provided across **all architectures**. We expect this operation to be finished by the weekend of April 16th. + +Users (like you) should not be concerned about this operation, nor would impact your experience with AOSC OS. Removal of old packages only removes the possibility for developers to backtrack onto older revisions of a packages for comparative and regression testing. \ No newline at end of file diff --git a/content/news/2017-04-09-repository-de-dup-to-take-place-next-week.zh-cn.md b/content/news/2017-04-09-repository-de-dup-to-take-place-next-week.zh-cn.md new file mode 100644 index 00000000..245ba22e --- /dev/null +++ b/content/news/2017-04-09-repository-de-dup-to-take-place-next-week.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - news +date: '2017-04-09' +important: false +title: Repository De-Dup to Take Place Next Week +--- + + +Since 2014, our [community repository](https://repo.aosc.io/) has been growing in size due to our (essentially) permissive policy on keeping all old versions of all our packages. + +As we stand today, the repository is roughly 500GiB in size. This is abnormal even when considering all of our architectural ports, as Debian, **the** largest binary-based *nix distribution requires just over 1TiB in size. This continuing growth in repository size has brought storage challenges to both our mirror hosts and our own repository server. + +Therefore, it is decided that starting at **midnight of next Friday** (April 14th, UTC time) that we will be starting to remove all packages that are not the newest provided across **all architectures**. We expect this operation to be finished by the weekend of April 16th. + +Users (like you) should not be concerned about this operation, nor would impact your experience with AOSC OS. Removal of old packages only removes the possibility for developers to backtrack onto older revisions of a packages for comparative and regression testing. \ No newline at end of file diff --git a/content/news/2017-04-10-firmware-package-split.md b/content/news/2017-04-10-firmware-package-split.md new file mode 100644 index 00000000..61f2b915 --- /dev/null +++ b/content/news/2017-04-10-firmware-package-split.md @@ -0,0 +1,14 @@ +--- +categories: + - news +date: '2017-04-10' +important: true +title: Firmware Package Split +--- + + +With today's newest changes to AOSC OS packages, we have decided to split the `firmware-nonfree` package to free and non-free portions, with the `firmware-nonfree` packages (pre-installed with any system release) containing **only** non-free firmware files, and a new `firmware-free` package containing "free" firmware files. + +A normal system upgrade may not install the new `firmware-free` package automatically. If you started encountering issues regarding missing firmware after you upgraded your system, please check if you have installed `firmware-free`. + +Both packages will be pre-installed with future system releases. \ No newline at end of file diff --git a/content/news/2017-04-10-firmware-package-split.zh-cn.md b/content/news/2017-04-10-firmware-package-split.zh-cn.md new file mode 100644 index 00000000..61f2b915 --- /dev/null +++ b/content/news/2017-04-10-firmware-package-split.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - news +date: '2017-04-10' +important: true +title: Firmware Package Split +--- + + +With today's newest changes to AOSC OS packages, we have decided to split the `firmware-nonfree` package to free and non-free portions, with the `firmware-nonfree` packages (pre-installed with any system release) containing **only** non-free firmware files, and a new `firmware-free` package containing "free" firmware files. + +A normal system upgrade may not install the new `firmware-free` package automatically. If you started encountering issues regarding missing firmware after you upgraded your system, please check if you have installed `firmware-free`. + +Both packages will be pre-installed with future system releases. \ No newline at end of file diff --git a/content/news/2017-04-15-aarch64arm64-images-update-for-allwinner-devices.md b/content/news/2017-04-15-aarch64arm64-images-update-for-allwinner-devices.md new file mode 100644 index 00000000..c149037c --- /dev/null +++ b/content/news/2017-04-15-aarch64arm64-images-update-for-allwinner-devices.md @@ -0,0 +1,15 @@ +--- +categories: + - news +date: '2017-04-15' +important: false +title: AArch64/ARM64 Images Update for Allwinner Devices +--- + + +Icenowy Zheng has recently uploaded a new batch of AArch64/ARM64 SD card images for compatible Allwinner devices, with Linux Kernel Updated to `4.11-rc6`. Along with the Kernel update, two new devices are now supported: + +- Xunlong Orange Pi Prime +- FriendlyARM Nano Pi NEO2 + +Please head over to the [download](https://aosc.io/os-download/) page for more downloads and more information. \ No newline at end of file diff --git a/content/news/2017-04-15-aarch64arm64-images-update-for-allwinner-devices.zh-cn.md b/content/news/2017-04-15-aarch64arm64-images-update-for-allwinner-devices.zh-cn.md new file mode 100644 index 00000000..c149037c --- /dev/null +++ b/content/news/2017-04-15-aarch64arm64-images-update-for-allwinner-devices.zh-cn.md @@ -0,0 +1,15 @@ +--- +categories: + - news +date: '2017-04-15' +important: false +title: AArch64/ARM64 Images Update for Allwinner Devices +--- + + +Icenowy Zheng has recently uploaded a new batch of AArch64/ARM64 SD card images for compatible Allwinner devices, with Linux Kernel Updated to `4.11-rc6`. Along with the Kernel update, two new devices are now supported: + +- Xunlong Orange Pi Prime +- FriendlyARM Nano Pi NEO2 + +Please head over to the [download](https://aosc.io/os-download/) page for more downloads and more information. \ No newline at end of file diff --git a/content/news/2017-04-15-repository-de-dup-complete.md b/content/news/2017-04-15-repository-de-dup-complete.md new file mode 100644 index 00000000..407dbc44 --- /dev/null +++ b/content/news/2017-04-15-repository-de-dup-complete.md @@ -0,0 +1,20 @@ +--- +categories: + - news +date: '2017-04-15' +important: false +title: Repository De-Dup Complete +--- + + +As mentioned in the [announcement](https://aosc.io/news/6347-repository-de-dup-to-take-place-next-week) last week, a repository de-duplication (removing old version s of all packages in the repository) is planned for this weekend - and now, the process is complete. + +Ideally, as an user who regularly updates their copy of AOSC OS, they would/should not notice the changes taken place this weekend. But we do anticipate removals of some packages may lead to dependency issues, and that our bulk removal of files on the repository server may cause error on our mirror partners (due to `rsync`'s delete threshold, or `--max-delete` settings). + +If unfortunately you run into issue with updating or installing packages, please first try and switch to our source server... + +``` +sudo apt-gen-list -e "40-source" +``` + +And contact us at the IRC channel `#aosc` to report this incident - we will then try and get into contact with our mirror servers to solve the issue. \ No newline at end of file diff --git a/content/news/2017-04-15-repository-de-dup-complete.zh-cn.md b/content/news/2017-04-15-repository-de-dup-complete.zh-cn.md new file mode 100644 index 00000000..407dbc44 --- /dev/null +++ b/content/news/2017-04-15-repository-de-dup-complete.zh-cn.md @@ -0,0 +1,20 @@ +--- +categories: + - news +date: '2017-04-15' +important: false +title: Repository De-Dup Complete +--- + + +As mentioned in the [announcement](https://aosc.io/news/6347-repository-de-dup-to-take-place-next-week) last week, a repository de-duplication (removing old version s of all packages in the repository) is planned for this weekend - and now, the process is complete. + +Ideally, as an user who regularly updates their copy of AOSC OS, they would/should not notice the changes taken place this weekend. But we do anticipate removals of some packages may lead to dependency issues, and that our bulk removal of files on the repository server may cause error on our mirror partners (due to `rsync`'s delete threshold, or `--max-delete` settings). + +If unfortunately you run into issue with updating or installing packages, please first try and switch to our source server... + +``` +sudo apt-gen-list -e "40-source" +``` + +And contact us at the IRC channel `#aosc` to report this incident - we will then try and get into contact with our mirror servers to solve the issue. \ No newline at end of file diff --git a/content/news/2017-04-17-manual-input-needed-with-upcoming-iana-etc-update.md b/content/news/2017-04-17-manual-input-needed-with-upcoming-iana-etc-update.md new file mode 100644 index 00000000..fe6bfe10 --- /dev/null +++ b/content/news/2017-04-17-manual-input-needed-with-upcoming-iana-etc-update.md @@ -0,0 +1,14 @@ +--- +categories: + - news +date: '2017-04-17' +important: true +title: Manual Input Needed with Upcoming iana-etc Update +--- + + +A recent change to the `iana-etc` package has addressed an issue where it could be impossible to initiate `telnet` connections on AOSC OS. + +However, the file `/etc/services` - contained within `iana-etc` has been marked as a configuration file, therefore, `DPKG` could ask if the file should be replaced with the one provided with the package (which contain the fix to this issue). Please choose "Yes", or press the `i` key when prompted. + +We apologize for your inconvenience. \ No newline at end of file diff --git a/content/news/2017-04-17-manual-input-needed-with-upcoming-iana-etc-update.zh-cn.md b/content/news/2017-04-17-manual-input-needed-with-upcoming-iana-etc-update.zh-cn.md new file mode 100644 index 00000000..fe6bfe10 --- /dev/null +++ b/content/news/2017-04-17-manual-input-needed-with-upcoming-iana-etc-update.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - news +date: '2017-04-17' +important: true +title: Manual Input Needed with Upcoming iana-etc Update +--- + + +A recent change to the `iana-etc` package has addressed an issue where it could be impossible to initiate `telnet` connections on AOSC OS. + +However, the file `/etc/services` - contained within `iana-etc` has been marked as a configuration file, therefore, `DPKG` could ask if the file should be replaced with the one provided with the package (which contain the fix to this issue). Please choose "Yes", or press the `i` key when prompted. + +We apologize for your inconvenience. \ No newline at end of file diff --git a/content/news/2017-04-29-updates-to-our-community-infrastructure.md b/content/news/2017-04-29-updates-to-our-community-infrastructure.md new file mode 100644 index 00000000..b7fbc593 --- /dev/null +++ b/content/news/2017-04-29-updates-to-our-community-infrastructure.md @@ -0,0 +1,38 @@ +--- +categories: + - news +date: '2017-04-29' +important: false +title: Updates to Our Community Infrastructure! +--- + + +With the hard work of our community infrastructure contributors, there are now two more services available for our community members: + +- [AOSC OS Packages](https://packages.aosc.io): A catalog of packages available for AOSC OS. +- [Mailing Lists](https://lists.aosc.io): Community mailing lists for discussions, advisories, and announcements. + +AOSC OS Packages +---------------- + +Thanks to Dingyuan Wang ([gumblex](https://aosc.io/people/~gumblex)) for creating this website. + +It should not take much explanation for our Packages site - as mentioned above, it is a catalog of AOSC OS packages - and you could now search for a particular package available to AOSC OS (or to find out if it's available yet), check on update status, and compare versions of a given package available to all our AOSC OS ports. + +Dingyuan Wang also mentioned that there will be a function where AOSC OS users could file package requests on the same website, making it easier for users and developers to check on request status. + +Mailing Lists +------------- + +Thanks to Sijie Bu ([butangmucat](https://aosc.io/people/~butangmucat)) for making this service available. + +Currently there are four mailing lists available, each dedicated to different functions... + +- [announcements@lists.aosc.io](https://lists.aosc.io/sympa/info/announcements): for community events and project-related announcements; broadcast only, read-only to subscribers. +- [discussions@lists.aosc.io](https://lists.aosc.io/sympa/info/discussions): for development discussions, questions, and suggestions; open to users and developers, subscription required. +- [mirrors@lists.aosc.io](https://lists.aosc.io/sympa/info/mirrors): announcements on maintenance and status of our mirrors; broadcast only, read-only to subscribers. +- [security@lists.aosc.io](https://lists.aosc.io/sympa/info/security): bulletin for security updates, CVEs, etc; broadcast only, read-only to subscribers. + +----------- + +If you have any questions, concerns, or suggestions to our community services and infrastructure, please pop a mail to our [discussions](mailto:discussions@lists.aosc.io) mailing list \ No newline at end of file diff --git a/content/news/2017-04-29-updates-to-our-community-infrastructure.zh-cn.md b/content/news/2017-04-29-updates-to-our-community-infrastructure.zh-cn.md new file mode 100644 index 00000000..b7fbc593 --- /dev/null +++ b/content/news/2017-04-29-updates-to-our-community-infrastructure.zh-cn.md @@ -0,0 +1,38 @@ +--- +categories: + - news +date: '2017-04-29' +important: false +title: Updates to Our Community Infrastructure! +--- + + +With the hard work of our community infrastructure contributors, there are now two more services available for our community members: + +- [AOSC OS Packages](https://packages.aosc.io): A catalog of packages available for AOSC OS. +- [Mailing Lists](https://lists.aosc.io): Community mailing lists for discussions, advisories, and announcements. + +AOSC OS Packages +---------------- + +Thanks to Dingyuan Wang ([gumblex](https://aosc.io/people/~gumblex)) for creating this website. + +It should not take much explanation for our Packages site - as mentioned above, it is a catalog of AOSC OS packages - and you could now search for a particular package available to AOSC OS (or to find out if it's available yet), check on update status, and compare versions of a given package available to all our AOSC OS ports. + +Dingyuan Wang also mentioned that there will be a function where AOSC OS users could file package requests on the same website, making it easier for users and developers to check on request status. + +Mailing Lists +------------- + +Thanks to Sijie Bu ([butangmucat](https://aosc.io/people/~butangmucat)) for making this service available. + +Currently there are four mailing lists available, each dedicated to different functions... + +- [announcements@lists.aosc.io](https://lists.aosc.io/sympa/info/announcements): for community events and project-related announcements; broadcast only, read-only to subscribers. +- [discussions@lists.aosc.io](https://lists.aosc.io/sympa/info/discussions): for development discussions, questions, and suggestions; open to users and developers, subscription required. +- [mirrors@lists.aosc.io](https://lists.aosc.io/sympa/info/mirrors): announcements on maintenance and status of our mirrors; broadcast only, read-only to subscribers. +- [security@lists.aosc.io](https://lists.aosc.io/sympa/info/security): bulletin for security updates, CVEs, etc; broadcast only, read-only to subscribers. + +----------- + +If you have any questions, concerns, or suggestions to our community services and infrastructure, please pop a mail to our [discussions](mailto:discussions@lists.aosc.io) mailing list \ No newline at end of file diff --git a/content/news/2017-05-05-cinnamon-34-now-available.md b/content/news/2017-05-05-cinnamon-34-now-available.md new file mode 100644 index 00000000..abc60557 --- /dev/null +++ b/content/news/2017-05-05-cinnamon-34-now-available.md @@ -0,0 +1,16 @@ +--- +categories: + - news +date: '2017-05-05' +important: false +title: Cinnamon 3.4 Now Available! +--- + + +Just a quick notice that Cinnamon 3.4 is now available in our community repository (along with the new Slick Greeter)! Here's a screenshot... + + + +-------- + +For more information on changes introduced with Cinnamon 3.4 please refer to this Linux Mint [blog post](http://blog.linuxmint.com/?p=3254). diff --git a/content/news/2017-05-05-cinnamon-34-now-available.zh-cn.md b/content/news/2017-05-05-cinnamon-34-now-available.zh-cn.md new file mode 100644 index 00000000..abc60557 --- /dev/null +++ b/content/news/2017-05-05-cinnamon-34-now-available.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - news +date: '2017-05-05' +important: false +title: Cinnamon 3.4 Now Available! +--- + + +Just a quick notice that Cinnamon 3.4 is now available in our community repository (along with the new Slick Greeter)! Here's a screenshot... + + + +-------- + +For more information on changes introduced with Cinnamon 3.4 please refer to this Linux Mint [blog post](http://blog.linuxmint.com/?p=3254). diff --git a/content/news/2017-06-07-core-422-fin.md b/content/news/2017-06-07-core-422-fin.md new file mode 100644 index 00000000..80def273 --- /dev/null +++ b/content/news/2017-06-07-core-422-fin.md @@ -0,0 +1,32 @@ +--- +categories: + - news +date: '2017-06-07' +important: false +title: 'Core 4.2.2: Fin.' +--- + + +With the release of Core 4.2.2, we have reached the end of the "Series 4" of AOSC OS Core. + +This point release updated Linux API Headers to version 4.11.3 in order to retain compatibility of the new Chromium/Google Chrome 59 browser - which contains a great deal of security updates/fixes. With July closing in, we are getting ready to unveil the collection of features and updates coming in Core "E" - our fifth Core release series - coming this summer. + +With the hint "E" - yes, we are about to start a call-for-codename for this new series of AOSC OS Core releases, we will vote for the next codename on the first day of AOSCC 2017 - details coming in the following week or so. + +Just a short announcement to tell you what's up with the new version - and moreover, to thank you for using AOSC OS and staying supportive of our development effort. + +-------- + +Core 4.2.2 is now available for `amd64` users, this update will come for `armel` (ARMv7) and `arm64` (ARMv8, AArch64) users in the coming week. + +For `mipsel` (MIPS-II), `mips64el` (MIPS64r2), `powerpc` (PowerPC 32-bit), `ppc64` (PowerPC 64-bit, big endian) users however... Please don't wait around, as none of these architectures will support the Chromium browser family, we have elected to skip this release. Core "E" will come in time, however, so look out for that! + +-------- + +Lastly, as we have no PowerPC device available for development at the moment, we have decided to suspend **all** updates - and that includes security updates - for both PowerPC architectures. + +We do apologise for the inconvenience and we would further recommend that you move away from AOSC OS for this summer, in our hope to keep you safe from cyberattacks and existing bugs. + +-------- + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2017-06-07-core-422-fin.zh-cn.md b/content/news/2017-06-07-core-422-fin.zh-cn.md new file mode 100644 index 00000000..80def273 --- /dev/null +++ b/content/news/2017-06-07-core-422-fin.zh-cn.md @@ -0,0 +1,32 @@ +--- +categories: + - news +date: '2017-06-07' +important: false +title: 'Core 4.2.2: Fin.' +--- + + +With the release of Core 4.2.2, we have reached the end of the "Series 4" of AOSC OS Core. + +This point release updated Linux API Headers to version 4.11.3 in order to retain compatibility of the new Chromium/Google Chrome 59 browser - which contains a great deal of security updates/fixes. With July closing in, we are getting ready to unveil the collection of features and updates coming in Core "E" - our fifth Core release series - coming this summer. + +With the hint "E" - yes, we are about to start a call-for-codename for this new series of AOSC OS Core releases, we will vote for the next codename on the first day of AOSCC 2017 - details coming in the following week or so. + +Just a short announcement to tell you what's up with the new version - and moreover, to thank you for using AOSC OS and staying supportive of our development effort. + +-------- + +Core 4.2.2 is now available for `amd64` users, this update will come for `armel` (ARMv7) and `arm64` (ARMv8, AArch64) users in the coming week. + +For `mipsel` (MIPS-II), `mips64el` (MIPS64r2), `powerpc` (PowerPC 32-bit), `ppc64` (PowerPC 64-bit, big endian) users however... Please don't wait around, as none of these architectures will support the Chromium browser family, we have elected to skip this release. Core "E" will come in time, however, so look out for that! + +-------- + +Lastly, as we have no PowerPC device available for development at the moment, we have decided to suspend **all** updates - and that includes security updates - for both PowerPC architectures. + +We do apologise for the inconvenience and we would further recommend that you move away from AOSC OS for this summer, in our hope to keep you safe from cyberattacks and existing bugs. + +-------- + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2017-06-14-aoscc-2017-now-up-for-sign-up.md b/content/news/2017-06-14-aoscc-2017-now-up-for-sign-up.md new file mode 100644 index 00000000..1e511b06 --- /dev/null +++ b/content/news/2017-06-14-aoscc-2017-now-up-for-sign-up.md @@ -0,0 +1,37 @@ +--- +categories: + - news +date: '2017-06-14' +important: false +title: AOSCC 2017 Now Up for Sign Up! +--- + + +After several months of hard work by our community members, we have finally settled on a venue and a date for this year's AOSCC, so... + +**Welcome to our 4th annual community gathering in Guangzhou, from July 14th to 16th!** + +AOSCC 2017's venue is generously sponsored by the +[Guangdong University of Technology](http://www.gdut.edu.cn/) on their +campus location at the H.E.M.C. (Higher Education Mega Center; 大学城). The gathering will take place in Experiment Building 4, Room 304(实验四号楼 304 +实验室), here are some maps to the location... + +- Google Maps +[→](https://www.google.com.sg/maps/place/Guangdong+University+of+Technology+Experiment+Building+4,+Panyu+Qu,+Guangzhou+Shi,+Guangdong+Sheng,+China/@23.0400275,113.3957348,16z/data=!4m5!3m4!1s0x3403aad94a278a3f:0xf2ebd2723d97b2f5!8m2!3d23.0378993!4d113.3997973?hl=en) +- Gaode Maps [→](https://gaode.com/search?query=%E4%B8%AD%E5%9B%BD%E5%B9%BF%E4%B8%9C%E7%9C%81%E5%B9%BF%E5%B7%9E%E5%B8%82%E7%95%AA%E7%A6%BA%E5%8C%BA%E5%B9%BF%E4%B8%9C%E5%B7%A5%E4%B8%9A%E5%A4%A7%E5%AD%A6%E5%AE%9E%E9%AA%8C%E5%9B%9B%E5%8F%B7%E6%A5%BC&city=110000&geoobj=116.302288%7C39.808925%7C116.618145%7C40.006178&zoom=12) + +-------- + +While we are still preparing for other documentations and details for the event, here's the information we are able to produce so far... + +- [README for AOSCC 2017 (Under Construction)](https://github.com/AOSC-Dev/aoscc/tree/master/2017) + +-------- + +Already made up your mind? Just sign up [here](https://survey.aosc.io/index.php/557612)! There's no need to provide your full name (though recommended) - it is **required** for all participants to sign up here so we could keep track on the amount of people coming, as this could be limited due to our venue. + +We could say at present that we could hold 50 at our venue, but this could go up if it ended up going above this amount. + +-------- + +**Again, please sign up [here](https://survey.aosc.io/index.php/557612).** \ No newline at end of file diff --git a/content/news/2017-06-14-aoscc-2017-now-up-for-sign-up.zh-cn.md b/content/news/2017-06-14-aoscc-2017-now-up-for-sign-up.zh-cn.md new file mode 100644 index 00000000..1e511b06 --- /dev/null +++ b/content/news/2017-06-14-aoscc-2017-now-up-for-sign-up.zh-cn.md @@ -0,0 +1,37 @@ +--- +categories: + - news +date: '2017-06-14' +important: false +title: AOSCC 2017 Now Up for Sign Up! +--- + + +After several months of hard work by our community members, we have finally settled on a venue and a date for this year's AOSCC, so... + +**Welcome to our 4th annual community gathering in Guangzhou, from July 14th to 16th!** + +AOSCC 2017's venue is generously sponsored by the +[Guangdong University of Technology](http://www.gdut.edu.cn/) on their +campus location at the H.E.M.C. (Higher Education Mega Center; 大学城). The gathering will take place in Experiment Building 4, Room 304(实验四号楼 304 +实验室), here are some maps to the location... + +- Google Maps +[→](https://www.google.com.sg/maps/place/Guangdong+University+of+Technology+Experiment+Building+4,+Panyu+Qu,+Guangzhou+Shi,+Guangdong+Sheng,+China/@23.0400275,113.3957348,16z/data=!4m5!3m4!1s0x3403aad94a278a3f:0xf2ebd2723d97b2f5!8m2!3d23.0378993!4d113.3997973?hl=en) +- Gaode Maps [→](https://gaode.com/search?query=%E4%B8%AD%E5%9B%BD%E5%B9%BF%E4%B8%9C%E7%9C%81%E5%B9%BF%E5%B7%9E%E5%B8%82%E7%95%AA%E7%A6%BA%E5%8C%BA%E5%B9%BF%E4%B8%9C%E5%B7%A5%E4%B8%9A%E5%A4%A7%E5%AD%A6%E5%AE%9E%E9%AA%8C%E5%9B%9B%E5%8F%B7%E6%A5%BC&city=110000&geoobj=116.302288%7C39.808925%7C116.618145%7C40.006178&zoom=12) + +-------- + +While we are still preparing for other documentations and details for the event, here's the information we are able to produce so far... + +- [README for AOSCC 2017 (Under Construction)](https://github.com/AOSC-Dev/aoscc/tree/master/2017) + +-------- + +Already made up your mind? Just sign up [here](https://survey.aosc.io/index.php/557612)! There's no need to provide your full name (though recommended) - it is **required** for all participants to sign up here so we could keep track on the amount of people coming, as this could be limited due to our venue. + +We could say at present that we could hold 50 at our venue, but this could go up if it ended up going above this amount. + +-------- + +**Again, please sign up [here](https://survey.aosc.io/index.php/557612).** \ No newline at end of file diff --git a/content/news/2017-06-14-zh_cn-localization-guide-154.md b/content/news/2017-06-14-zh_cn-localization-guide-154.md new file mode 100644 index 00000000..0f1e587a --- /dev/null +++ b/content/news/2017-06-14-zh_cn-localization-guide-154.md @@ -0,0 +1,16 @@ +--- +categories: + - news +date: '2017-06-14' +important: false +title: zh_CN Localization Guide 1.5.4 +--- + + +Just a quick announcement that version 1.5.4 of our zh_CN (Simplified Chinese, China) Localization Guide is released. + +This revision of the guide introduced a new section discussing the translation of Desktop Entry files (.desktop) files, more details could be found on the actual released document, [zh_CN L10n Guide, version 1.5.4](https://repo.aosc.io/aosc-l10n/zh_CN_l10n_1.5.4.pdf). + +-------- + +If you have any suggestions for future revisions or found any errors in our documentation, please report it [here](https://github.com/AOSC-Dev/translations/issues/new). \ No newline at end of file diff --git a/content/news/2017-06-14-zh_cn-localization-guide-154.zh-cn.md b/content/news/2017-06-14-zh_cn-localization-guide-154.zh-cn.md new file mode 100644 index 00000000..0f1e587a --- /dev/null +++ b/content/news/2017-06-14-zh_cn-localization-guide-154.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - news +date: '2017-06-14' +important: false +title: zh_CN Localization Guide 1.5.4 +--- + + +Just a quick announcement that version 1.5.4 of our zh_CN (Simplified Chinese, China) Localization Guide is released. + +This revision of the guide introduced a new section discussing the translation of Desktop Entry files (.desktop) files, more details could be found on the actual released document, [zh_CN L10n Guide, version 1.5.4](https://repo.aosc.io/aosc-l10n/zh_CN_l10n_1.5.4.pdf). + +-------- + +If you have any suggestions for future revisions or found any errors in our documentation, please report it [here](https://github.com/AOSC-Dev/translations/issues/new). \ No newline at end of file diff --git a/content/news/2017-06-30-dev-updates-issue-3-new-update-pattern.md b/content/news/2017-06-30-dev-updates-issue-3-new-update-pattern.md new file mode 100644 index 00000000..ab2494ec --- /dev/null +++ b/content/news/2017-06-30-dev-updates-issue-3-new-update-pattern.md @@ -0,0 +1,31 @@ +--- +categories: + - news +date: '2017-06-30' +important: false +title: 'Dev. Updates Issue #3: New Update Pattern!' +--- + + +In this special issue of Dev. Updates, we are presenting to you a new, monthly, and function defined update pattern for AOSC OS. With this change to update pattern, AOSC OS will be updated in a scheduled fashion, where: + +- Regular version/feature updates will be pushed by the last week of each month. +- Security updates will be pushed at availability. [^1] +- Bugfixes with severe damage to usability will be pushed at availability, similar to security updates. [^2] + +With that said, with July, you will not be receiving updates to your AOSC OS installation on a irregular basis (usually we aimed for a batch per week, but updates could had happened on a daily basis as well... essentially it was never planned or guaranteed), instead, we are expecting to ship the July wave of updates by around 28th - for all architectures/ports. But as aforementioned, security and important bugfix updates will be pushed as soon as they become available. + +What if I can wait though, you asked... Well, by our schedule, we are expected to finish all update packages by Day 20, and tests finished by Day 25 of each month (February could be a mess but we will see). That said, by Day 20 of each month, updates will be pushed to our testing repositories, details coming in the following weeks leading up to AOSCC. However, if you do mean serious business when using AOSC OS, you might want to steer clear of that - as packages could be overwritten without any version change, making it hard sometimes to manage your updates - not to mention all the potential bugs you may run into, as we haven't tested them yet when pushing all these fresh updates to the testing repositories. + +It should also be noted that general version or feature updates of all AOSC OS packages are collected and scheduled on the first day of each month, meaning that if a package has a new version to be released on July 2nd, it will be pushed with the August wave of updates - could be sad for some of you cutting-edge users, but we have our reasons not to go full Arch Linux, and here are our reasons... + +Firstly, with the introduction of multiple ports and noarch/data packages, updates across different AOSC OS ports could be asynchronous, meaning that some data packages - which is shared among all ports - could be unsuitable for one or more of the ports, as newer data packages could be unsuitable for older application/binary packages, and vice-versa. This was heavily exhibited in the past 6 months with our developers struggling to find time. + +Secondly, quality is king, while it's "cool" as a distribution to be able to push a new GNOME release set the week it's got released, the price could be steep as it might come with all manners of issue - introduced with upstream code or general oversight of our packagers - making it hard for work to be carried out on AOSC OS when a big batch of updates come untested. + +And lastly, this gives our developers more time (which is not in abundance as most of us are college students) to "improve" our packages, and not just updating them when an update is available - that is a general waste of time for us, and not exactly productive when it comes to improve user experience of AOSC OS. With more time on hand for handling updates and packaging, this could lead to a quality improvement, in general, to AOSC OS. + +So that's all we have for now, a quick heads up for our fellow AOSC OS users. Please enjoy the summer. + +[^1]: Unless the security update come in a form of a major update, which could potentially break its dependees. In which case you will be notified while we figure out a way to handle this issue. +[^2]: This means that if with a month's update, the package simply stopped working (which is unlikely given that we will be doing tests on them), or a date-sensitive application ceased to function - for example, `youtube-dl`, which relies constantly on newest protocols/routines to grab videos off websites. In that case, upon request, we will update the package(s) and make it (them) available as soon as possible. \ No newline at end of file diff --git a/content/news/2017-06-30-dev-updates-issue-3-new-update-pattern.zh-cn.md b/content/news/2017-06-30-dev-updates-issue-3-new-update-pattern.zh-cn.md new file mode 100644 index 00000000..ab2494ec --- /dev/null +++ b/content/news/2017-06-30-dev-updates-issue-3-new-update-pattern.zh-cn.md @@ -0,0 +1,31 @@ +--- +categories: + - news +date: '2017-06-30' +important: false +title: 'Dev. Updates Issue #3: New Update Pattern!' +--- + + +In this special issue of Dev. Updates, we are presenting to you a new, monthly, and function defined update pattern for AOSC OS. With this change to update pattern, AOSC OS will be updated in a scheduled fashion, where: + +- Regular version/feature updates will be pushed by the last week of each month. +- Security updates will be pushed at availability. [^1] +- Bugfixes with severe damage to usability will be pushed at availability, similar to security updates. [^2] + +With that said, with July, you will not be receiving updates to your AOSC OS installation on a irregular basis (usually we aimed for a batch per week, but updates could had happened on a daily basis as well... essentially it was never planned or guaranteed), instead, we are expecting to ship the July wave of updates by around 28th - for all architectures/ports. But as aforementioned, security and important bugfix updates will be pushed as soon as they become available. + +What if I can wait though, you asked... Well, by our schedule, we are expected to finish all update packages by Day 20, and tests finished by Day 25 of each month (February could be a mess but we will see). That said, by Day 20 of each month, updates will be pushed to our testing repositories, details coming in the following weeks leading up to AOSCC. However, if you do mean serious business when using AOSC OS, you might want to steer clear of that - as packages could be overwritten without any version change, making it hard sometimes to manage your updates - not to mention all the potential bugs you may run into, as we haven't tested them yet when pushing all these fresh updates to the testing repositories. + +It should also be noted that general version or feature updates of all AOSC OS packages are collected and scheduled on the first day of each month, meaning that if a package has a new version to be released on July 2nd, it will be pushed with the August wave of updates - could be sad for some of you cutting-edge users, but we have our reasons not to go full Arch Linux, and here are our reasons... + +Firstly, with the introduction of multiple ports and noarch/data packages, updates across different AOSC OS ports could be asynchronous, meaning that some data packages - which is shared among all ports - could be unsuitable for one or more of the ports, as newer data packages could be unsuitable for older application/binary packages, and vice-versa. This was heavily exhibited in the past 6 months with our developers struggling to find time. + +Secondly, quality is king, while it's "cool" as a distribution to be able to push a new GNOME release set the week it's got released, the price could be steep as it might come with all manners of issue - introduced with upstream code or general oversight of our packagers - making it hard for work to be carried out on AOSC OS when a big batch of updates come untested. + +And lastly, this gives our developers more time (which is not in abundance as most of us are college students) to "improve" our packages, and not just updating them when an update is available - that is a general waste of time for us, and not exactly productive when it comes to improve user experience of AOSC OS. With more time on hand for handling updates and packaging, this could lead to a quality improvement, in general, to AOSC OS. + +So that's all we have for now, a quick heads up for our fellow AOSC OS users. Please enjoy the summer. + +[^1]: Unless the security update come in a form of a major update, which could potentially break its dependees. In which case you will be notified while we figure out a way to handle this issue. +[^2]: This means that if with a month's update, the package simply stopped working (which is unlikely given that we will be doing tests on them), or a date-sensitive application ceased to function - for example, `youtube-dl`, which relies constantly on newest protocols/routines to grab videos off websites. In that case, upon request, we will update the package(s) and make it (them) available as soon as possible. \ No newline at end of file diff --git a/content/news/2017-07-11-aoscc-2017-schedule-sponsors-and-count-down.md b/content/news/2017-07-11-aoscc-2017-schedule-sponsors-and-count-down.md new file mode 100644 index 00000000..a7bc3b46 --- /dev/null +++ b/content/news/2017-07-11-aoscc-2017-schedule-sponsors-and-count-down.md @@ -0,0 +1,42 @@ +--- +categories: + - news +date: '2017-07-11' +important: false +title: AOSCC 2017 Schedule, Sponsors, and Count Down! +--- + + +This year's AOSCC is imminent. In about three day's time (July 14th to 16th), community developers and friends will gather in Guangzhou to discuss the past year and plan for the next. This will be followed by free talks in which community members shares their experience with working for F/OSS projects and skills with using them. + +-------- + +We are happy to announce that our AOSCC schedule is now final! As usual, AOSCC 2017 will be a three-day event... + +- Day 1: Community project and progression reports, planning, polls. +- Day 2: Project and progression report, and free talks. +- Day 3: Community project workshops. + +For detailed schedules in multiple languages, please check out the links below... + +- [English](https://github.com/AOSC-Dev/aoscc/blob/master/2017/README.md#schedule) +- [简体中文](https://github.com/AOSC-Dev/aoscc/blob/master/2017/README_zhCN.md#日程) +- [正體中文](https://github.com/AOSC-Dev/aoscc/blob/master/2017/README_zhTW.md#日程) + +Please do stay the whole way though, as we will be voting for the meet-up location next year, codename for AOSC OS Core 5; not to mention lucky dips on Day 1 and Day 2, thanks to our sponsors (listed below). + +What would happen on Day 3 then, you might be wondering? The last day of AOSCC will be a day of workshop, here's a list of topics/activities we have planned, everyone's free to join us to learn and practice some new skills! + +- Integration of Ciel into AOSC OS development workflow (Lion Yang). +- Introduction to AOSC OS packaging (Mingcong Bai). +- Working with ARM devices, mainlining and more (Icenowy Zheng). + +-------- + +AOSCC 2017 will not be possible without the generous sponsorship of our friends... + +- Venue: [Electronic Engineering Club of Guangdong University of Technology](http://www.gdut.edu.cn/). +- Day 1 Lucky Dip: [Staph Zhang](https://github.com/StephDC). +- Day 2 Lucky Dip: [Banana Pi Community (CN)](https://www.banana-pi.org.cn). + +Again, a big thank you for your help! diff --git a/content/news/2017-07-11-aoscc-2017-schedule-sponsors-and-count-down.zh-cn.md b/content/news/2017-07-11-aoscc-2017-schedule-sponsors-and-count-down.zh-cn.md new file mode 100644 index 00000000..a7bc3b46 --- /dev/null +++ b/content/news/2017-07-11-aoscc-2017-schedule-sponsors-and-count-down.zh-cn.md @@ -0,0 +1,42 @@ +--- +categories: + - news +date: '2017-07-11' +important: false +title: AOSCC 2017 Schedule, Sponsors, and Count Down! +--- + + +This year's AOSCC is imminent. In about three day's time (July 14th to 16th), community developers and friends will gather in Guangzhou to discuss the past year and plan for the next. This will be followed by free talks in which community members shares their experience with working for F/OSS projects and skills with using them. + +-------- + +We are happy to announce that our AOSCC schedule is now final! As usual, AOSCC 2017 will be a three-day event... + +- Day 1: Community project and progression reports, planning, polls. +- Day 2: Project and progression report, and free talks. +- Day 3: Community project workshops. + +For detailed schedules in multiple languages, please check out the links below... + +- [English](https://github.com/AOSC-Dev/aoscc/blob/master/2017/README.md#schedule) +- [简体中文](https://github.com/AOSC-Dev/aoscc/blob/master/2017/README_zhCN.md#日程) +- [正體中文](https://github.com/AOSC-Dev/aoscc/blob/master/2017/README_zhTW.md#日程) + +Please do stay the whole way though, as we will be voting for the meet-up location next year, codename for AOSC OS Core 5; not to mention lucky dips on Day 1 and Day 2, thanks to our sponsors (listed below). + +What would happen on Day 3 then, you might be wondering? The last day of AOSCC will be a day of workshop, here's a list of topics/activities we have planned, everyone's free to join us to learn and practice some new skills! + +- Integration of Ciel into AOSC OS development workflow (Lion Yang). +- Introduction to AOSC OS packaging (Mingcong Bai). +- Working with ARM devices, mainlining and more (Icenowy Zheng). + +-------- + +AOSCC 2017 will not be possible without the generous sponsorship of our friends... + +- Venue: [Electronic Engineering Club of Guangdong University of Technology](http://www.gdut.edu.cn/). +- Day 1 Lucky Dip: [Staph Zhang](https://github.com/StephDC). +- Day 2 Lucky Dip: [Banana Pi Community (CN)](https://www.banana-pi.org.cn). + +Again, a big thank you for your help! diff --git a/content/news/2017-07-13-its-happening.md b/content/news/2017-07-13-its-happening.md new file mode 100644 index 00000000..b7efd34a --- /dev/null +++ b/content/news/2017-07-13-its-happening.md @@ -0,0 +1,19 @@ +--- +categories: + - news +date: '2017-07-13' +important: false +title: It's Happening...! +--- + + +AOSCC 2017 (the 4th intallment) will kick off tomorrow at 10 A.M. UTC+8 in Guangzhou! Please do not hesitate to join us at this three-day gathering (with over 50 sign-ups so far!) where we discuss, share, and have fun. If you haven't signed up yet, it's not too late, the signup will not close until the end of Day 3 - if you could still make it! + +Please sign up [here](https://survey.aosc.io/index.php/557612?lang=en&encode=). Again, no need to provide your real name here, we are using this form purely for statistics purposes. + +-------- + +For those who are coming tomorrow, please make sure that you enter from the North-East Gate at Guangdong University of Technology at H.E.M.C. Maps to the gate could be found below, there will be people from the Electronic Engineering Club and AOSC leading the way tomorrow! + +- [Google Maps](https://www.google.com.sg/maps/dir/23.0387839,113.4006536/%E4%B8%AD%E5%9B%BD%E5%B9%BF%E4%B8%9C%E7%9C%81%E5%B9%BF%E5%B7%9E%E5%B8%82%E7%95%AA%E7%A6%BA%E5%8C%BA%E5%B9%BF%E4%B8%9C%E5%B7%A5%E4%B8%9A%E5%A4%A7%E5%AD%A6%E5%AE%9E%E9%AA%8C%E5%9B%9B%E5%8F%B7%E6%A5%BC/@23.0383065,113.3991838,18z/am=t/data=!4m8!4m7!1m0!1m5!1m1!1s0x3403aad94a278a3f:0xf2ebd2723d97b2f5!2m2!1d113.3997973!2d23.0378993?hl=en) +- [AMap (Gaode)](http://ditu.amap.com/dir?from%5Bname%5D=%E5%B9%BF%E4%B8%9C%E5%B7%A5%E4%B8%9A%E5%A4%A7%E5%AD%A6%E5%A4%A7%E5%AD%A6%E5%9F%8E%E6%A0%A1%E5%8C%BA(%E4%B8%9C%E5%8C%97%E9%97%A8)&from%5Blnglat%5D=113.400750%2C23.038894&from%5Bid%5D=B0FFH1ZJPK&from%5Bpoitype%5D=991400&from%5Badcode%5D=440100&from%5Bmodxy%5D=113.400750%2C23.038894&to%5Badcode%5D=440113&to%5Bname%5D=%E5%B9%BF%E4%B8%9C%E5%B7%A5%E4%B8%9A%E5%A4%A7%E5%AD%A6-%E5%AE%9E%E9%AA%8C4%E5%8F%B7%E6%A5%BC&to%5Bid%5D=B00141S9QO&to%5Bpoitype%5D=190403&to%5Blnglat%5D=113.39997399999999%2C23.037893&to%5Bmodxy%5D=&type=walk&policy=0&dateTime=now) diff --git a/content/news/2017-07-13-its-happening.zh-cn.md b/content/news/2017-07-13-its-happening.zh-cn.md new file mode 100644 index 00000000..b7efd34a --- /dev/null +++ b/content/news/2017-07-13-its-happening.zh-cn.md @@ -0,0 +1,19 @@ +--- +categories: + - news +date: '2017-07-13' +important: false +title: It's Happening...! +--- + + +AOSCC 2017 (the 4th intallment) will kick off tomorrow at 10 A.M. UTC+8 in Guangzhou! Please do not hesitate to join us at this three-day gathering (with over 50 sign-ups so far!) where we discuss, share, and have fun. If you haven't signed up yet, it's not too late, the signup will not close until the end of Day 3 - if you could still make it! + +Please sign up [here](https://survey.aosc.io/index.php/557612?lang=en&encode=). Again, no need to provide your real name here, we are using this form purely for statistics purposes. + +-------- + +For those who are coming tomorrow, please make sure that you enter from the North-East Gate at Guangdong University of Technology at H.E.M.C. Maps to the gate could be found below, there will be people from the Electronic Engineering Club and AOSC leading the way tomorrow! + +- [Google Maps](https://www.google.com.sg/maps/dir/23.0387839,113.4006536/%E4%B8%AD%E5%9B%BD%E5%B9%BF%E4%B8%9C%E7%9C%81%E5%B9%BF%E5%B7%9E%E5%B8%82%E7%95%AA%E7%A6%BA%E5%8C%BA%E5%B9%BF%E4%B8%9C%E5%B7%A5%E4%B8%9A%E5%A4%A7%E5%AD%A6%E5%AE%9E%E9%AA%8C%E5%9B%9B%E5%8F%B7%E6%A5%BC/@23.0383065,113.3991838,18z/am=t/data=!4m8!4m7!1m0!1m5!1m1!1s0x3403aad94a278a3f:0xf2ebd2723d97b2f5!2m2!1d113.3997973!2d23.0378993?hl=en) +- [AMap (Gaode)](http://ditu.amap.com/dir?from%5Bname%5D=%E5%B9%BF%E4%B8%9C%E5%B7%A5%E4%B8%9A%E5%A4%A7%E5%AD%A6%E5%A4%A7%E5%AD%A6%E5%9F%8E%E6%A0%A1%E5%8C%BA(%E4%B8%9C%E5%8C%97%E9%97%A8)&from%5Blnglat%5D=113.400750%2C23.038894&from%5Bid%5D=B0FFH1ZJPK&from%5Bpoitype%5D=991400&from%5Badcode%5D=440100&from%5Bmodxy%5D=113.400750%2C23.038894&to%5Badcode%5D=440113&to%5Bname%5D=%E5%B9%BF%E4%B8%9C%E5%B7%A5%E4%B8%9A%E5%A4%A7%E5%AD%A6-%E5%AE%9E%E9%AA%8C4%E5%8F%B7%E6%A5%BC&to%5Bid%5D=B00141S9QO&to%5Bpoitype%5D=190403&to%5Blnglat%5D=113.39997399999999%2C23.037893&to%5Bmodxy%5D=&type=walk&policy=0&dateTime=now) diff --git a/content/news/2017-07-19-aoscc-2017-re-cap.md b/content/news/2017-07-19-aoscc-2017-re-cap.md new file mode 100644 index 00000000..ec149ba7 --- /dev/null +++ b/content/news/2017-07-19-aoscc-2017-re-cap.md @@ -0,0 +1,84 @@ +--- +categories: + - news +date: '2017-07-19' +important: false +title: 'AOSCC 2017: Re-cap' +--- + + +Here's a re-cap of our 4th AOSCC, in Guangzhou. Similar to +[last year](https://aosc.io/news/a-re-cap-our-3rd-aoscc), our annual gathering +lasted 3 days. Numerous of our community developers shared their review of +community development, and presented the path forward for our community in the +coming year. Though Day 3 was disorganised as ever (LOL), it could be safely +assumed that virtually everybody was having great fun attending this year's +community gathering. + +Without getting ahead of ourselves, here's a very quick re-cap, as promised: + +- Like last year's AOSCC in Shanghai, our venue was generously provided by + the Electronic Engineering Club of + [Guangdong University of Technology](http://www.gdut.edu.cn/) - on their + campus location at the H.E.M.C. (Higher Education Mega Center) in Guangzhou. +- We have received over 50 sign-ups to attend the gathering, though not everyone + made it to Guangzhou, more than 40 attended, another increase from last + year's statistics. +- Six speakers from in and around our community talked on Day 1 and 2. + +Several community matters are determined, as usual, on Day 1: + +- AOSCC 2018 will take place next summer in Wuhan, China. +- The next Core release series, Core 5, is named "eMMC". +- No new architecture ports planned for the coming year. +- Two default wallpapers will be shipped with the next annual cycle, one of + which is a rendered piece made with Blender, the other made with Krita - + both wallpapers share the same basic theme and design. + +Finally, several things could be expected from AOSC OS: + +- Starting this month, AOSC OS will be updated in a monthly cycle, the old + rolling-release "schedule" is no more, more details could be found in our + [third installment](https://aosc.io/news/Dev-Updates-Issue-3-New-Update-Pattern) + of Dev. Updates. +- AOSC OS will provide a new performance (processor instruction set), or + device-specific "Overlay" system, providing tweaked and optimised packages + for newer and more specialised devices, more details coming later. +- AOSC OS will receive more refinement in the UX (User eXperience), QA + (Quality Assurance), and security fronts, details rolling in throughout the + coming year. +- AOSC developers will work harder on user/deverloper documentation for AOSC + OS and other community projects, in the form of a community wiki along with a + collection of erratas and knowledge-base articles. +- Ciel, an OverlayFS-based container/distribution manager will be deployed + as the officially endorsed framework for packaging and distribution + tarball/image generation. A more detailed article introducing this new toolkit + will be published in the near future along with full developer/user + documentations. +- ACBS will be re-released in its re-written form in C/C++. +- Our current array of architectural ports, consisting of AMD64, ARMv7, + AArch64, MIPS32el, MIPS64el, PPC32eb, PPC64eb to a total of 7 - will continue + to be supported as official ports of AOSC OS. + +-------- + +## Photographs, Presentations, and Videos + +Unfortunately we were unable to provide live coverage of our gathering due to +networking constraints in the venue, we are currently going through our video +recording and uploading to our community +[YouTube channel](https://www.youtube.com/channel/UCQcEbjx5eVZYeH2Q59vPf9g). + +- Pictures of the gathering could be found on our + [Community](https://aosc.io/community) page, in the "Gallery" section + to the right. +- Documentations and presentations of AOSCC 2017, organised by speakers, + could be downloaded and redistributed at your preference + [here](https://repo.aosc.io/aosc-documentation/aoscc-2017/). + +-------- + +## See You Next Year! + +Details regarding next year's AOSCC in Wuhan will be posted later this year, +and towards summer next year. diff --git a/content/news/2017-07-19-aoscc-2017-re-cap.zh-cn.md b/content/news/2017-07-19-aoscc-2017-re-cap.zh-cn.md new file mode 100644 index 00000000..ec149ba7 --- /dev/null +++ b/content/news/2017-07-19-aoscc-2017-re-cap.zh-cn.md @@ -0,0 +1,84 @@ +--- +categories: + - news +date: '2017-07-19' +important: false +title: 'AOSCC 2017: Re-cap' +--- + + +Here's a re-cap of our 4th AOSCC, in Guangzhou. Similar to +[last year](https://aosc.io/news/a-re-cap-our-3rd-aoscc), our annual gathering +lasted 3 days. Numerous of our community developers shared their review of +community development, and presented the path forward for our community in the +coming year. Though Day 3 was disorganised as ever (LOL), it could be safely +assumed that virtually everybody was having great fun attending this year's +community gathering. + +Without getting ahead of ourselves, here's a very quick re-cap, as promised: + +- Like last year's AOSCC in Shanghai, our venue was generously provided by + the Electronic Engineering Club of + [Guangdong University of Technology](http://www.gdut.edu.cn/) - on their + campus location at the H.E.M.C. (Higher Education Mega Center) in Guangzhou. +- We have received over 50 sign-ups to attend the gathering, though not everyone + made it to Guangzhou, more than 40 attended, another increase from last + year's statistics. +- Six speakers from in and around our community talked on Day 1 and 2. + +Several community matters are determined, as usual, on Day 1: + +- AOSCC 2018 will take place next summer in Wuhan, China. +- The next Core release series, Core 5, is named "eMMC". +- No new architecture ports planned for the coming year. +- Two default wallpapers will be shipped with the next annual cycle, one of + which is a rendered piece made with Blender, the other made with Krita - + both wallpapers share the same basic theme and design. + +Finally, several things could be expected from AOSC OS: + +- Starting this month, AOSC OS will be updated in a monthly cycle, the old + rolling-release "schedule" is no more, more details could be found in our + [third installment](https://aosc.io/news/Dev-Updates-Issue-3-New-Update-Pattern) + of Dev. Updates. +- AOSC OS will provide a new performance (processor instruction set), or + device-specific "Overlay" system, providing tweaked and optimised packages + for newer and more specialised devices, more details coming later. +- AOSC OS will receive more refinement in the UX (User eXperience), QA + (Quality Assurance), and security fronts, details rolling in throughout the + coming year. +- AOSC developers will work harder on user/deverloper documentation for AOSC + OS and other community projects, in the form of a community wiki along with a + collection of erratas and knowledge-base articles. +- Ciel, an OverlayFS-based container/distribution manager will be deployed + as the officially endorsed framework for packaging and distribution + tarball/image generation. A more detailed article introducing this new toolkit + will be published in the near future along with full developer/user + documentations. +- ACBS will be re-released in its re-written form in C/C++. +- Our current array of architectural ports, consisting of AMD64, ARMv7, + AArch64, MIPS32el, MIPS64el, PPC32eb, PPC64eb to a total of 7 - will continue + to be supported as official ports of AOSC OS. + +-------- + +## Photographs, Presentations, and Videos + +Unfortunately we were unable to provide live coverage of our gathering due to +networking constraints in the venue, we are currently going through our video +recording and uploading to our community +[YouTube channel](https://www.youtube.com/channel/UCQcEbjx5eVZYeH2Q59vPf9g). + +- Pictures of the gathering could be found on our + [Community](https://aosc.io/community) page, in the "Gallery" section + to the right. +- Documentations and presentations of AOSCC 2017, organised by speakers, + could be downloaded and redistributed at your preference + [here](https://repo.aosc.io/aosc-documentation/aoscc-2017/). + +-------- + +## See You Next Year! + +Details regarding next year's AOSCC in Wuhan will be posted later this year, +and towards summer next year. diff --git a/content/news/2017-07-30-new-server-host.md b/content/news/2017-07-30-new-server-host.md new file mode 100644 index 00000000..aec8ce78 --- /dev/null +++ b/content/news/2017-07-30-new-server-host.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2017-07-30' +important: false +title: New Server Host! +--- + + +Thanks to [SB Blog (烧饼博客)](https://sb.sb/), our community website and some of our infrastructures are now migrated to a new server with greater bandwidth and application performance. + +As you might have noticed before, our website struggled to load all of the elements or even to stay up - not an ideal experience considering all the time spent on the loading state. This was an issue mainly related to prior Internet connectivity constraints found in certain areas of the world (for the sake of politics-free creed of our community, we won't get into details here - the removal of our ICP registration information from the footer should be a good hint), and thus we relied heavily on reverse proxy on servers scattered across multiple countries. + +With that said, we are grateful of Qingcloud's continued support for our community network infrastructure - even though our websites have moved away from their servers, some of our behind-the-scenes services - our community relay for BuildBots (our "nickname" for build hosts, if you will) for example. + +-------- + +Please do report any connectivity or rendering issues you have encountered to our community channel at `#aosc`, and enjoy your stay! \ No newline at end of file diff --git a/content/news/2017-07-30-new-server-host.zh-cn.md b/content/news/2017-07-30-new-server-host.zh-cn.md new file mode 100644 index 00000000..aec8ce78 --- /dev/null +++ b/content/news/2017-07-30-new-server-host.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2017-07-30' +important: false +title: New Server Host! +--- + + +Thanks to [SB Blog (烧饼博客)](https://sb.sb/), our community website and some of our infrastructures are now migrated to a new server with greater bandwidth and application performance. + +As you might have noticed before, our website struggled to load all of the elements or even to stay up - not an ideal experience considering all the time spent on the loading state. This was an issue mainly related to prior Internet connectivity constraints found in certain areas of the world (for the sake of politics-free creed of our community, we won't get into details here - the removal of our ICP registration information from the footer should be a good hint), and thus we relied heavily on reverse proxy on servers scattered across multiple countries. + +With that said, we are grateful of Qingcloud's continued support for our community network infrastructure - even though our websites have moved away from their servers, some of our behind-the-scenes services - our community relay for BuildBots (our "nickname" for build hosts, if you will) for example. + +-------- + +Please do report any connectivity or rendering issues you have encountered to our community channel at `#aosc`, and enjoy your stay! \ No newline at end of file diff --git a/content/news/2017-08-01-july-wave-is-here.md b/content/news/2017-08-01-july-wave-is-here.md new file mode 100644 index 00000000..cc5766bb --- /dev/null +++ b/content/news/2017-08-01-july-wave-is-here.md @@ -0,0 +1,93 @@ +--- +categories: + - news +date: '2017-08-01' +important: false +title: July Wave is Here! +--- + + +Today marks the conclusion to our first AOSC OS monthly update cycle - yes, we are a day late, however, this was largely due to some difficulties trying to get Mozilla software (Firefox, Thunderbird, etc.) working on ARMv7 (`armel`) and AArch64 (`arm64`) - not much success this month despite a five-day effort, however, we've heard good news about version 55 of Mozilla software. Anyways, here's a re-cap. + +-------- + + + +This NVIDIA Jetson TX1 development kit has handled most of the packaging work, computing resources on non-PC platform is still quite scarce in AOSC. + +-------- + +Usability Up! +------------- + +With a longer period for packaging and testing, we are more confident about our updates. Another thing which time could "buy" is better attention to usability of packages - and that would include higher availability of packages for a particular port, higher reliability, and more importantly, better coverage with usability investigation for existing packages. + +The first part could be seen with updates made to our two ARM ports, which includes for the first time, a full KDE/Plasma suite. Though we are still having a blocker which prevented Plasma from running on ARMv7 devices, and a minor issue which will crash KInfoCenter when checking PCI information on a device (which is, well, most ARM devices) which does not have such bus on board. We will be looking into pushing a quick patch revision for ARMv7 later this week for the former issue, while the latter will have to wait for upstream's response (it is quite dangerous for a software upstream to disregard their own portable software running on non-x86 platforms, eh?). Apart from that, we are looking at a ~+300 package delta for this port, and more will come later as we get around to it. + +-------- + + +Krita running on an AArch64-capable board, Orange Pi PRIME - AOSC OS image is available in the [download page](https://aosc.io/os-download). + +-------- + +For usability investigation then, we would have to talk about two sets development utilities, the Ciel (Lion Yang asked me to leave "the" in so...) and ACID (just a random name). The Ciel is a (development) environment deployment and manipulation kit which manages one or more systemd-nspawn containers running on a hierarchical OverlayFS architecture, which allows for quick rollback of development/packaging environment(s) - soon to be a requirement for AOSC OS packaging, starting as an experiment in August. + +Working upon the Ciel will be ACID, which is a simple script running on our servers to thoroughly build all packages in our [ABBS tree](https://github.com/AOSC-Dev/aosc-os-abbs/), acting somewhat like a CI (considering the amount of packages - 4000+ of them - to be built continuously over the course of a month) to discover any packaging error - missing dependencies, misspelled words, incorrect scripting, and more. This system will surely improve the general packaging quality for AOSC OS, benefiting developers and users alike. + +-------- + + + +Lion Yang's laptop looking at a [netdata](https://my-netdata.io/) page of our buildbot (compiling host). + +-------- + +Interactivity Up! +----------------- + +With the introduction of monthly cycles, we have now introduced two new types of community requests available to community members: updreq (Update Request) and optreq (Optimisation Request). The former is quite easy to understand, a package is too old, then request it. + +The latter though could be more variable in its content, for example, Profile Guided Optimisation is available for a package, say `git`, then a community member could open a optreq specifying building the `git` package with PGO enabled (which involves changes to the build script, or configurations). For another example, which will be a future feature to be introduced to AOSC OS, the Overlay system - in this case, a community member may request that the package Python to be built with AVX2 support flags enabled, further enhancing its performance on newer processors, to be found in its `avx2` overlay. + +While updreq could be a quick and simple request, optimisation could quite easily be more difficult to open, and for our developers to investigate request and decide on if such request is actually beneficial - and to be fair, this could require more technical awareness on the part of our community members, one may quite simply think that "GNOME is too damn slow on my computer" is a valid request for us to invest into, but let's just say up front, "tell it to the upstream, we did not write the program, can't really help here, sorry". + +MIPS and PowerPC? +----------------- + +We've mentioned that PowerPC (32/64-bit big endian) ports will be halted until September due to lack of device availability for building and testing. + +Similarly, but with time, our MIPS maintainer Junde Yhi decided that it will be quite difficult for our MIPS ports to catch up with the cycles until some major architecture-specific issues (compilers, and more) could be properly resolved. He's also estimating a September return to the cycled updates. Meanwhile, catching up will be his task. + +AOSA? +----- + +You might have noticed a lack of AOSA news posts on this page in August, we are currently working on a new community website which contains AOSC OS related Errata and Knowledge Base articles. Future AOSA will be posted there with a set format and more technical details (vulnerability descriptions, and PoCs if available). + +We will keep you updated on this issue. + +Enjoy! +------ + +My apologies for rambling on and on about July - there are actually quite a bit happening in our July development cycle, the changelog is over 700 lines long, it's quite hard to generalise them all - will keep practicing, I promise (LOL). But do expect the same amount of work done to AOSC OS - as our part of our continuous development effort to improve and optimise AOSC OS as your daily productivity platform. + +Anyways, please enjoy this month's update. For more information on what's changed in this month's wave of updates, please take a read at our [complete changelog](https://github.com/AOSC-Dev/aosc-os/blob/master/changelogs/2017-july-changelog.md). + +Problems sir? +--------------- + +- Report any issue to our [Issues](https://github.com/AOSC-Dev/aosc-os-abbs/issues) page. + +Or alternatively... + +- Find us on the #aosc IRC channel, Telegram group information will be provided if requested on IRC. +- Send us an e-mail at [discussions@lists.aosc.io](mailto:discussions@lists.aosc.io). + +August +------ + +Information on August wave of updates will be announced tomorrow, or the day after - we are currently in the process of determining what's to be done this month. Stay tuned. + +-------- + +— Mingcong Bai (with kind regards) diff --git a/content/news/2017-08-01-july-wave-is-here.zh-cn.md b/content/news/2017-08-01-july-wave-is-here.zh-cn.md new file mode 100644 index 00000000..cc5766bb --- /dev/null +++ b/content/news/2017-08-01-july-wave-is-here.zh-cn.md @@ -0,0 +1,93 @@ +--- +categories: + - news +date: '2017-08-01' +important: false +title: July Wave is Here! +--- + + +Today marks the conclusion to our first AOSC OS monthly update cycle - yes, we are a day late, however, this was largely due to some difficulties trying to get Mozilla software (Firefox, Thunderbird, etc.) working on ARMv7 (`armel`) and AArch64 (`arm64`) - not much success this month despite a five-day effort, however, we've heard good news about version 55 of Mozilla software. Anyways, here's a re-cap. + +-------- + + + +This NVIDIA Jetson TX1 development kit has handled most of the packaging work, computing resources on non-PC platform is still quite scarce in AOSC. + +-------- + +Usability Up! +------------- + +With a longer period for packaging and testing, we are more confident about our updates. Another thing which time could "buy" is better attention to usability of packages - and that would include higher availability of packages for a particular port, higher reliability, and more importantly, better coverage with usability investigation for existing packages. + +The first part could be seen with updates made to our two ARM ports, which includes for the first time, a full KDE/Plasma suite. Though we are still having a blocker which prevented Plasma from running on ARMv7 devices, and a minor issue which will crash KInfoCenter when checking PCI information on a device (which is, well, most ARM devices) which does not have such bus on board. We will be looking into pushing a quick patch revision for ARMv7 later this week for the former issue, while the latter will have to wait for upstream's response (it is quite dangerous for a software upstream to disregard their own portable software running on non-x86 platforms, eh?). Apart from that, we are looking at a ~+300 package delta for this port, and more will come later as we get around to it. + +-------- + + +Krita running on an AArch64-capable board, Orange Pi PRIME - AOSC OS image is available in the [download page](https://aosc.io/os-download). + +-------- + +For usability investigation then, we would have to talk about two sets development utilities, the Ciel (Lion Yang asked me to leave "the" in so...) and ACID (just a random name). The Ciel is a (development) environment deployment and manipulation kit which manages one or more systemd-nspawn containers running on a hierarchical OverlayFS architecture, which allows for quick rollback of development/packaging environment(s) - soon to be a requirement for AOSC OS packaging, starting as an experiment in August. + +Working upon the Ciel will be ACID, which is a simple script running on our servers to thoroughly build all packages in our [ABBS tree](https://github.com/AOSC-Dev/aosc-os-abbs/), acting somewhat like a CI (considering the amount of packages - 4000+ of them - to be built continuously over the course of a month) to discover any packaging error - missing dependencies, misspelled words, incorrect scripting, and more. This system will surely improve the general packaging quality for AOSC OS, benefiting developers and users alike. + +-------- + + + +Lion Yang's laptop looking at a [netdata](https://my-netdata.io/) page of our buildbot (compiling host). + +-------- + +Interactivity Up! +----------------- + +With the introduction of monthly cycles, we have now introduced two new types of community requests available to community members: updreq (Update Request) and optreq (Optimisation Request). The former is quite easy to understand, a package is too old, then request it. + +The latter though could be more variable in its content, for example, Profile Guided Optimisation is available for a package, say `git`, then a community member could open a optreq specifying building the `git` package with PGO enabled (which involves changes to the build script, or configurations). For another example, which will be a future feature to be introduced to AOSC OS, the Overlay system - in this case, a community member may request that the package Python to be built with AVX2 support flags enabled, further enhancing its performance on newer processors, to be found in its `avx2` overlay. + +While updreq could be a quick and simple request, optimisation could quite easily be more difficult to open, and for our developers to investigate request and decide on if such request is actually beneficial - and to be fair, this could require more technical awareness on the part of our community members, one may quite simply think that "GNOME is too damn slow on my computer" is a valid request for us to invest into, but let's just say up front, "tell it to the upstream, we did not write the program, can't really help here, sorry". + +MIPS and PowerPC? +----------------- + +We've mentioned that PowerPC (32/64-bit big endian) ports will be halted until September due to lack of device availability for building and testing. + +Similarly, but with time, our MIPS maintainer Junde Yhi decided that it will be quite difficult for our MIPS ports to catch up with the cycles until some major architecture-specific issues (compilers, and more) could be properly resolved. He's also estimating a September return to the cycled updates. Meanwhile, catching up will be his task. + +AOSA? +----- + +You might have noticed a lack of AOSA news posts on this page in August, we are currently working on a new community website which contains AOSC OS related Errata and Knowledge Base articles. Future AOSA will be posted there with a set format and more technical details (vulnerability descriptions, and PoCs if available). + +We will keep you updated on this issue. + +Enjoy! +------ + +My apologies for rambling on and on about July - there are actually quite a bit happening in our July development cycle, the changelog is over 700 lines long, it's quite hard to generalise them all - will keep practicing, I promise (LOL). But do expect the same amount of work done to AOSC OS - as our part of our continuous development effort to improve and optimise AOSC OS as your daily productivity platform. + +Anyways, please enjoy this month's update. For more information on what's changed in this month's wave of updates, please take a read at our [complete changelog](https://github.com/AOSC-Dev/aosc-os/blob/master/changelogs/2017-july-changelog.md). + +Problems sir? +--------------- + +- Report any issue to our [Issues](https://github.com/AOSC-Dev/aosc-os-abbs/issues) page. + +Or alternatively... + +- Find us on the #aosc IRC channel, Telegram group information will be provided if requested on IRC. +- Send us an e-mail at [discussions@lists.aosc.io](mailto:discussions@lists.aosc.io). + +August +------ + +Information on August wave of updates will be announced tomorrow, or the day after - we are currently in the process of determining what's to be done this month. Stay tuned. + +-------- + +— Mingcong Bai (with kind regards) diff --git a/content/news/2017-08-02-coming-up-in-august.md b/content/news/2017-08-02-coming-up-in-august.md new file mode 100644 index 00000000..5c2364b5 --- /dev/null +++ b/content/news/2017-08-02-coming-up-in-august.md @@ -0,0 +1,29 @@ +--- +categories: + - news +date: '2017-08-02' +important: false +title: Coming Up in August... +--- + + +With a somewhat successful completion of the monthly update cycle in the [July Wave](https://aosc.io/news/4882-july-wave-is-here), we have just finished discussion on goals/objectives in the August Wave of updates. The focus or the theme, if you like, of this month will be refinement and clean up. + +First of all, a majority of work to be done this week will be dictacted by ACID - a CI-like mechanism which builds every single packages on offer in the [ABBS Tree](https://github.com/AOSC-Dev/aosc-os-abbs/). Packages to be fixed are mounting up to couple hundreds at present, and that will be what we are doing this month - fix them while the number climbs even higher. In addition to that, new commits introduced to our [Autobuild3](https://github.com/AOSC-Dev/autobuild3/) toolkit - if you haven't heard of it yet, it's our only official packaging tool for AOSC OS - increased the level of strictness while running build scripts, loads of old scripts should end up failing. It's better to rebuild these old and low-quality packages preemptively than ending up as bugs discovered by users, and this is exactly why we are doing this in August. + +While handling this potentially significant task load, in August... + +- All pakreqs, optreqs, and updreqs will be handled, those delayed to September and further should be explained in August Wave's changelog. +- All open issues on Github, except those marked with `longterm` label, should be re-investigated and (if time allows) fixed, or else closed (if justified). +- Core 5 should be planned according to AOSCC announcement and discussions, and prepared for a mid-September release. +- Experiment on packaging with [the Ciel](https://github.com/AOSC-Dev/ciel/). + +-------- + +How about package updates then? Those not specifically requested by community members will be handled according to time allowance in August - while of course, those requested will be dealt with with priority. As always, security and urgent bugfixes will be provided at instance of availability as usual, no worries there. + +Hopefully, in September we developers and users will be working with a cleaner copy of AOSC OS. + +-------- + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2017-08-02-coming-up-in-august.zh-cn.md b/content/news/2017-08-02-coming-up-in-august.zh-cn.md new file mode 100644 index 00000000..5c2364b5 --- /dev/null +++ b/content/news/2017-08-02-coming-up-in-august.zh-cn.md @@ -0,0 +1,29 @@ +--- +categories: + - news +date: '2017-08-02' +important: false +title: Coming Up in August... +--- + + +With a somewhat successful completion of the monthly update cycle in the [July Wave](https://aosc.io/news/4882-july-wave-is-here), we have just finished discussion on goals/objectives in the August Wave of updates. The focus or the theme, if you like, of this month will be refinement and clean up. + +First of all, a majority of work to be done this week will be dictacted by ACID - a CI-like mechanism which builds every single packages on offer in the [ABBS Tree](https://github.com/AOSC-Dev/aosc-os-abbs/). Packages to be fixed are mounting up to couple hundreds at present, and that will be what we are doing this month - fix them while the number climbs even higher. In addition to that, new commits introduced to our [Autobuild3](https://github.com/AOSC-Dev/autobuild3/) toolkit - if you haven't heard of it yet, it's our only official packaging tool for AOSC OS - increased the level of strictness while running build scripts, loads of old scripts should end up failing. It's better to rebuild these old and low-quality packages preemptively than ending up as bugs discovered by users, and this is exactly why we are doing this in August. + +While handling this potentially significant task load, in August... + +- All pakreqs, optreqs, and updreqs will be handled, those delayed to September and further should be explained in August Wave's changelog. +- All open issues on Github, except those marked with `longterm` label, should be re-investigated and (if time allows) fixed, or else closed (if justified). +- Core 5 should be planned according to AOSCC announcement and discussions, and prepared for a mid-September release. +- Experiment on packaging with [the Ciel](https://github.com/AOSC-Dev/ciel/). + +-------- + +How about package updates then? Those not specifically requested by community members will be handled according to time allowance in August - while of course, those requested will be dealt with with priority. As always, security and urgent bugfixes will be provided at instance of availability as usual, no worries there. + +Hopefully, in September we developers and users will be working with a cleaner copy of AOSC OS. + +-------- + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2017-08-18-expected-repository-downtime-in-12-hours.md b/content/news/2017-08-18-expected-repository-downtime-in-12-hours.md new file mode 100644 index 00000000..8dbad6cf --- /dev/null +++ b/content/news/2017-08-18-expected-repository-downtime-in-12-hours.md @@ -0,0 +1,35 @@ +--- +categories: + - news +date: '2017-08-18' +important: true +title: Expected Repository Downtime in ~12 Hours +--- + + +Due to damaged high voltage power lines and equipment at our host for community repository, we are expecting an one-day downtime for this server. + +At the meantime, we would recommend that you: + +- Choose another repository mirror with `apt-gen-list`. +- Prevent installing packages or updating your AOSC OS, as mirrors may be incompletely synchronised (if they were forced to terminate mid-way when the servers go out). + +-------- + +We apologise for any inconvenience. + +Here below is a copy of the original announcement from our server host [OSSPlanet](http://ossplanet.net/): + +``` +MAINTENANCE DOWNTIME: 2017/8/19 9am-4pm CST (1am-8am UTC) +In short: Tomorrow. + +We are going to have a maintenance downtime for damaged High Voltage +power lines and equipment (ATS) to prevent further unexpected issues +in case of power outage. +Please shutdown your VMs before 7am CST (8/18 23:00 UTC) to prevent any +data lose. + +We're sorry for the inconveniences. +If you need any assistance, please feel free to contact us. +``` \ No newline at end of file diff --git a/content/news/2017-08-18-expected-repository-downtime-in-12-hours.zh-cn.md b/content/news/2017-08-18-expected-repository-downtime-in-12-hours.zh-cn.md new file mode 100644 index 00000000..8dbad6cf --- /dev/null +++ b/content/news/2017-08-18-expected-repository-downtime-in-12-hours.zh-cn.md @@ -0,0 +1,35 @@ +--- +categories: + - news +date: '2017-08-18' +important: true +title: Expected Repository Downtime in ~12 Hours +--- + + +Due to damaged high voltage power lines and equipment at our host for community repository, we are expecting an one-day downtime for this server. + +At the meantime, we would recommend that you: + +- Choose another repository mirror with `apt-gen-list`. +- Prevent installing packages or updating your AOSC OS, as mirrors may be incompletely synchronised (if they were forced to terminate mid-way when the servers go out). + +-------- + +We apologise for any inconvenience. + +Here below is a copy of the original announcement from our server host [OSSPlanet](http://ossplanet.net/): + +``` +MAINTENANCE DOWNTIME: 2017/8/19 9am-4pm CST (1am-8am UTC) +In short: Tomorrow. + +We are going to have a maintenance downtime for damaged High Voltage +power lines and equipment (ATS) to prevent further unexpected issues +in case of power outage. +Please shutdown your VMs before 7am CST (8/18 23:00 UTC) to prevent any +data lose. + +We're sorry for the inconveniences. +If you need any assistance, please feel free to contact us. +``` \ No newline at end of file diff --git a/content/news/2017-08-19-update-on-repository-downtime.md b/content/news/2017-08-19-update-on-repository-downtime.md new file mode 100644 index 00000000..94d66522 --- /dev/null +++ b/content/news/2017-08-19-update-on-repository-downtime.md @@ -0,0 +1,36 @@ +--- +categories: + - news +date: '2017-08-19' +important: true +title: Update on Repository Downtime +--- + + +At this point (well beyond 12 hours), we are sorry to announce we are yet to be able to have our repository server up for service. Our host over at Taiwan is still having issue from within OSSPlanet's datacenter... + +Here are two updates we received from our partner Matthew Lien... + +-------- + +At 5:23 UTC, August 19th. + +``` +All public networks working now. + +Two PSU[s] on SAN (Storage Area Network) Switch failed at once. +The chance is lower than winning the lottery, but it really happened. + +Trying to fix it. +``` + +At 14:53 UTC, August 19th. + +``` +Our DC staffs are trying to recover VM [Virtual Machine] infra. +Sorry for the unexpected inconvenience... +``` + +-------- + +Therefore, please keep watching out for updates in the coming day. We do as well apologise for any inconvenience with this unfortunate repository downtime. \ No newline at end of file diff --git a/content/news/2017-08-19-update-on-repository-downtime.zh-cn.md b/content/news/2017-08-19-update-on-repository-downtime.zh-cn.md new file mode 100644 index 00000000..94d66522 --- /dev/null +++ b/content/news/2017-08-19-update-on-repository-downtime.zh-cn.md @@ -0,0 +1,36 @@ +--- +categories: + - news +date: '2017-08-19' +important: true +title: Update on Repository Downtime +--- + + +At this point (well beyond 12 hours), we are sorry to announce we are yet to be able to have our repository server up for service. Our host over at Taiwan is still having issue from within OSSPlanet's datacenter... + +Here are two updates we received from our partner Matthew Lien... + +-------- + +At 5:23 UTC, August 19th. + +``` +All public networks working now. + +Two PSU[s] on SAN (Storage Area Network) Switch failed at once. +The chance is lower than winning the lottery, but it really happened. + +Trying to fix it. +``` + +At 14:53 UTC, August 19th. + +``` +Our DC staffs are trying to recover VM [Virtual Machine] infra. +Sorry for the unexpected inconvenience... +``` + +-------- + +Therefore, please keep watching out for updates in the coming day. We do as well apologise for any inconvenience with this unfortunate repository downtime. \ No newline at end of file diff --git a/content/news/2017-08-22-repository-server-is-up-and-stable.md b/content/news/2017-08-22-repository-server-is-up-and-stable.md new file mode 100644 index 00000000..009e0517 --- /dev/null +++ b/content/news/2017-08-22-repository-server-is-up-and-stable.md @@ -0,0 +1,12 @@ +--- +categories: + - news +date: '2017-08-22' +important: false +title: Repository Server is Up and Stable +--- + + +Just a quick update that we have confirmed that our repository server is now up and running, all regular services have returned to stable status. + +Again, we apologise for any inconvenience experienced. \ No newline at end of file diff --git a/content/news/2017-08-22-repository-server-is-up-and-stable.zh-cn.md b/content/news/2017-08-22-repository-server-is-up-and-stable.zh-cn.md new file mode 100644 index 00000000..009e0517 --- /dev/null +++ b/content/news/2017-08-22-repository-server-is-up-and-stable.zh-cn.md @@ -0,0 +1,12 @@ +--- +categories: + - news +date: '2017-08-22' +important: false +title: Repository Server is Up and Stable +--- + + +Just a quick update that we have confirmed that our repository server is now up and running, all regular services have returned to stable status. + +Again, we apologise for any inconvenience experienced. \ No newline at end of file diff --git a/content/news/2017-09-24-goings-on-a-quick-mid-september-update.md b/content/news/2017-09-24-goings-on-a-quick-mid-september-update.md new file mode 100644 index 00000000..a3a96bfa --- /dev/null +++ b/content/news/2017-09-24-goings-on-a-quick-mid-september-update.md @@ -0,0 +1,51 @@ +--- +categories: + - news +date: '2017-09-24' +important: false +title: 'Goings On: A Quick Mid-September Update' +--- + + +*On a personal note, I do apologise for the lack of update for the past month - as my friend Junde Yhi and I went on a 2-week trip to parts of Russia - and now it's the beginning of the school season so time management was a great struggle.* + +Anyways, lets go on with the update. I'm happy to report that Core 5.0 is now in the final testing phase (Release Candidate 4), and should hit the stable repository by the end of the month - yes, with the Joint-August-and-September Wave of updates (and for the same reason mentioned above, we were unable to release the August wave, need more packagers!). + +We have now finished preparing a semi-final set (well, final if we didn't find anything stupid) of Core 5 wallpapers with a completely new style, here's a small banner to be used in the Core 5 announcement to give you some ideas... + +-------- + +![core5-banner](/assets/news/core5-banner.jpg) + +-------- + +If you want, the full set is already available at the [aosc-os-artworks](https://github.com/AOSC-Dev/aosc-os-artworks) repository, and will be made available to users of the Testing repositories in ~6 hours. + +Apart from the wallpaper change, we have made quite some changes to the Core, including... + +- Package/component updates (of course). +- Bug fixes. +- Package removal from Core. + +But I'm not going to share them all just yet, as in the Release Candidate phase, things can still change... a little bit. We will post another update on the actual date-of-release. + +-------- + +Another thing worth looking forward to in September or October is the inclusion of the first wave of "Overlay" packages for AMD64 (x86_64). We are currently making some final touches to the [Autobuild3](https://github.com/AOSC-Dev/autobuild3) build toolkit and [apt-gen-list](https://github.com/AOSC-Dev/apt-gen-list) - which when done, Overlay repositories should be enabled based on your processor's capabilities. + +More on that later (it's still crazy busy here so I do apologise for repeated delays). + +-------- + +As for non-AMD64 (ARMv7, AArch64, PowerPC 32-bit, PowerPC 64-bit, MIPS 32-bit, MIPS 64-bit) ports of AOSC OS, we are currently working to synchronise all updates with the [ABBS Tree](https://github.com/AOSC-Dev/aosc-os-abbs) - we can't guarantee a date of completion just yet, but here are the two things we are sure about... + +- We will proritise the synchronisations of Core, and `bugfix` updates (and that includes all security fixes). +- Any future Core and `bugfix` updates will be synchronised immediately, while "normal updates" from the `staging` branch will settle in the forseable future. + +-------- + +New AOSC OS tarballs and images will roll out in October (probably by the end of the month) with the Core 5 updates - but again, for non-AMD64 ports, this will not necessarily include all the feature updates from the main tree - we do apologise for that. + +-------- + +— Mingcong Bai diff --git a/content/news/2017-09-24-goings-on-a-quick-mid-september-update.zh-cn.md b/content/news/2017-09-24-goings-on-a-quick-mid-september-update.zh-cn.md new file mode 100644 index 00000000..a3a96bfa --- /dev/null +++ b/content/news/2017-09-24-goings-on-a-quick-mid-september-update.zh-cn.md @@ -0,0 +1,51 @@ +--- +categories: + - news +date: '2017-09-24' +important: false +title: 'Goings On: A Quick Mid-September Update' +--- + + +*On a personal note, I do apologise for the lack of update for the past month - as my friend Junde Yhi and I went on a 2-week trip to parts of Russia - and now it's the beginning of the school season so time management was a great struggle.* + +Anyways, lets go on with the update. I'm happy to report that Core 5.0 is now in the final testing phase (Release Candidate 4), and should hit the stable repository by the end of the month - yes, with the Joint-August-and-September Wave of updates (and for the same reason mentioned above, we were unable to release the August wave, need more packagers!). + +We have now finished preparing a semi-final set (well, final if we didn't find anything stupid) of Core 5 wallpapers with a completely new style, here's a small banner to be used in the Core 5 announcement to give you some ideas... + +-------- + +![core5-banner](/assets/news/core5-banner.jpg) + +-------- + +If you want, the full set is already available at the [aosc-os-artworks](https://github.com/AOSC-Dev/aosc-os-artworks) repository, and will be made available to users of the Testing repositories in ~6 hours. + +Apart from the wallpaper change, we have made quite some changes to the Core, including... + +- Package/component updates (of course). +- Bug fixes. +- Package removal from Core. + +But I'm not going to share them all just yet, as in the Release Candidate phase, things can still change... a little bit. We will post another update on the actual date-of-release. + +-------- + +Another thing worth looking forward to in September or October is the inclusion of the first wave of "Overlay" packages for AMD64 (x86_64). We are currently making some final touches to the [Autobuild3](https://github.com/AOSC-Dev/autobuild3) build toolkit and [apt-gen-list](https://github.com/AOSC-Dev/apt-gen-list) - which when done, Overlay repositories should be enabled based on your processor's capabilities. + +More on that later (it's still crazy busy here so I do apologise for repeated delays). + +-------- + +As for non-AMD64 (ARMv7, AArch64, PowerPC 32-bit, PowerPC 64-bit, MIPS 32-bit, MIPS 64-bit) ports of AOSC OS, we are currently working to synchronise all updates with the [ABBS Tree](https://github.com/AOSC-Dev/aosc-os-abbs) - we can't guarantee a date of completion just yet, but here are the two things we are sure about... + +- We will proritise the synchronisations of Core, and `bugfix` updates (and that includes all security fixes). +- Any future Core and `bugfix` updates will be synchronised immediately, while "normal updates" from the `staging` branch will settle in the forseable future. + +-------- + +New AOSC OS tarballs and images will roll out in October (probably by the end of the month) with the Core 5 updates - but again, for non-AMD64 ports, this will not necessarily include all the feature updates from the main tree - we do apologise for that. + +-------- + +— Mingcong Bai diff --git a/content/news/2017-10-01-august-september-unified-wave-and-core-5.md b/content/news/2017-10-01-august-september-unified-wave-and-core-5.md new file mode 100644 index 00000000..41b482ad --- /dev/null +++ b/content/news/2017-10-01-august-september-unified-wave-and-core-5.md @@ -0,0 +1,88 @@ +--- +categories: + - news +date: '2017-10-01' +important: false +title: August-September Unified Wave and Core 5! +--- + + +![core5-banner](/assets/news/core5-banner.jpg) + +We are happy to report that the August-September Wave of updates are now made available for AMD64 users of AOSC OS - along with AOSC OS Core 5 component updates, eMMC is here! + +-------- + +First of all, let's take a glance at the August-September Wave. + +## Give AOSC OS a Scouring in ACID! + +The majority of our work in these two months has been focused upon fixing broken packages (build-time) by ACID, an idea brought up by Lion Yang to spawn "clean", BuildKit containers and perform a coverage testing with our ABBS tree - putting Ciel to use. + +As a result, hundreds of packages - old and new - were marked as broken. ~99% of them has been fixed now. Apart from the effects of fixing these tatty packages (that they should work better than before with less bugs), is the inspiration for us to further enhance the quality assurance modules and error handling of Autobuild3 - our automatic packaging toolkit. + +## Delayed Updates for Ports + +As noted from Mingcong Bai's last [update](https://aosc.io/news/2839-goings-on-a-quick-mid-september-update), we have failed to sync up package updates for our non-AMD64 AOSC OS ports: PowerPC 32/64-bit Big Endian, ARMv7, AArch64, and MIPS 32/64-bit. However... + +- Core 5 is now available in their `testing` repositories (except MIPS 32/64-bit) +- All `bugfix` updates are made available (thus no security concerns as of yet). + +We will continue to work on catching up with these ports. + +-------- + +## eMMC... + +Now, onto the exciting stuff, Core 5 "eMMC" is now made available to AOSC OS users as... + +- Stable updates for AMD64. +- "Testing" updates for other ports, excluding MIPS 32/64-bit ports. + +## What's Up? + +As how major (+1.0) Core updates go for AOSC OS, Core 5 includes more extensive updates over the Core 4 series - of course, from the GNU C Library at the bottom, to your GNU Compiler Collection (GCC) - are all updated to the newest versions. + +Though no new architectural port is brought to the table for this year, we have worked on improving, and fixing up system application and development experiences. + +For example, our compiler/linker hardening spec files were included within Autobuild3 - while some packages, like Python and Qt, records build-time compiler/linker flags, which references to the spec file included within Autobuild3's installation directory - making developments using tools provided by these packages practically impossible without installing Autobuild3, which is absurd. In Core 5, we have moved these files to the `gcc` package, working around this potential issue. + +AArch64 should also be able to run applications more reliably with latest fixes in GCC and Binutils - a lot of applications that used to exit with a Segmentation Fault should work properly now. Though by our observation this should be a gradual process. + +## Overlays + +As one of the major changes to be brought by Core 5, we are introducing the Overlays system to AMD64 users in the coming month or two. + +The Overlays system provides binary packages optimised for newer processors - and in AMD64's case, processors with AVX2 instruction set support - to squeeze out extra performance potentially obtainable by enabling new instructional optimisation flags. For example, instruction-aware packages like GNU C Library, FFmpeg, Mesa, etc. should see observable performance gain than packages built with our standard compilation configurations - for example, all AMD64 packages are built with instruction set support up to SSE3. + +Changes were required for Autobuild3 and `apt-gen-list` to make it work smoothly for our developers and users, respectively. Autobuild3 now includes "sub-architectural" support, for example, setting `$ARCH` to `amd64/haswell+` will enable configurations to build packages for the Haswell+ (AVX2) Overlay, while generating packages for the `amd64` architecture in general. + +Then, the new implementation of `apt-gen-list` detects processor capability when generating APT repository configurations so that, say, users with their computer running Intel's 5th generation Core processors, when running `apt-gen-list -e "40-source"`, should result in an APT configuration using the [source repository](https://repo.aosc.io/) with the `haswell+` Overlay repository automatically enabled - so that they could take advantage of their processors newer instruction sets, thus higher application performance. + +-------- + +## October and Beyond + +October will be a good time to make up package updates left behind in the past two months due to our focus on ACID. Major desktop updates like GNOME 3.26, KDE Applications 16.08 will roll out by the end of October - along with many more applications and component updates to improve your experience with AOSC OS. What's more... + +- A new desktop environment, the Deepin Desktop Environment, with assistant from our friends Zamir Sun and Felix Yan, will be made available as an additional choice to your desktop experience. +- Tarballs and ARM device images will be updated as well, and this time, using Ciel as a helper for building fully automated and reproducible system releases. +- Ciel will continue to scour for rusts and cruds in AOSC OS, and this time on a higher performance server kindly provided by Staph Zhang - this will become a regular, monthly procedure to ensure AOSC OS package quality and user experience. + +------- + +## Problems sir? + +- Report any issue to our [Issues](https://github.com/AOSC-Dev/aosc-os-abbs/issues) page. + +Or alternatively… + +- Find us on the #aosc IRC channel, Telegram group information will be provided if requested on IRC. +- Send us an e-mail at [discussions@lists.aosc.io](mailto:discussions@lists.aosc.io). + +-------- + +## More Details? + +- Full changelog of this Wave of updates is available [here](https://github.com/AOSC-Dev/aosc-os/blob/master/changelogs/201708-201709-changelog.md). +- Full changelog of AOSC OS Core 5 is available [here](https://github.com/AOSC-Dev/aosc-os-core/releases/tag/v5.0.0%2B4). diff --git a/content/news/2017-10-01-august-september-unified-wave-and-core-5.zh-cn.md b/content/news/2017-10-01-august-september-unified-wave-and-core-5.zh-cn.md new file mode 100644 index 00000000..41b482ad --- /dev/null +++ b/content/news/2017-10-01-august-september-unified-wave-and-core-5.zh-cn.md @@ -0,0 +1,88 @@ +--- +categories: + - news +date: '2017-10-01' +important: false +title: August-September Unified Wave and Core 5! +--- + + +![core5-banner](/assets/news/core5-banner.jpg) + +We are happy to report that the August-September Wave of updates are now made available for AMD64 users of AOSC OS - along with AOSC OS Core 5 component updates, eMMC is here! + +-------- + +First of all, let's take a glance at the August-September Wave. + +## Give AOSC OS a Scouring in ACID! + +The majority of our work in these two months has been focused upon fixing broken packages (build-time) by ACID, an idea brought up by Lion Yang to spawn "clean", BuildKit containers and perform a coverage testing with our ABBS tree - putting Ciel to use. + +As a result, hundreds of packages - old and new - were marked as broken. ~99% of them has been fixed now. Apart from the effects of fixing these tatty packages (that they should work better than before with less bugs), is the inspiration for us to further enhance the quality assurance modules and error handling of Autobuild3 - our automatic packaging toolkit. + +## Delayed Updates for Ports + +As noted from Mingcong Bai's last [update](https://aosc.io/news/2839-goings-on-a-quick-mid-september-update), we have failed to sync up package updates for our non-AMD64 AOSC OS ports: PowerPC 32/64-bit Big Endian, ARMv7, AArch64, and MIPS 32/64-bit. However... + +- Core 5 is now available in their `testing` repositories (except MIPS 32/64-bit) +- All `bugfix` updates are made available (thus no security concerns as of yet). + +We will continue to work on catching up with these ports. + +-------- + +## eMMC... + +Now, onto the exciting stuff, Core 5 "eMMC" is now made available to AOSC OS users as... + +- Stable updates for AMD64. +- "Testing" updates for other ports, excluding MIPS 32/64-bit ports. + +## What's Up? + +As how major (+1.0) Core updates go for AOSC OS, Core 5 includes more extensive updates over the Core 4 series - of course, from the GNU C Library at the bottom, to your GNU Compiler Collection (GCC) - are all updated to the newest versions. + +Though no new architectural port is brought to the table for this year, we have worked on improving, and fixing up system application and development experiences. + +For example, our compiler/linker hardening spec files were included within Autobuild3 - while some packages, like Python and Qt, records build-time compiler/linker flags, which references to the spec file included within Autobuild3's installation directory - making developments using tools provided by these packages practically impossible without installing Autobuild3, which is absurd. In Core 5, we have moved these files to the `gcc` package, working around this potential issue. + +AArch64 should also be able to run applications more reliably with latest fixes in GCC and Binutils - a lot of applications that used to exit with a Segmentation Fault should work properly now. Though by our observation this should be a gradual process. + +## Overlays + +As one of the major changes to be brought by Core 5, we are introducing the Overlays system to AMD64 users in the coming month or two. + +The Overlays system provides binary packages optimised for newer processors - and in AMD64's case, processors with AVX2 instruction set support - to squeeze out extra performance potentially obtainable by enabling new instructional optimisation flags. For example, instruction-aware packages like GNU C Library, FFmpeg, Mesa, etc. should see observable performance gain than packages built with our standard compilation configurations - for example, all AMD64 packages are built with instruction set support up to SSE3. + +Changes were required for Autobuild3 and `apt-gen-list` to make it work smoothly for our developers and users, respectively. Autobuild3 now includes "sub-architectural" support, for example, setting `$ARCH` to `amd64/haswell+` will enable configurations to build packages for the Haswell+ (AVX2) Overlay, while generating packages for the `amd64` architecture in general. + +Then, the new implementation of `apt-gen-list` detects processor capability when generating APT repository configurations so that, say, users with their computer running Intel's 5th generation Core processors, when running `apt-gen-list -e "40-source"`, should result in an APT configuration using the [source repository](https://repo.aosc.io/) with the `haswell+` Overlay repository automatically enabled - so that they could take advantage of their processors newer instruction sets, thus higher application performance. + +-------- + +## October and Beyond + +October will be a good time to make up package updates left behind in the past two months due to our focus on ACID. Major desktop updates like GNOME 3.26, KDE Applications 16.08 will roll out by the end of October - along with many more applications and component updates to improve your experience with AOSC OS. What's more... + +- A new desktop environment, the Deepin Desktop Environment, with assistant from our friends Zamir Sun and Felix Yan, will be made available as an additional choice to your desktop experience. +- Tarballs and ARM device images will be updated as well, and this time, using Ciel as a helper for building fully automated and reproducible system releases. +- Ciel will continue to scour for rusts and cruds in AOSC OS, and this time on a higher performance server kindly provided by Staph Zhang - this will become a regular, monthly procedure to ensure AOSC OS package quality and user experience. + +------- + +## Problems sir? + +- Report any issue to our [Issues](https://github.com/AOSC-Dev/aosc-os-abbs/issues) page. + +Or alternatively… + +- Find us on the #aosc IRC channel, Telegram group information will be provided if requested on IRC. +- Send us an e-mail at [discussions@lists.aosc.io](mailto:discussions@lists.aosc.io). + +-------- + +## More Details? + +- Full changelog of this Wave of updates is available [here](https://github.com/AOSC-Dev/aosc-os/blob/master/changelogs/201708-201709-changelog.md). +- Full changelog of AOSC OS Core 5 is available [here](https://github.com/AOSC-Dev/aosc-os-core/releases/tag/v5.0.0%2B4). diff --git a/content/news/2017-10-05-mailing-lists-temporarily-blocks-qqcom-posts.md b/content/news/2017-10-05-mailing-lists-temporarily-blocks-qqcom-posts.md new file mode 100644 index 00000000..4d38d8da --- /dev/null +++ b/content/news/2017-10-05-mailing-lists-temporarily-blocks-qqcom-posts.md @@ -0,0 +1,14 @@ +--- +categories: + - news +date: '2017-10-05' +important: true +title: Mailing Lists Temporarily Blocks QQ.com Posts +--- + + +Due to recent flooding of messages from various @qq.com (bots?) to our "discussions" list, we have currently taken emergency - and temporary - measure against **all** posts from @qq.com e-mail addresses. + +If you own such e-mail account and wish to post on our mailing lists, we do apologise for your inconvenience. Please, for now, switch to another e-mail account - or create one elsewhere - for posting on our lists. + +We will keep you updated if we are ready with a more scientific and appropriate solution. \ No newline at end of file diff --git a/content/news/2017-10-05-mailing-lists-temporarily-blocks-qqcom-posts.zh-cn.md b/content/news/2017-10-05-mailing-lists-temporarily-blocks-qqcom-posts.zh-cn.md new file mode 100644 index 00000000..4d38d8da --- /dev/null +++ b/content/news/2017-10-05-mailing-lists-temporarily-blocks-qqcom-posts.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - news +date: '2017-10-05' +important: true +title: Mailing Lists Temporarily Blocks QQ.com Posts +--- + + +Due to recent flooding of messages from various @qq.com (bots?) to our "discussions" list, we have currently taken emergency - and temporary - measure against **all** posts from @qq.com e-mail addresses. + +If you own such e-mail account and wish to post on our mailing lists, we do apologise for your inconvenience. Please, for now, switch to another e-mail account - or create one elsewhere - for posting on our lists. + +We will keep you updated if we are ready with a more scientific and appropriate solution. \ No newline at end of file diff --git a/content/news/2017-10-24-kudos-to-koddos.md b/content/news/2017-10-24-kudos-to-koddos.md new file mode 100644 index 00000000..cc5ba328 --- /dev/null +++ b/content/news/2017-10-24-kudos-to-koddos.md @@ -0,0 +1,12 @@ +--- +categories: + - news +date: '2017-10-24' +important: false +title: Kudos to KoDDoS! +--- + + +We would like to dedicate this news post to our new mirror sponsor [KoDDoS](https://koddos.net) - a hosting service with a strong focus on anti-DDoS and other cyber attacks. With the new [mirror](https://mirror.koddos.net/anthon/), we have got another mirror in Netherland, serving regions of Europe and the Americas. + +Again, our sincere gratitude to KoDDoS for generously providing a mirror for our repository and downloads! \ No newline at end of file diff --git a/content/news/2017-10-24-kudos-to-koddos.zh-cn.md b/content/news/2017-10-24-kudos-to-koddos.zh-cn.md new file mode 100644 index 00000000..cc5ba328 --- /dev/null +++ b/content/news/2017-10-24-kudos-to-koddos.zh-cn.md @@ -0,0 +1,12 @@ +--- +categories: + - news +date: '2017-10-24' +important: false +title: Kudos to KoDDoS! +--- + + +We would like to dedicate this news post to our new mirror sponsor [KoDDoS](https://koddos.net) - a hosting service with a strong focus on anti-DDoS and other cyber attacks. With the new [mirror](https://mirror.koddos.net/anthon/), we have got another mirror in Netherland, serving regions of Europe and the Americas. + +Again, our sincere gratitude to KoDDoS for generously providing a mirror for our repository and downloads! \ No newline at end of file diff --git a/content/news/2017-11-03-october-wave-is-here.md b/content/news/2017-11-03-october-wave-is-here.md new file mode 100644 index 00000000..a8e65633 --- /dev/null +++ b/content/news/2017-11-03-october-wave-is-here.md @@ -0,0 +1,81 @@ +--- +categories: + - news +date: '2017-11-03' +important: false +title: October Wave is Here! +--- + + +We are happy to announce that our October Wave of updates is now ready for AMD64 users of AOSC OS! We are late for this wave due to the quantity of updates, which are applied to over 500 packages provided for AOSC OS - that is ~20% of all packages available. + +Anyways, let's kick this announcement off with a new wallpaper made available to all AOSC OS users, as part of the default collection of wallpapers. + +[![core5-blender](/assets/news/core5-rendered.jpg)](https://github.com/AOSC-Dev/aosc-os-artworks/raw/master/11/core5-rendered.jpg) + +This wallpaper is made by [Tianhao Chai](https://aosc.io/people/~cthbleachbit/) - our resident Wine, NVIDIA, Linux Kernel package maintainer, and Blender enthusiast. This wallpaper is rendered with no other software than Blender, took almost two days to render on his own desktop computer (LOL). Blender project file for this wallpaper is available [here](https://github.com/AOSC-Dev/aosc-os-artworks/raw/master/11/core5.blend), if you would like to make any changes/improvements to this wallpaper, or simply to warm up your room in the coming winter! + +-------- + +Now, to some of the major updates made available in this wave of updates.... + +## GNOME 3.26 + +Released earlier in September, is now packaged and tested for users of AOSC OS. + +GNOME 3.26 contains a large amount of changes made to further polish user experience. For example, the newly designed GNOME Control Center provides a pane-based layout which eases navigation, as opposed to the old icon-and-page-based design. + +HiDPI support also sees great improvement, the feature to set DPI scaling on a "fraction scale", instead of jumping from 1x to 2x, etc. This should offer better flexibility for 2K/3K/4K/... owners. + +![gnome-3.26](/assets/news/gnome-3.26.jpg) + +## KDE/Plasma Updates + +With the last months spent on "special" operations like ACID, our KDE/Plasma desktop stack was left outdated, with the October wave of updates, users of KDE/Plasma Desktop could enjoy the newest and (hopefully) greatest on offer by the KDE Community... + +- Qt 5.9.2, with a great number of bug fixes and performance optimisations. +- KDE Frameworks 5.39.0 providing fixes and expanded functionality. +- Plasma 5.11.2, providing a more polished desktop layout, a new System Settings application with improved layout and appearance, and better integration with the Kirigami adaptive UI framework. +- KDE Applications 17.08.2, with latest fixes and security enhancements to the KDE application collection. + +## Security Updates + +This section is dedicated to show our gratitude to [Zero King](https://github.com/l2dy), our new friend and collegue in the AOSC OS development effort. With great knowledge and diligent focus on security updates and announcements, Zero King reported security issues and offered update/patching advices to our [ABBS Tree](https://github.com/AOSC-Dev/aosc-os-abbs) and [Core Tree](https://github.com/AOSC-Dev/aosc-os-core) on a near-daily basis. + +Since his involvement with AOSC OS development, over 100 security advisories was announced in our [security](mailto:security@lists.aosc.io) mailing list - virtually matching the total amount of advisories announced in 2016! If you haven't subscribed to that mailling list yet, please do so [here](https://lists.aosc.io/sympa/info/security) to keep yourselves informed with latest security updates made available to AOSC OS, and other security-related suggestions to better protect your privacy and data safety. + +-------- + +## Promises, Oh Promises... + +However, some updates are delayed due to the lack of time with our developers who work on a volunteer basis, making time out of their own busy lives and academic/work occupations... + +- Deepin Desktop Environment, which was scheduled for this wave of updates, will be delayed to the next. +- Tarballs, also scheduled for an October refresh, will be delayed to early-to-mid November. + +-------- + +## MIPS Under Review + +Due to the lack of man power and device resources, in combination with the problematic implementation of MIPS ISA found in Loongson/Godson processors - our main maintainer of MIPS 32/64-bit ports, [Junde Yhi](https://aosc.io/people/~lmy441900) finds it increasingly difficult to maintain these ports, letting alone keeping up with the large amount of updates. + +Therefore, he has proposed to reboot the MIPS 64-bit port with better adaptation to Loongson/Godson platforms - which realistically, are the only personally purchasable devices by our community members and developers. In addition, the MIPS-II port, targetting legacy MIPS 32-bit devices like the YeeLoong 8089D, is also under consideration to be dropped. + +For more details on the ongoing discussion, please refer to [here](https://lists.aosc.io/sympa/arc/discussions/2017-10/msg00000.html). + +-------- + +Problems sir? + +- Report any issue to our [Issues](https://github.com/AOSC-Dev/aosc-os-abbs/issues) page. + +Or alternatively… + +- Find us on the #aosc IRC channel, Telegram group information will be provided if requested on IRC. +- Send us an e-mail at [discussions@lists.aosc.io](mailto:discussions@lists.aosc.io). + +-------- + +More Details? + +- Full changelog of this Wave of updates is available [here](https://github.com/AOSC-Dev/aosc-os/blob/master/changelogs/201710-changelog.md). diff --git a/content/news/2017-11-03-october-wave-is-here.zh-cn.md b/content/news/2017-11-03-october-wave-is-here.zh-cn.md new file mode 100644 index 00000000..a8e65633 --- /dev/null +++ b/content/news/2017-11-03-october-wave-is-here.zh-cn.md @@ -0,0 +1,81 @@ +--- +categories: + - news +date: '2017-11-03' +important: false +title: October Wave is Here! +--- + + +We are happy to announce that our October Wave of updates is now ready for AMD64 users of AOSC OS! We are late for this wave due to the quantity of updates, which are applied to over 500 packages provided for AOSC OS - that is ~20% of all packages available. + +Anyways, let's kick this announcement off with a new wallpaper made available to all AOSC OS users, as part of the default collection of wallpapers. + +[![core5-blender](/assets/news/core5-rendered.jpg)](https://github.com/AOSC-Dev/aosc-os-artworks/raw/master/11/core5-rendered.jpg) + +This wallpaper is made by [Tianhao Chai](https://aosc.io/people/~cthbleachbit/) - our resident Wine, NVIDIA, Linux Kernel package maintainer, and Blender enthusiast. This wallpaper is rendered with no other software than Blender, took almost two days to render on his own desktop computer (LOL). Blender project file for this wallpaper is available [here](https://github.com/AOSC-Dev/aosc-os-artworks/raw/master/11/core5.blend), if you would like to make any changes/improvements to this wallpaper, or simply to warm up your room in the coming winter! + +-------- + +Now, to some of the major updates made available in this wave of updates.... + +## GNOME 3.26 + +Released earlier in September, is now packaged and tested for users of AOSC OS. + +GNOME 3.26 contains a large amount of changes made to further polish user experience. For example, the newly designed GNOME Control Center provides a pane-based layout which eases navigation, as opposed to the old icon-and-page-based design. + +HiDPI support also sees great improvement, the feature to set DPI scaling on a "fraction scale", instead of jumping from 1x to 2x, etc. This should offer better flexibility for 2K/3K/4K/... owners. + +![gnome-3.26](/assets/news/gnome-3.26.jpg) + +## KDE/Plasma Updates + +With the last months spent on "special" operations like ACID, our KDE/Plasma desktop stack was left outdated, with the October wave of updates, users of KDE/Plasma Desktop could enjoy the newest and (hopefully) greatest on offer by the KDE Community... + +- Qt 5.9.2, with a great number of bug fixes and performance optimisations. +- KDE Frameworks 5.39.0 providing fixes and expanded functionality. +- Plasma 5.11.2, providing a more polished desktop layout, a new System Settings application with improved layout and appearance, and better integration with the Kirigami adaptive UI framework. +- KDE Applications 17.08.2, with latest fixes and security enhancements to the KDE application collection. + +## Security Updates + +This section is dedicated to show our gratitude to [Zero King](https://github.com/l2dy), our new friend and collegue in the AOSC OS development effort. With great knowledge and diligent focus on security updates and announcements, Zero King reported security issues and offered update/patching advices to our [ABBS Tree](https://github.com/AOSC-Dev/aosc-os-abbs) and [Core Tree](https://github.com/AOSC-Dev/aosc-os-core) on a near-daily basis. + +Since his involvement with AOSC OS development, over 100 security advisories was announced in our [security](mailto:security@lists.aosc.io) mailing list - virtually matching the total amount of advisories announced in 2016! If you haven't subscribed to that mailling list yet, please do so [here](https://lists.aosc.io/sympa/info/security) to keep yourselves informed with latest security updates made available to AOSC OS, and other security-related suggestions to better protect your privacy and data safety. + +-------- + +## Promises, Oh Promises... + +However, some updates are delayed due to the lack of time with our developers who work on a volunteer basis, making time out of their own busy lives and academic/work occupations... + +- Deepin Desktop Environment, which was scheduled for this wave of updates, will be delayed to the next. +- Tarballs, also scheduled for an October refresh, will be delayed to early-to-mid November. + +-------- + +## MIPS Under Review + +Due to the lack of man power and device resources, in combination with the problematic implementation of MIPS ISA found in Loongson/Godson processors - our main maintainer of MIPS 32/64-bit ports, [Junde Yhi](https://aosc.io/people/~lmy441900) finds it increasingly difficult to maintain these ports, letting alone keeping up with the large amount of updates. + +Therefore, he has proposed to reboot the MIPS 64-bit port with better adaptation to Loongson/Godson platforms - which realistically, are the only personally purchasable devices by our community members and developers. In addition, the MIPS-II port, targetting legacy MIPS 32-bit devices like the YeeLoong 8089D, is also under consideration to be dropped. + +For more details on the ongoing discussion, please refer to [here](https://lists.aosc.io/sympa/arc/discussions/2017-10/msg00000.html). + +-------- + +Problems sir? + +- Report any issue to our [Issues](https://github.com/AOSC-Dev/aosc-os-abbs/issues) page. + +Or alternatively… + +- Find us on the #aosc IRC channel, Telegram group information will be provided if requested on IRC. +- Send us an e-mail at [discussions@lists.aosc.io](mailto:discussions@lists.aosc.io). + +-------- + +More Details? + +- Full changelog of this Wave of updates is available [here](https://github.com/AOSC-Dev/aosc-os/blob/master/changelogs/201710-changelog.md). diff --git a/content/news/2017-12-01-today-marks-our-6th-year.md b/content/news/2017-12-01-today-marks-our-6th-year.md new file mode 100644 index 00000000..34192657 --- /dev/null +++ b/content/news/2017-12-01-today-marks-our-6th-year.md @@ -0,0 +1,28 @@ +--- +categories: + - news +date: '2017-12-01' +important: false +title: Today... Marks Our 6th Year! +--- + + +![banner](/assets/news/6th-banner.png) + +Once again it is December 1st, 6 years since the night when an idea sparked between two of my friends and I in a middle school dormitory - to make something of our own, something we could be proud of. It started as a "designed in China, and for China" Linux distribution project based on openSUSE: AnthonOS(安同 OS). Six years since that night our project still stands, bearing the name of AOSC OS - a Linux distribution which targets general usage (your desktop, server, laptop, tablets, etc.), and a strong emphasis on multilingual support and community interaction. + +Six years we have stood mostly in silence (well before I elaborate on a hype, partly due to our inability to self-advertise, *giggles*) - though our existence, much like an old Chinese poem, we come down like rains riding the winds of spring, "Silent and soft, it moistens everything". Our contributors, as passionate as they have been to projects of our community, contributions are made to upstream projects either on behalf of the community or on individual basis. [Icenowy Zheng](https://github.com/Icenowy/) is now a long term contributor to the mainlining effort for Allwinner-based ARM devices; [Zixing Liu](https://github.com/liushuyu/), and many others ([me](https://github.com/MingcongBai/) included) continue to provide Simplified Chinese translation enhancements to projects like MATE Desktop, GNOME, and WineHQ; along with multitudes of loose patches to over 50 projects as we push on with the development of AOSC OS. Our year since December of 2016 has been mostly normal, as we continued to embrace the upstream projects which made our work towards AOSC OS possible. + +That said, it doesn't mean that we have kept to the old occupations and standards for another year. In our 6th year, we have pushed heavily on the standardisation of our development routines, and a harder push towards quality assurance. The introduction of [Ciel](https://github.com/AOSC-Dev/ciel/) and ACID marked the first step toward reproducible builds and continuous integration - while Ciel provides a tool to initialise, update, and rollback environments, ACID invokes Ciel to continuously create these build environments to build **every single one** of the packages available, and to find all those which failed to build or those in violation of a set of quality assurance requirements defined in [Autobuild3](https://github.com/AOSC-Dev/autobuild3/) - our package building toolkit since 2014. + +Along with that, with help from [Dingyuan Wang](https://github.com/gumblex/) and [Zero King](https://github.com/l2dy/) who helped to provide integration of AOSC OS' package catalogue with [Repology](https://repology.org/), so that we could better track our updates - and to reference with other distributions, regarding their build configuration, and in some cases, fixes needed to complete a build, or to produce a working package. + +Community interaction has also seen improvements, introduction of new types of requests, `optreq` (Optimisation Request), `updreq` (Update Request), upon the original `pakreq` (Package Request) - users of AOSC OS could now shape the distribution they came to love with suggestions and requests, and we, as packagers/developers, could build AOSC OS to their needs and wishes. + +Looking forward, the 7th year presents quite some challenges for our fellow contributors. Since the introduction of monthly update cycles, we have been able to establish a dual-track system of feature-based updates and security/bug-fix updates - however, we have not been able to release monthly wave on time as often as we wished. In addition, our architecture ports (ARM, MIPS, PowerPC alike) had struggled to go in sync with AMD64 since the introduction of this monthly update pattern due to lack of computing power. We will, in the coming year, continue to find the solutions to the issue - as corporate as this sounds, we have yet to have the opportunity to look deeper into this issue. + +There are issues we are looking to fix before the end of 2017 though. For example, our system releases have not been updated since February, but we plan on releasing a new wave of system releases later in December - after November's updates are ready (they will come in the first half of December), and that updates are synced among our architectures - unlikely for MIPS 32/64 bits, unfortunately. + +With all that in mind, I wish all my friends of the community a happy anniversary - don't overwork yourselves (says man sitting in front his Playstation while writing his post)! + +— Mingcong Bai diff --git a/content/news/2017-12-01-today-marks-our-6th-year.zh-cn.md b/content/news/2017-12-01-today-marks-our-6th-year.zh-cn.md new file mode 100644 index 00000000..34192657 --- /dev/null +++ b/content/news/2017-12-01-today-marks-our-6th-year.zh-cn.md @@ -0,0 +1,28 @@ +--- +categories: + - news +date: '2017-12-01' +important: false +title: Today... Marks Our 6th Year! +--- + + +![banner](/assets/news/6th-banner.png) + +Once again it is December 1st, 6 years since the night when an idea sparked between two of my friends and I in a middle school dormitory - to make something of our own, something we could be proud of. It started as a "designed in China, and for China" Linux distribution project based on openSUSE: AnthonOS(安同 OS). Six years since that night our project still stands, bearing the name of AOSC OS - a Linux distribution which targets general usage (your desktop, server, laptop, tablets, etc.), and a strong emphasis on multilingual support and community interaction. + +Six years we have stood mostly in silence (well before I elaborate on a hype, partly due to our inability to self-advertise, *giggles*) - though our existence, much like an old Chinese poem, we come down like rains riding the winds of spring, "Silent and soft, it moistens everything". Our contributors, as passionate as they have been to projects of our community, contributions are made to upstream projects either on behalf of the community or on individual basis. [Icenowy Zheng](https://github.com/Icenowy/) is now a long term contributor to the mainlining effort for Allwinner-based ARM devices; [Zixing Liu](https://github.com/liushuyu/), and many others ([me](https://github.com/MingcongBai/) included) continue to provide Simplified Chinese translation enhancements to projects like MATE Desktop, GNOME, and WineHQ; along with multitudes of loose patches to over 50 projects as we push on with the development of AOSC OS. Our year since December of 2016 has been mostly normal, as we continued to embrace the upstream projects which made our work towards AOSC OS possible. + +That said, it doesn't mean that we have kept to the old occupations and standards for another year. In our 6th year, we have pushed heavily on the standardisation of our development routines, and a harder push towards quality assurance. The introduction of [Ciel](https://github.com/AOSC-Dev/ciel/) and ACID marked the first step toward reproducible builds and continuous integration - while Ciel provides a tool to initialise, update, and rollback environments, ACID invokes Ciel to continuously create these build environments to build **every single one** of the packages available, and to find all those which failed to build or those in violation of a set of quality assurance requirements defined in [Autobuild3](https://github.com/AOSC-Dev/autobuild3/) - our package building toolkit since 2014. + +Along with that, with help from [Dingyuan Wang](https://github.com/gumblex/) and [Zero King](https://github.com/l2dy/) who helped to provide integration of AOSC OS' package catalogue with [Repology](https://repology.org/), so that we could better track our updates - and to reference with other distributions, regarding their build configuration, and in some cases, fixes needed to complete a build, or to produce a working package. + +Community interaction has also seen improvements, introduction of new types of requests, `optreq` (Optimisation Request), `updreq` (Update Request), upon the original `pakreq` (Package Request) - users of AOSC OS could now shape the distribution they came to love with suggestions and requests, and we, as packagers/developers, could build AOSC OS to their needs and wishes. + +Looking forward, the 7th year presents quite some challenges for our fellow contributors. Since the introduction of monthly update cycles, we have been able to establish a dual-track system of feature-based updates and security/bug-fix updates - however, we have not been able to release monthly wave on time as often as we wished. In addition, our architecture ports (ARM, MIPS, PowerPC alike) had struggled to go in sync with AMD64 since the introduction of this monthly update pattern due to lack of computing power. We will, in the coming year, continue to find the solutions to the issue - as corporate as this sounds, we have yet to have the opportunity to look deeper into this issue. + +There are issues we are looking to fix before the end of 2017 though. For example, our system releases have not been updated since February, but we plan on releasing a new wave of system releases later in December - after November's updates are ready (they will come in the first half of December), and that updates are synced among our architectures - unlikely for MIPS 32/64 bits, unfortunately. + +With all that in mind, I wish all my friends of the community a happy anniversary - don't overwork yourselves (says man sitting in front his Playstation while writing his post)! + +— Mingcong Bai diff --git a/content/news/2018-01-05-aosc-os-end-of-2017-wave-of-updates.md b/content/news/2018-01-05-aosc-os-end-of-2017-wave-of-updates.md new file mode 100644 index 00000000..96f12bb4 --- /dev/null +++ b/content/news/2018-01-05-aosc-os-end-of-2017-wave-of-updates.md @@ -0,0 +1,54 @@ +--- +categories: + - news +date: '2018-01-05' +important: false +title: AOSC OS End-of-2017 Wave of Updates! +--- + + +*First of all, a late Happy New Year...* + +So, after two months of radio silence, here's a (huge) batch of updates for AOSC OS - again, now for AMD64, and later for other ports. We have two major objectives for this wave of updates: + +- Processing package addition/update requests. +- Introduce Deepin Desktop Environment. + +And indeed... We are able to push through with the two objectives: + +- Obviously, a full suite of Deepin Desktop Environment and its default applications are now available from the community repository. +- We have been able to clear out all update requests from the [list](http://pakreq.v2bv.net/). +- 261 new packages have been introduced to the repository as a result of the requests and their dependencies. However, some still [remained](http://pakreq.v2bv.net/) to be processed for various reasons. + +*EDIT: One of our community members pointed out that also as a part of this Wave of updates, a large collection of GIS (Geographic Information System/Science) software packages. All names of the packages added could be found [here](https://github.com/AOSC-Dev/aosc-os-abbs/tree/b31df1121e7769c575a888e1137bc07a04bc00fc/extra-gis).* + +-------- + + + +AOSC OS running the Deepin Desktop Environment! + +-------- + +*I'm currently on a New Year's trip so I will spare you of long paragraphs of details!* + +For the rest of January, we will continue to work on synchronising updates on all our ports (apart from the MIPS ports, for their still questionable state), and to produce a new wave of tarball releases - it's been almost one year since the last batch and it's getting increasingly unpractical to download and update with. + +Apart from that I would like to drop a note about the recent Intel (and possibly AMD and ARM) Kernel/Compiler security issue, "Meltdown" and "Spectre". Kernel updates are currently in the works, and will be pushed to the stable channel in 24 hours, as for compilers, they will be made available in roughly the same time frame (LLVM), and parts of them in the upcoming Core 5.1 update (probably the day after). + +I will leave a list of recommended sources for you to read up about the details. But for now, enjoy the updates and thank you for your continued support for AOSC OS! + +-------- + +- For a full list of changes, please refer to [here](https://github.com/AOSC-Dev/aosc-os/blob/master/changelogs/201711-201712-changelog.md). +- Meltdown and Spectre related: + - [Meltdown and Spectre](https://meltdownattack.com/) + - [Project Zero: Reading privileged memory with a side-channel](https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html) + - [Google Online Security Blog: +More details about mitigations for the CPU Speculative Execution issue](https://security.googleblog.com/2018/01/more-details-about-mitigations-for-cpu_4.html) + - [Phoronix: +More Linux Kernel & GCC Patches Come Out In The Wake Of Spectre+Meltdown](https://www.phoronix.com/scan.php?page=news_item&px=Linux-Kernel-Retpoline-Patches) + +-------- + +— Mingcong Bai diff --git a/content/news/2018-01-05-aosc-os-end-of-2017-wave-of-updates.zh-cn.md b/content/news/2018-01-05-aosc-os-end-of-2017-wave-of-updates.zh-cn.md new file mode 100644 index 00000000..96f12bb4 --- /dev/null +++ b/content/news/2018-01-05-aosc-os-end-of-2017-wave-of-updates.zh-cn.md @@ -0,0 +1,54 @@ +--- +categories: + - news +date: '2018-01-05' +important: false +title: AOSC OS End-of-2017 Wave of Updates! +--- + + +*First of all, a late Happy New Year...* + +So, after two months of radio silence, here's a (huge) batch of updates for AOSC OS - again, now for AMD64, and later for other ports. We have two major objectives for this wave of updates: + +- Processing package addition/update requests. +- Introduce Deepin Desktop Environment. + +And indeed... We are able to push through with the two objectives: + +- Obviously, a full suite of Deepin Desktop Environment and its default applications are now available from the community repository. +- We have been able to clear out all update requests from the [list](http://pakreq.v2bv.net/). +- 261 new packages have been introduced to the repository as a result of the requests and their dependencies. However, some still [remained](http://pakreq.v2bv.net/) to be processed for various reasons. + +*EDIT: One of our community members pointed out that also as a part of this Wave of updates, a large collection of GIS (Geographic Information System/Science) software packages. All names of the packages added could be found [here](https://github.com/AOSC-Dev/aosc-os-abbs/tree/b31df1121e7769c575a888e1137bc07a04bc00fc/extra-gis).* + +-------- + + + +AOSC OS running the Deepin Desktop Environment! + +-------- + +*I'm currently on a New Year's trip so I will spare you of long paragraphs of details!* + +For the rest of January, we will continue to work on synchronising updates on all our ports (apart from the MIPS ports, for their still questionable state), and to produce a new wave of tarball releases - it's been almost one year since the last batch and it's getting increasingly unpractical to download and update with. + +Apart from that I would like to drop a note about the recent Intel (and possibly AMD and ARM) Kernel/Compiler security issue, "Meltdown" and "Spectre". Kernel updates are currently in the works, and will be pushed to the stable channel in 24 hours, as for compilers, they will be made available in roughly the same time frame (LLVM), and parts of them in the upcoming Core 5.1 update (probably the day after). + +I will leave a list of recommended sources for you to read up about the details. But for now, enjoy the updates and thank you for your continued support for AOSC OS! + +-------- + +- For a full list of changes, please refer to [here](https://github.com/AOSC-Dev/aosc-os/blob/master/changelogs/201711-201712-changelog.md). +- Meltdown and Spectre related: + - [Meltdown and Spectre](https://meltdownattack.com/) + - [Project Zero: Reading privileged memory with a side-channel](https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html) + - [Google Online Security Blog: +More details about mitigations for the CPU Speculative Execution issue](https://security.googleblog.com/2018/01/more-details-about-mitigations-for-cpu_4.html) + - [Phoronix: +More Linux Kernel & GCC Patches Come Out In The Wake Of Spectre+Meltdown](https://www.phoronix.com/scan.php?page=news_item&px=Linux-Kernel-Retpoline-Patches) + +-------- + +— Mingcong Bai diff --git a/content/news/2018-01-06-progress-report-aosc-os-meltdown-and-spectre.md b/content/news/2018-01-06-progress-report-aosc-os-meltdown-and-spectre.md new file mode 100644 index 00000000..f1520f0c --- /dev/null +++ b/content/news/2018-01-06-progress-report-aosc-os-meltdown-and-spectre.md @@ -0,0 +1,22 @@ +--- +categories: + - news +date: '2018-01-06' +important: true +title: 'Progress Report: AOSC OS, "Meltdown" and "Spectre"' +--- + + +It's been more than 24 hours since our last post, and I would like to offer an as-is progress report on our fixes for the "Meltdown" and "Spectre" bug, affecting Intel - potentially AMD and some ARM processors. To make this easy to read, I'll list everything known at this point in bullet points: + +- Linux Kernel fixes. We have been able to produce a working build on the 4.9 branch (LTS current), with backported fixes; while for our 4.14 branch (Main), we are having some issues with DKMS, where kernel modules would fail to build indicating missing `objtool`. The issue with 4.14 is known to be a result of an added feature between 4.14.7 and 4.14.11 (for some reason, on a patch channel?), and we are currently working on a finalised solution. +- Browsers. At this moment, not to be a "shill", but we would not recommend any Web browser **but Firefox**. At this point, only Firefox 57.0.4 was released containing fixes for the "Spectre" security issue. Google has announced that they will make a release with the fixes on the 23rd. Nothing is known with the other browsers. +- Compilers. GCC and LLVM/Clang have already implemented and proposed at least a partial fix, but neither have finalised a patch set for the current stable branch. GCC's fix is not yet mainline, and LLVM/Clang has a patch for the current `master`. +- Qemu and LibVirt. Qemu [stated](https://www.qemu.org/2018/01/04/spectre/) that "there are no public patches to KVM that expose the new CPUID bits and MSRs to the virtual machines, therefore there is no urgent need to update QEMU". However, version 2.11.1 with "Spectre" fixes should be released in the coming days. We are yet to be able to pinpoint the exact fix commit for LibVirt - however, a security advisory was [released by Red Hat](https://access.redhat.com/errata/RHSA-2018:0029). +- Microcode updates. We have not been able to observe any updates from Intel or AMD, we will notify you with a [security mail](mailto:security@lists.aosc.io) - if you haven't subscribed to our security notification list, please do so [here](https://lists.aosc.io/sympa/info/security). + +At this point, only the Firefox 57.0.4 update has been pushed to the stable repository. I will post another news article here on the Portal tomorrow with (hopefully) some progress. + +Please update your AOSC OS at your earliest convenience, and adjust your software selection (highly recommended). + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2018-01-06-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md b/content/news/2018-01-06-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md new file mode 100644 index 00000000..f1520f0c --- /dev/null +++ b/content/news/2018-01-06-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md @@ -0,0 +1,22 @@ +--- +categories: + - news +date: '2018-01-06' +important: true +title: 'Progress Report: AOSC OS, "Meltdown" and "Spectre"' +--- + + +It's been more than 24 hours since our last post, and I would like to offer an as-is progress report on our fixes for the "Meltdown" and "Spectre" bug, affecting Intel - potentially AMD and some ARM processors. To make this easy to read, I'll list everything known at this point in bullet points: + +- Linux Kernel fixes. We have been able to produce a working build on the 4.9 branch (LTS current), with backported fixes; while for our 4.14 branch (Main), we are having some issues with DKMS, where kernel modules would fail to build indicating missing `objtool`. The issue with 4.14 is known to be a result of an added feature between 4.14.7 and 4.14.11 (for some reason, on a patch channel?), and we are currently working on a finalised solution. +- Browsers. At this moment, not to be a "shill", but we would not recommend any Web browser **but Firefox**. At this point, only Firefox 57.0.4 was released containing fixes for the "Spectre" security issue. Google has announced that they will make a release with the fixes on the 23rd. Nothing is known with the other browsers. +- Compilers. GCC and LLVM/Clang have already implemented and proposed at least a partial fix, but neither have finalised a patch set for the current stable branch. GCC's fix is not yet mainline, and LLVM/Clang has a patch for the current `master`. +- Qemu and LibVirt. Qemu [stated](https://www.qemu.org/2018/01/04/spectre/) that "there are no public patches to KVM that expose the new CPUID bits and MSRs to the virtual machines, therefore there is no urgent need to update QEMU". However, version 2.11.1 with "Spectre" fixes should be released in the coming days. We are yet to be able to pinpoint the exact fix commit for LibVirt - however, a security advisory was [released by Red Hat](https://access.redhat.com/errata/RHSA-2018:0029). +- Microcode updates. We have not been able to observe any updates from Intel or AMD, we will notify you with a [security mail](mailto:security@lists.aosc.io) - if you haven't subscribed to our security notification list, please do so [here](https://lists.aosc.io/sympa/info/security). + +At this point, only the Firefox 57.0.4 update has been pushed to the stable repository. I will post another news article here on the Portal tomorrow with (hopefully) some progress. + +Please update your AOSC OS at your earliest convenience, and adjust your software selection (highly recommended). + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2018-01-07-daily-progress-report-aosc-os-meltdown-and-spectre.md b/content/news/2018-01-07-daily-progress-report-aosc-os-meltdown-and-spectre.md new file mode 100644 index 00000000..887e3823 --- /dev/null +++ b/content/news/2018-01-07-daily-progress-report-aosc-os-meltdown-and-spectre.md @@ -0,0 +1,21 @@ +--- +categories: + - news +date: '2018-01-07' +important: true +title: 'Daily Progress Report: AOSC OS, "Meltdown" and "Spectre"' +--- + + +Here's a follow up to yesterday's [Progress Report](https://aosc.io/news/2326-progress-report-aosc-os-meltdown-and-spectre) on the fixing of "Meltdown" and "Spectre" for AOSC OS. Several events have taken place in the past 24 hours: + +- Kernels. We have been able to produce and test both "LTS" and "Main" Kernels to address these security concerns. Please update to 4.9.75 (for "LTS") and 4.14.12 (for "Main") as soon as possible. +- Browsers. A statement from our resident vulnerability tracker Zero King cited a link from Google Support: + +*"Current stable versions of Chrome include an optional feature called Site Isolation which can be enabled to provide mitigation by isolating websites into separate address spaces. Learn more about Site Isolation and how to take action to enable it [from this [link](https://support.google.com/faqs/answer/7622138#chrome)].* + +*"Chrome 64, due to be released on January 23, will contain mitigations to protect against exploitation."* + +At this moment, no other progress has been made on other issues stated on the last report. + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2018-01-07-daily-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md b/content/news/2018-01-07-daily-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md new file mode 100644 index 00000000..887e3823 --- /dev/null +++ b/content/news/2018-01-07-daily-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md @@ -0,0 +1,21 @@ +--- +categories: + - news +date: '2018-01-07' +important: true +title: 'Daily Progress Report: AOSC OS, "Meltdown" and "Spectre"' +--- + + +Here's a follow up to yesterday's [Progress Report](https://aosc.io/news/2326-progress-report-aosc-os-meltdown-and-spectre) on the fixing of "Meltdown" and "Spectre" for AOSC OS. Several events have taken place in the past 24 hours: + +- Kernels. We have been able to produce and test both "LTS" and "Main" Kernels to address these security concerns. Please update to 4.9.75 (for "LTS") and 4.14.12 (for "Main") as soon as possible. +- Browsers. A statement from our resident vulnerability tracker Zero King cited a link from Google Support: + +*"Current stable versions of Chrome include an optional feature called Site Isolation which can be enabled to provide mitigation by isolating websites into separate address spaces. Learn more about Site Isolation and how to take action to enable it [from this [link](https://support.google.com/faqs/answer/7622138#chrome)].* + +*"Chrome 64, due to be released on January 23, will contain mitigations to protect against exploitation."* + +At this moment, no other progress has been made on other issues stated on the last report. + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2018-01-10-core-511-meltdown-and-spectre.md b/content/news/2018-01-10-core-511-meltdown-and-spectre.md new file mode 100644 index 00000000..c8d9f653 --- /dev/null +++ b/content/news/2018-01-10-core-511-meltdown-and-spectre.md @@ -0,0 +1,22 @@ +--- +categories: + - news +date: '2018-01-10' +important: true +title: Core 5.1.1, "Meltdown", and "Spectre" +--- + + +For the past several days we have been continuing our work on the mitigation of "Meltdown" and "Spectre" - though at this point, we are focusing on the latter. + +One of the more important progress is the release of AOSC OS Core 5.1.1, while containing some bugfixes and updates, comes with an updated GCC (GNU Compiler Collection) containing Clear Linux's [implementation/backport](https://github.com/clearlinux-pkgs/gcc/blob/master/retpoline.patch) of Retpoline patch set to the 7.2 branch (which we are currently shipping). The patch set has the target to avoid "generating code which contains an indirect +branch that could have its prediction poisoned by an attacker" - as described by an [LLVM contributor](https://reviews.llvm.org/D41723). While it could take some serious reading to fully understand what is going on, this is a step towards a more complete mitigation of possible impacts of the "Spectre" vulnerability. + +Apart from that, we have the following updates since our last [report](https://aosc.io/news/4444-daily-progress-report-aosc-os-meltdown-and-spectre): + +- Kernels. With the introduction of Retpoline patches to GCC, the 4.14 branch of Kernels ("Mainline" and "Libre") has been rebulit with the patches from [Clear Linux](https://github.com/clearlinux-pkgs/linux) to include similar fixes in the Kernels. No patch had been made available for our 4.9 branch of Kernel yet. +- NVIDIA. A new driver release, version 390.12 has been released to address the Spectre-related vulnerabilities. No statement from NVIDIA about the 340 branch for older cards has been issued, though [question](https://devtalk.nvidia.com/default/topic/1028537/spectre-fix-backport-for-340/) has been raised in the NVIDIA DevTalk Forum. + +That's all for now. We'll continue the progress reports in the coming weeks, possibly. + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2018-01-10-core-511-meltdown-and-spectre.zh-cn.md b/content/news/2018-01-10-core-511-meltdown-and-spectre.zh-cn.md new file mode 100644 index 00000000..c8d9f653 --- /dev/null +++ b/content/news/2018-01-10-core-511-meltdown-and-spectre.zh-cn.md @@ -0,0 +1,22 @@ +--- +categories: + - news +date: '2018-01-10' +important: true +title: Core 5.1.1, "Meltdown", and "Spectre" +--- + + +For the past several days we have been continuing our work on the mitigation of "Meltdown" and "Spectre" - though at this point, we are focusing on the latter. + +One of the more important progress is the release of AOSC OS Core 5.1.1, while containing some bugfixes and updates, comes with an updated GCC (GNU Compiler Collection) containing Clear Linux's [implementation/backport](https://github.com/clearlinux-pkgs/gcc/blob/master/retpoline.patch) of Retpoline patch set to the 7.2 branch (which we are currently shipping). The patch set has the target to avoid "generating code which contains an indirect +branch that could have its prediction poisoned by an attacker" - as described by an [LLVM contributor](https://reviews.llvm.org/D41723). While it could take some serious reading to fully understand what is going on, this is a step towards a more complete mitigation of possible impacts of the "Spectre" vulnerability. + +Apart from that, we have the following updates since our last [report](https://aosc.io/news/4444-daily-progress-report-aosc-os-meltdown-and-spectre): + +- Kernels. With the introduction of Retpoline patches to GCC, the 4.14 branch of Kernels ("Mainline" and "Libre") has been rebulit with the patches from [Clear Linux](https://github.com/clearlinux-pkgs/linux) to include similar fixes in the Kernels. No patch had been made available for our 4.9 branch of Kernel yet. +- NVIDIA. A new driver release, version 390.12 has been released to address the Spectre-related vulnerabilities. No statement from NVIDIA about the 340 branch for older cards has been issued, though [question](https://devtalk.nvidia.com/default/topic/1028537/spectre-fix-backport-for-340/) has been raised in the NVIDIA DevTalk Forum. + +That's all for now. We'll continue the progress reports in the coming weeks, possibly. + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2018-01-13-progress-report-aosc-os-meltdown-and-spectre.md b/content/news/2018-01-13-progress-report-aosc-os-meltdown-and-spectre.md new file mode 100644 index 00000000..27f15e0b --- /dev/null +++ b/content/news/2018-01-13-progress-report-aosc-os-meltdown-and-spectre.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2018-01-13' +important: true +title: 'Progress Report: AOSC OS, "Meltdown" and "Spectre"' +--- + + +Since our last [progress report](https://aosc.io/news/1115-core-511-meltdown-and-spectre), the following progress has been accomplished in our effort to mitigate the "Meltdown" and "Spectre" vulnerabilities for our users: + +- Browsers. With the recently released WebKit2GTK+ 2.18.5, which addressed ["Spectre"-related issues](https://webkitgtk.org/security/WSA-2018-0001.html) - at the present moment, it should be safe to use browsers and applications based on this engine: Midori, Epiphany (GNOME Web), Yelp (GNOME Help/Manual Browser), etc. +- Microcode. Intel has released version 20180108 of their Microcode update package to further the mitigation of both vulnerabilities. However, there are reports announced by [Lenovo](https://pcsupport.lenovo.com/us/en/product_security/ps500151) and [Intel](https://newsroom.intel.com/news/intel-security-issue-update-addressing-reboot-issues/) regarding the update resulting in unexpected reboots. Please notify us if you encountered such issue. +- Applications. Wireshark has recently released version 2.4.4 which mitigated one of the variants of "Spectre", Kernel-Side Attack. + +Please update your AOSC OS as soon as possible. + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2018-01-13-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md b/content/news/2018-01-13-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md new file mode 100644 index 00000000..27f15e0b --- /dev/null +++ b/content/news/2018-01-13-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2018-01-13' +important: true +title: 'Progress Report: AOSC OS, "Meltdown" and "Spectre"' +--- + + +Since our last [progress report](https://aosc.io/news/1115-core-511-meltdown-and-spectre), the following progress has been accomplished in our effort to mitigate the "Meltdown" and "Spectre" vulnerabilities for our users: + +- Browsers. With the recently released WebKit2GTK+ 2.18.5, which addressed ["Spectre"-related issues](https://webkitgtk.org/security/WSA-2018-0001.html) - at the present moment, it should be safe to use browsers and applications based on this engine: Midori, Epiphany (GNOME Web), Yelp (GNOME Help/Manual Browser), etc. +- Microcode. Intel has released version 20180108 of their Microcode update package to further the mitigation of both vulnerabilities. However, there are reports announced by [Lenovo](https://pcsupport.lenovo.com/us/en/product_security/ps500151) and [Intel](https://newsroom.intel.com/news/intel-security-issue-update-addressing-reboot-issues/) regarding the update resulting in unexpected reboots. Please notify us if you encountered such issue. +- Applications. Wireshark has recently released version 2.4.4 which mitigated one of the variants of "Spectre", Kernel-Side Attack. + +Please update your AOSC OS as soon as possible. + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2018-01-25-progress-report-aosc-os-meltdown-and-spectre.md b/content/news/2018-01-25-progress-report-aosc-os-meltdown-and-spectre.md new file mode 100644 index 00000000..3f822f9d --- /dev/null +++ b/content/news/2018-01-25-progress-report-aosc-os-meltdown-and-spectre.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2018-01-25' +important: true +title: 'Progress Report: AOSC OS, "Meltdown" and "Spectre"' +--- + + +Since our last [progress report](https://aosc.io/news/6972-progress-report-aosc-os-meltdown-and-spectre), the following progress has been accomplished in our effort to mitigate the “Meltdown” and “Spectre” vulnerabilities for our users: + +- Browsers. Chromium and Google Chrome 64 (64.0.3282.119), containing fixes for Spectre vulnerabilities, has been made available as a security update. +- Virtualisation. VirtualBox 5.2.6, containing a fix for CVE-2017-5715, a variant of the Spectre vulnerabilities, has been made available as a security update. +- Intel Microcode version 20180108 has been made available as a security update, however, it is warned by Intel that this update could lead to "unexpected reboots" on certain devices. We have decided to provide this update anyway, to make sure maximum patch availability for our users - though if you are encountering issues with this package, please uninstall `intel-ucode`. On the other hand, if you haven't installed this package yet, please do so - though it should install automatically if you have `boot-base` installed. + +Please update your AOSC OS as soon as possible. + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2018-01-25-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md b/content/news/2018-01-25-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md new file mode 100644 index 00000000..3f822f9d --- /dev/null +++ b/content/news/2018-01-25-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2018-01-25' +important: true +title: 'Progress Report: AOSC OS, "Meltdown" and "Spectre"' +--- + + +Since our last [progress report](https://aosc.io/news/6972-progress-report-aosc-os-meltdown-and-spectre), the following progress has been accomplished in our effort to mitigate the “Meltdown” and “Spectre” vulnerabilities for our users: + +- Browsers. Chromium and Google Chrome 64 (64.0.3282.119), containing fixes for Spectre vulnerabilities, has been made available as a security update. +- Virtualisation. VirtualBox 5.2.6, containing a fix for CVE-2017-5715, a variant of the Spectre vulnerabilities, has been made available as a security update. +- Intel Microcode version 20180108 has been made available as a security update, however, it is warned by Intel that this update could lead to "unexpected reboots" on certain devices. We have decided to provide this update anyway, to make sure maximum patch availability for our users - though if you are encountering issues with this package, please uninstall `intel-ucode`. On the other hand, if you haven't installed this package yet, please do so - though it should install automatically if you have `boot-base` installed. + +Please update your AOSC OS as soon as possible. + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2018-02-02-new-tarball-releases.md b/content/news/2018-02-02-new-tarball-releases.md new file mode 100644 index 00000000..e557acd3 --- /dev/null +++ b/content/news/2018-02-02-new-tarball-releases.md @@ -0,0 +1,45 @@ +--- +categories: + - news +date: '2018-02-02' +important: false +title: New Tarball Releases! +--- + + +A long over due batch of updates is now available for the AMD64 architecture, with a date of 20180128. With the last batch of tarballs released almost a year ago, this update should provide quite some convenience for new users, and old users trying to reinstall. + +-------- + +![plasma-20180128](/assets/news/de-preview/kde/1.png) + +Finally, some new looks! + +-------- + +Apart from updating the system releases, we have also made a series of changes to the tarballs - from how they were made, to the content of the tarballs: + +- All tarballs are now generated with [Ciel](https://github.com/AOSC-Dev/ciel), our in-house build environment manager. As compared to manual generation, like we did for the past three years, this method should create more consistent and sane tarballs. +- All desktop-variant tarballs (GNOME, MATE, etc.) are now targeting a size of 2GiB, with the exception of ARMv7 and AArch64 (where space is expected to be more constrained). With the increased tarball size target, we have now pre-installed in addition LibreOffice, printing and scanning utilities, and a larger collection of fonts. +- The tarballs no longer come with a default `aosc` user, or the `users` group occupying the 1000 UID and GID, respectively. You would have to create your own user, as discussed in the [Wiki](https://wiki.aosc.io/). +- For AMD64 Linux Kernel and Intel Microcode are now updated and pre-installed to provide protection (mitigation) against the [Meltdown and Spectre Vulnerabilities](https://meltdownattack.com/). + +In more detail, here are some of the changes we have made to specific variants: + +- Cinnamon has been updated to version 3.6. +- GNOME has been updated to 3.26.2. +- i3wm has slight visual make-over for the top panel and Conky. +- KDE Frameworks have been updated to 5.41.0, while Plasma Desktop has been updated to 5.11.5, and KDE Applications to 17.08.3. +- MATE Desktop has been updated to 1.18.2. + +You may ask, where is the variant for the Deepin Desktop Environment? We have decided not to ship this variant, as we recently discovered a "feature" in the DDE Daemon that changes the system GRUB (bootloader) theme without noticing the users. We are working on a method to remove or disable this feature by default, after which the tarballs could be generated with the next batch of updates. + +Speaking of the next batch, we do recognise that a year-long gap between updates has brought quite some inconvenience for new and old users a like - we do apologise for procrastinating. With automatic generation made available by Ciel, we are considering a fixed schedule for updating and releasing tarballs (say, monthly, or even weekly) to incorporate latest updates, bug fixes, and security updates. A news post will be made on this topic. + +-------- + +As for other architectural ports of AOSC OS, we are still working on syncing package versions on these architectures, we are aiming for tarball releases in Mid-February. + +-------- + +Thank you for choosing AOSC OS and we wish you enjoy the new releases! diff --git a/content/news/2018-02-02-new-tarball-releases.zh-cn.md b/content/news/2018-02-02-new-tarball-releases.zh-cn.md new file mode 100644 index 00000000..e557acd3 --- /dev/null +++ b/content/news/2018-02-02-new-tarball-releases.zh-cn.md @@ -0,0 +1,45 @@ +--- +categories: + - news +date: '2018-02-02' +important: false +title: New Tarball Releases! +--- + + +A long over due batch of updates is now available for the AMD64 architecture, with a date of 20180128. With the last batch of tarballs released almost a year ago, this update should provide quite some convenience for new users, and old users trying to reinstall. + +-------- + +![plasma-20180128](/assets/news/de-preview/kde/1.png) + +Finally, some new looks! + +-------- + +Apart from updating the system releases, we have also made a series of changes to the tarballs - from how they were made, to the content of the tarballs: + +- All tarballs are now generated with [Ciel](https://github.com/AOSC-Dev/ciel), our in-house build environment manager. As compared to manual generation, like we did for the past three years, this method should create more consistent and sane tarballs. +- All desktop-variant tarballs (GNOME, MATE, etc.) are now targeting a size of 2GiB, with the exception of ARMv7 and AArch64 (where space is expected to be more constrained). With the increased tarball size target, we have now pre-installed in addition LibreOffice, printing and scanning utilities, and a larger collection of fonts. +- The tarballs no longer come with a default `aosc` user, or the `users` group occupying the 1000 UID and GID, respectively. You would have to create your own user, as discussed in the [Wiki](https://wiki.aosc.io/). +- For AMD64 Linux Kernel and Intel Microcode are now updated and pre-installed to provide protection (mitigation) against the [Meltdown and Spectre Vulnerabilities](https://meltdownattack.com/). + +In more detail, here are some of the changes we have made to specific variants: + +- Cinnamon has been updated to version 3.6. +- GNOME has been updated to 3.26.2. +- i3wm has slight visual make-over for the top panel and Conky. +- KDE Frameworks have been updated to 5.41.0, while Plasma Desktop has been updated to 5.11.5, and KDE Applications to 17.08.3. +- MATE Desktop has been updated to 1.18.2. + +You may ask, where is the variant for the Deepin Desktop Environment? We have decided not to ship this variant, as we recently discovered a "feature" in the DDE Daemon that changes the system GRUB (bootloader) theme without noticing the users. We are working on a method to remove or disable this feature by default, after which the tarballs could be generated with the next batch of updates. + +Speaking of the next batch, we do recognise that a year-long gap between updates has brought quite some inconvenience for new and old users a like - we do apologise for procrastinating. With automatic generation made available by Ciel, we are considering a fixed schedule for updating and releasing tarballs (say, monthly, or even weekly) to incorporate latest updates, bug fixes, and security updates. A news post will be made on this topic. + +-------- + +As for other architectural ports of AOSC OS, we are still working on syncing package versions on these architectures, we are aiming for tarball releases in Mid-February. + +-------- + +Thank you for choosing AOSC OS and we wish you enjoy the new releases! diff --git a/content/news/2018-04-01-an-important-and-unfortunate-project-update.md b/content/news/2018-04-01-an-important-and-unfortunate-project-update.md new file mode 100644 index 00000000..d40dff79 --- /dev/null +++ b/content/news/2018-04-01-an-important-and-unfortunate-project-update.md @@ -0,0 +1,38 @@ +--- +categories: + - news +date: '2018-04-01' +important: true +title: An Important (and Unfortunate) Project Update +--- + + +Now that April is in full swing, we have some news that should be taken notice by our friends here in this community... + +Recall the message sent out in a similar time last year: + +---- + +*"Since 2014, our community repository has been growing in size due to our (essentially) permissive policy on keeping all old versions of all our packages.* + +*"As we stand today, the repository is roughly 500GiB in size. This is abnormal even when considering all of our architectural ports, as Debian, the largest binary-based *nix distribution requires just over 1TiB in size. This continuing growth in repository size has brought storage challenges to both our mirror hosts and our own repository server."* + +---- + +Another year has passed since the announcement was made, and unfortunately, our repository size has again skyrocketed to the point that we can no longer maintain a reasonable way to keep them there. In order to make the system more future-proof and robust to accommodate all users with all bandwidth limitations as well as our rapid-growing repository size, we have to make the tough decision to remove it entirely from the Internet, and use the more robust Sneakernet in lieu of it. + +The Sneakernet, backed up by the Anthon Optical Storage Center funded also in last year, would unlock the unprecedented experience of data transfer. If you are located within the US, the strong and robust Sneakernet would offer a maximum of 27.7 Mbps, improved to 57.9 Mbps in the upcoming month, at a cost of only USD 0.081/GiB - less than 1/10 of the price comparing to our closest competitor. If you are really in a deep budget, we also offer the lowest cost option of USD 0.044/GiB at a bandwidth of 3.97 Mbps. If you are unfortunately located outside of the US, a roaming charge would have to be applied to it, thus raising the cost slightly. The maximum bandwidth of 9.26 Mbps would come with a charge of 0.298/GiB, and the budget bandwidth of 1.98 Mbps would only come with a cost of USD 0.77/GiB - still cheaper than our closest competitor’s domestic rate. + +However in order to use the next-generation of Sneakernet-based repository distribution system, you would also need some new hardware requirement. The baseline system requirement would include a Blu-Ray Disc drive, in which you may easily find at anywhere at a price of less than USD 75, and it would be a one-time purchase that you can also use it with your Blu-ray HD Movies. + +In favor of the new Sneakernet-based repository, the legacy Internet-based repository would run for another month to allow a smooth transition for our users, and become part of the archive offered by the Anthon Optical Storage Center followed by its official closure date of 20180501T0000Z. While we appreciate the development and support of the Internet over the whole course of the AOSC, there are things we had to give up for others to work better, and unfortunately an Internet-based repository is one that has to go… + +---- + +Now, if you would like to purchase a subscription of our software repository and many additions that will enhance your software installation/update experience - you could do so [here](https://aosc.hanfucw.com/repo/). + +Thank you for your continued support for our community and many of its projects. + +---- + +— Anthon Operation: Sneakernet Committee Chair Staph. O. aureus \ No newline at end of file diff --git a/content/news/2018-04-01-an-important-and-unfortunate-project-update.zh-cn.md b/content/news/2018-04-01-an-important-and-unfortunate-project-update.zh-cn.md new file mode 100644 index 00000000..d40dff79 --- /dev/null +++ b/content/news/2018-04-01-an-important-and-unfortunate-project-update.zh-cn.md @@ -0,0 +1,38 @@ +--- +categories: + - news +date: '2018-04-01' +important: true +title: An Important (and Unfortunate) Project Update +--- + + +Now that April is in full swing, we have some news that should be taken notice by our friends here in this community... + +Recall the message sent out in a similar time last year: + +---- + +*"Since 2014, our community repository has been growing in size due to our (essentially) permissive policy on keeping all old versions of all our packages.* + +*"As we stand today, the repository is roughly 500GiB in size. This is abnormal even when considering all of our architectural ports, as Debian, the largest binary-based *nix distribution requires just over 1TiB in size. This continuing growth in repository size has brought storage challenges to both our mirror hosts and our own repository server."* + +---- + +Another year has passed since the announcement was made, and unfortunately, our repository size has again skyrocketed to the point that we can no longer maintain a reasonable way to keep them there. In order to make the system more future-proof and robust to accommodate all users with all bandwidth limitations as well as our rapid-growing repository size, we have to make the tough decision to remove it entirely from the Internet, and use the more robust Sneakernet in lieu of it. + +The Sneakernet, backed up by the Anthon Optical Storage Center funded also in last year, would unlock the unprecedented experience of data transfer. If you are located within the US, the strong and robust Sneakernet would offer a maximum of 27.7 Mbps, improved to 57.9 Mbps in the upcoming month, at a cost of only USD 0.081/GiB - less than 1/10 of the price comparing to our closest competitor. If you are really in a deep budget, we also offer the lowest cost option of USD 0.044/GiB at a bandwidth of 3.97 Mbps. If you are unfortunately located outside of the US, a roaming charge would have to be applied to it, thus raising the cost slightly. The maximum bandwidth of 9.26 Mbps would come with a charge of 0.298/GiB, and the budget bandwidth of 1.98 Mbps would only come with a cost of USD 0.77/GiB - still cheaper than our closest competitor’s domestic rate. + +However in order to use the next-generation of Sneakernet-based repository distribution system, you would also need some new hardware requirement. The baseline system requirement would include a Blu-Ray Disc drive, in which you may easily find at anywhere at a price of less than USD 75, and it would be a one-time purchase that you can also use it with your Blu-ray HD Movies. + +In favor of the new Sneakernet-based repository, the legacy Internet-based repository would run for another month to allow a smooth transition for our users, and become part of the archive offered by the Anthon Optical Storage Center followed by its official closure date of 20180501T0000Z. While we appreciate the development and support of the Internet over the whole course of the AOSC, there are things we had to give up for others to work better, and unfortunately an Internet-based repository is one that has to go… + +---- + +Now, if you would like to purchase a subscription of our software repository and many additions that will enhance your software installation/update experience - you could do so [here](https://aosc.hanfucw.com/repo/). + +Thank you for your continued support for our community and many of its projects. + +---- + +— Anthon Operation: Sneakernet Committee Chair Staph. O. aureus \ No newline at end of file diff --git a/content/news/2018-04-27-aosc-os-spring-wave-of-updates.md b/content/news/2018-04-27-aosc-os-spring-wave-of-updates.md new file mode 100644 index 00000000..1885f667 --- /dev/null +++ b/content/news/2018-04-27-aosc-os-spring-wave-of-updates.md @@ -0,0 +1,102 @@ +--- +categories: + - news +date: '2018-04-27' +important: false +title: AOSC OS Spring Wave of Updates! +--- + + +I know... We are supposed to push out waves of updates every month, however, with a new constraint added to our already high workload-per-capita, a monthly wave was simply too difficult for our development capacity. However, there are certainly enough changes made to AOSC OS for you to be excited about. + +New Packages, and Dropped Packages +--------------------------------------- + +Several quick statistics on package addition and removal... + +- 63 new packages were added. +- 9 packages were dropped (removed from repository). + +Most of the new packages were not, unfortunately, added from user requests, but to serve new features added to AOSC OS - some of which new functions, some of which dependencies. I will get into more details... Now. + +Enhancements and Changes +--------------------------- + +Most of the package changes made in this Wave are to catch up with upstream versions, and to ensure all architectures could enjoy as much of the new updates as possible. However, changes are also made to the desktop experience and system base in general. + +### Major Component Updates + +- Linux Kernel is updated to the 4.15 branch, while the LTS (Long-Term Support) branch has switched from 4.9 to the 4.14 branch. +- GNOME Desktop and applications have been updated to 3.28. +- KDE Frameworks have been updated to 5.44.0, Plasma Desktop has been updated to 5.12.4, and KDE Applications to 17.12.3. +- MATE Desktop has been updated to 1.20. +- AOSC OS Core has been updated to [5.3.1](https://github.com/AOSC-Dev/aosc-os-core/releases/tag/v5.3.1), with component updates and added RISC-V architecture support. + +### Desktop-Specific Changes + +Various MATE components have been updated and ported from Ubuntu MATE to further enhance desktop functionalities and user experience. Most notably of which was the introduction of MATE Tweak, which allows for easy management of desktop layouts, window manager alternatives, and individual enhancements like the MATE HUD (a keyboard-driven menu browsing system) and global application menu (as found with macOS and Unity 7). + +---- + +![mate-tweak](/assets/news/2018-spring-mate-tweak.png) + +MATE Tweak, showing possible customisations with desktop layouts and extra panel features. + +---- + +### Core Component Enhancements + +Package for GNU C Library (Glibc, `glibc`) now generates all locales at compile-time. Users should experience significantly faster update times, especially on performance constrained devices like older PowerPC hardware, ARM-based devices, etc. as the package will no longer generate locales as a post-installation configuration procedure - saving up to an hour. + +### Performance Enhancements + +With Fontconfig updated to 2.13.0 and Michal Srb's performance tweaks (https://github.com/michalsrb/fontconfig) rebased to our Fontconfig package, applications like LibreOffice should see visible improvement to UI responsiveness. The new update also significantly improved efficiency of font cache generation (fc-cache), especially with larger font packages installed (Noto CJK Fonts, for instance), generation time reduced from several minutes to seconds - also avoiding freezing issues with GNOME when updating the Fontconfig package. + +We have also [removed an old patch](https://github.com/AOSC-Dev/aosc-os-abbs/commit/48b896b282d6e3a0c1531c646a7107d9afa97fe9) for Pixman which introduces gamma correction, as it caused larger LibreOffice Calc to become unresponsive when scrolling through larger spreadsheets. + +Architectural Ports +---------------------- + +As mentioned in our last Wave's [announcement](https://aosc.io/news/AOSC-OS-End-of-2017-Wave-of-Updates) in January, we were working on re-synchronising package updates between our various architectural ports. We are happy to report that this wave of updates are now available for all of our currently active ports: + +- AMD64, or x86_64 (`amd64`). +- ARMv7 (`armel`) and AArch64 (`arm64`). +- PowerPC 32/64-bit, Big Endian (`powerpc` and `ppc64`, respectively). + +---- + +![ibook-g4](/assets/news/2018-spring-ibook-g4.jpg) + +Apple iBook G4, freshly updated to the Spring Wave. + +---- + +And so says "active", as in this news, we regret to announce an indefinite freeze to our MIPS/Loongson ports due to lack of developer commitment and the software repositories for both 32 and 64 bit ports are now off-line. We will report back if we gain any more development support for these two ports. + +Oops, almost forgot, we have now started an experimental port to the RISC-V 64-bit architecture (specifically, `rv64gc`). We have now compiled all packages contained in a "Container" distribution variant - that is, a "Base" variant minus bootloader and Linux Kernel. Due to the lack of hardware available to our developers, we currently have no plan to expand this particular repository. Also, due to the experimental nature of this port, we have not yet differentiated stable and testing repositories for this port. The packaging architecture is denoted as `riscv64`. + +New Tarballs? +--------------- + +We are looking to release new tarballs for all architectures in the coming month, along with updated ARM device images. + +---- + +![n900](/assets/news/2018-spring-n900.jpg) + +A sneak-peek at our new project device, Nokia N900, running on mainline Linux Kernel. + +---- + +Next Wave, When? +------------------ + +Assuming that the current development workload continues, you should expect the next wave of update before July - though still in debate, our update cycle may lengthen to a season (that is, normally, three months) instead of a monthly update. + +In the coming cycle, we will return our focus on user requests and further enhancement of user experience (or usability in general) on non-AMD64 ports, especially for users of ARM-based devices. + +---- + +Thanks for your continued support for AOSC OS, and we wish you productivity and enjoyment with AOSC OS. + +— Mingcong Bai diff --git a/content/news/2018-04-27-aosc-os-spring-wave-of-updates.zh-cn.md b/content/news/2018-04-27-aosc-os-spring-wave-of-updates.zh-cn.md new file mode 100644 index 00000000..1885f667 --- /dev/null +++ b/content/news/2018-04-27-aosc-os-spring-wave-of-updates.zh-cn.md @@ -0,0 +1,102 @@ +--- +categories: + - news +date: '2018-04-27' +important: false +title: AOSC OS Spring Wave of Updates! +--- + + +I know... We are supposed to push out waves of updates every month, however, with a new constraint added to our already high workload-per-capita, a monthly wave was simply too difficult for our development capacity. However, there are certainly enough changes made to AOSC OS for you to be excited about. + +New Packages, and Dropped Packages +--------------------------------------- + +Several quick statistics on package addition and removal... + +- 63 new packages were added. +- 9 packages were dropped (removed from repository). + +Most of the new packages were not, unfortunately, added from user requests, but to serve new features added to AOSC OS - some of which new functions, some of which dependencies. I will get into more details... Now. + +Enhancements and Changes +--------------------------- + +Most of the package changes made in this Wave are to catch up with upstream versions, and to ensure all architectures could enjoy as much of the new updates as possible. However, changes are also made to the desktop experience and system base in general. + +### Major Component Updates + +- Linux Kernel is updated to the 4.15 branch, while the LTS (Long-Term Support) branch has switched from 4.9 to the 4.14 branch. +- GNOME Desktop and applications have been updated to 3.28. +- KDE Frameworks have been updated to 5.44.0, Plasma Desktop has been updated to 5.12.4, and KDE Applications to 17.12.3. +- MATE Desktop has been updated to 1.20. +- AOSC OS Core has been updated to [5.3.1](https://github.com/AOSC-Dev/aosc-os-core/releases/tag/v5.3.1), with component updates and added RISC-V architecture support. + +### Desktop-Specific Changes + +Various MATE components have been updated and ported from Ubuntu MATE to further enhance desktop functionalities and user experience. Most notably of which was the introduction of MATE Tweak, which allows for easy management of desktop layouts, window manager alternatives, and individual enhancements like the MATE HUD (a keyboard-driven menu browsing system) and global application menu (as found with macOS and Unity 7). + +---- + +![mate-tweak](/assets/news/2018-spring-mate-tweak.png) + +MATE Tweak, showing possible customisations with desktop layouts and extra panel features. + +---- + +### Core Component Enhancements + +Package for GNU C Library (Glibc, `glibc`) now generates all locales at compile-time. Users should experience significantly faster update times, especially on performance constrained devices like older PowerPC hardware, ARM-based devices, etc. as the package will no longer generate locales as a post-installation configuration procedure - saving up to an hour. + +### Performance Enhancements + +With Fontconfig updated to 2.13.0 and Michal Srb's performance tweaks (https://github.com/michalsrb/fontconfig) rebased to our Fontconfig package, applications like LibreOffice should see visible improvement to UI responsiveness. The new update also significantly improved efficiency of font cache generation (fc-cache), especially with larger font packages installed (Noto CJK Fonts, for instance), generation time reduced from several minutes to seconds - also avoiding freezing issues with GNOME when updating the Fontconfig package. + +We have also [removed an old patch](https://github.com/AOSC-Dev/aosc-os-abbs/commit/48b896b282d6e3a0c1531c646a7107d9afa97fe9) for Pixman which introduces gamma correction, as it caused larger LibreOffice Calc to become unresponsive when scrolling through larger spreadsheets. + +Architectural Ports +---------------------- + +As mentioned in our last Wave's [announcement](https://aosc.io/news/AOSC-OS-End-of-2017-Wave-of-Updates) in January, we were working on re-synchronising package updates between our various architectural ports. We are happy to report that this wave of updates are now available for all of our currently active ports: + +- AMD64, or x86_64 (`amd64`). +- ARMv7 (`armel`) and AArch64 (`arm64`). +- PowerPC 32/64-bit, Big Endian (`powerpc` and `ppc64`, respectively). + +---- + +![ibook-g4](/assets/news/2018-spring-ibook-g4.jpg) + +Apple iBook G4, freshly updated to the Spring Wave. + +---- + +And so says "active", as in this news, we regret to announce an indefinite freeze to our MIPS/Loongson ports due to lack of developer commitment and the software repositories for both 32 and 64 bit ports are now off-line. We will report back if we gain any more development support for these two ports. + +Oops, almost forgot, we have now started an experimental port to the RISC-V 64-bit architecture (specifically, `rv64gc`). We have now compiled all packages contained in a "Container" distribution variant - that is, a "Base" variant minus bootloader and Linux Kernel. Due to the lack of hardware available to our developers, we currently have no plan to expand this particular repository. Also, due to the experimental nature of this port, we have not yet differentiated stable and testing repositories for this port. The packaging architecture is denoted as `riscv64`. + +New Tarballs? +--------------- + +We are looking to release new tarballs for all architectures in the coming month, along with updated ARM device images. + +---- + +![n900](/assets/news/2018-spring-n900.jpg) + +A sneak-peek at our new project device, Nokia N900, running on mainline Linux Kernel. + +---- + +Next Wave, When? +------------------ + +Assuming that the current development workload continues, you should expect the next wave of update before July - though still in debate, our update cycle may lengthen to a season (that is, normally, three months) instead of a monthly update. + +In the coming cycle, we will return our focus on user requests and further enhancement of user experience (or usability in general) on non-AMD64 ports, especially for users of ARM-based devices. + +---- + +Thanks for your continued support for AOSC OS, and we wish you productivity and enjoyment with AOSC OS. + +— Mingcong Bai diff --git a/content/news/2018-07-17-aoscc-2018.md b/content/news/2018-07-17-aoscc-2018.md new file mode 100644 index 00000000..a2b68df0 --- /dev/null +++ b/content/news/2018-07-17-aoscc-2018.md @@ -0,0 +1,70 @@ +--- +categories: + - news +date: '2018-07-17' +important: false +title: AOSCC 2018 +--- + + +It's been nearly three months without any posting on the Portal - these have certainly been three busy months for us. Our community is still alive - just check out our [GitHub Organisation](https://github.com/AOSC-Dev/)... A more detailed "what's-up" post will be made on a later date. + +But anyways, let's get to the subject. + +AOSCC 2018, An Online Gathering +------------------------------- + +Unfortunately, AOSCC 2018 will not be held in Wuhan as promised from our last [AOSCC Re-cap](https://aosc.io/news/5959-aoscc-2017-re-cap) due to some reasons out of our hands - and for this particular reason, we were unable to obtain any viable venues for our annual gathering/conference. Therefore, we will be doing this online instead - (hopefully) same discussions, same community-wide polls, and same fun. + +AOSCC 2018 will take place on an open [Telegram Group](https://t.me/aoscc2018), which is synchronised with an IRC channel (which we will have to make another post about, since we are not yet ready with that). While another Telegram Group will be made available to attendees to cast their votes. + +As most participants and contributors to AOSC projects are Chinese speakers, we will limit our discussion languages to Chinese Simplified and Chinese Traditional - while English could certainly be viable, it may still hinder your ability to participate in our discussions, as we would have to switch back and forth between languages. + +The 2018 online gathering and conferences will take place across two weekends, the weekend of July 21st, and the weekend of July 28th. A detailed schedule could be found on the event read-me file linked below - though be advised that all discussion sessions are organised according to the China Standard Time (UTC+8) considering the geographic distribution of community members, so do convert and plan ahead of time if you do not reside in this particular timezone. + +For more details about the organisation, scheduling, and rules of the gathering and conferences, please take a read at our [AOSCC 2018 README](https://github.com/AOSC-Dev/aoscc/blob/master/2018/README.md). We look forward to see you this weekend! + +AOSC OS Core 6 Codename, and 2018 - 2019 Wallpapers +--------------------------------------------------- + +As per tradition, we will be voting community-wide on a (meme-worthy) codename for the next [AOSC OS Core](https://github.com/AOSC-Dev/aosc-os-core) release series, and also for a default wallpaper for the AOSC OS releases of the coming year. Here's how you could participate... + +### Codename + +This year's AOSC OS Core codename will be named after a word or two-word phrase headed by the letter "F" (as natural succession to Core 3's "Cyanflame", Core 4's "Duang-Duang", and the current Core 5's "eMMC"). With additonal constraints... + +- Do not include any politically-charged keyword(s), topic(s), or opinion(s). +- Do not include any profanity. +- Do not nominate "F", a single letter. +- Do not include words or phrases that are copyrighted and disallowed to be used even on a non-commercial basis. + +While we do not necessarily block nominations, any codename submitted that violates any of the four rules above will be invalidated - and of course, you will be notified. You are free to nominate more than one codename. + +Otherwise, please submit your codename nomination by July 21st (UTC) at [aoscc2018@aosc.io](mailto:aoscc2018@aosc.io). + +### Wallpapers + +Next year's (from this July to the next) AOSC OS system releases/distributions will apply a new set of wallpapers, and one that will be used as the default for all releases. If you would like to submit and compete for the "default" status... + +- Your submission must be your *original creation* and licensed accordingly to allow for redistribution with the system releases. +- Your submission must be in nature of computer-aided design but not of original and non-stylised photography. +- Your submission must not include any reference to politically-charged keyword(s), icons(s), or opinion(s). +- You must not submit more than one design - though it could be a collection of variants of the same design, which will be treated as a collection. + +If you would like to submit your work to be a part of the default wallpapers collection... + +- Your submission(s) must be your *original creation* and licensed accordingly to allow for redistribution with the system releases. +- Your submission(s) must not include any reference to politically-charged keyword(s), icons(s), or opinion(s). + +Any submission that violates any of the rules above will be invalidated, and you will be notified of this incident, along with our evaluation. + +Otherwise, please submit your wallpaper(s) by July 28th (UTC) at [aoscc2018@aosc.io](mailto:aoscc2018@aosc.io). + +Questions? +---------- + +If you have any questions or concerns, please [file an issue](https://github.com/AOSC-Dev/aoscc/issues/new) at our AOSCC GitHub repository. + +---- + +— Mingcong Bai diff --git a/content/news/2018-07-17-aoscc-2018.zh-cn.md b/content/news/2018-07-17-aoscc-2018.zh-cn.md new file mode 100644 index 00000000..a2b68df0 --- /dev/null +++ b/content/news/2018-07-17-aoscc-2018.zh-cn.md @@ -0,0 +1,70 @@ +--- +categories: + - news +date: '2018-07-17' +important: false +title: AOSCC 2018 +--- + + +It's been nearly three months without any posting on the Portal - these have certainly been three busy months for us. Our community is still alive - just check out our [GitHub Organisation](https://github.com/AOSC-Dev/)... A more detailed "what's-up" post will be made on a later date. + +But anyways, let's get to the subject. + +AOSCC 2018, An Online Gathering +------------------------------- + +Unfortunately, AOSCC 2018 will not be held in Wuhan as promised from our last [AOSCC Re-cap](https://aosc.io/news/5959-aoscc-2017-re-cap) due to some reasons out of our hands - and for this particular reason, we were unable to obtain any viable venues for our annual gathering/conference. Therefore, we will be doing this online instead - (hopefully) same discussions, same community-wide polls, and same fun. + +AOSCC 2018 will take place on an open [Telegram Group](https://t.me/aoscc2018), which is synchronised with an IRC channel (which we will have to make another post about, since we are not yet ready with that). While another Telegram Group will be made available to attendees to cast their votes. + +As most participants and contributors to AOSC projects are Chinese speakers, we will limit our discussion languages to Chinese Simplified and Chinese Traditional - while English could certainly be viable, it may still hinder your ability to participate in our discussions, as we would have to switch back and forth between languages. + +The 2018 online gathering and conferences will take place across two weekends, the weekend of July 21st, and the weekend of July 28th. A detailed schedule could be found on the event read-me file linked below - though be advised that all discussion sessions are organised according to the China Standard Time (UTC+8) considering the geographic distribution of community members, so do convert and plan ahead of time if you do not reside in this particular timezone. + +For more details about the organisation, scheduling, and rules of the gathering and conferences, please take a read at our [AOSCC 2018 README](https://github.com/AOSC-Dev/aoscc/blob/master/2018/README.md). We look forward to see you this weekend! + +AOSC OS Core 6 Codename, and 2018 - 2019 Wallpapers +--------------------------------------------------- + +As per tradition, we will be voting community-wide on a (meme-worthy) codename for the next [AOSC OS Core](https://github.com/AOSC-Dev/aosc-os-core) release series, and also for a default wallpaper for the AOSC OS releases of the coming year. Here's how you could participate... + +### Codename + +This year's AOSC OS Core codename will be named after a word or two-word phrase headed by the letter "F" (as natural succession to Core 3's "Cyanflame", Core 4's "Duang-Duang", and the current Core 5's "eMMC"). With additonal constraints... + +- Do not include any politically-charged keyword(s), topic(s), or opinion(s). +- Do not include any profanity. +- Do not nominate "F", a single letter. +- Do not include words or phrases that are copyrighted and disallowed to be used even on a non-commercial basis. + +While we do not necessarily block nominations, any codename submitted that violates any of the four rules above will be invalidated - and of course, you will be notified. You are free to nominate more than one codename. + +Otherwise, please submit your codename nomination by July 21st (UTC) at [aoscc2018@aosc.io](mailto:aoscc2018@aosc.io). + +### Wallpapers + +Next year's (from this July to the next) AOSC OS system releases/distributions will apply a new set of wallpapers, and one that will be used as the default for all releases. If you would like to submit and compete for the "default" status... + +- Your submission must be your *original creation* and licensed accordingly to allow for redistribution with the system releases. +- Your submission must be in nature of computer-aided design but not of original and non-stylised photography. +- Your submission must not include any reference to politically-charged keyword(s), icons(s), or opinion(s). +- You must not submit more than one design - though it could be a collection of variants of the same design, which will be treated as a collection. + +If you would like to submit your work to be a part of the default wallpapers collection... + +- Your submission(s) must be your *original creation* and licensed accordingly to allow for redistribution with the system releases. +- Your submission(s) must not include any reference to politically-charged keyword(s), icons(s), or opinion(s). + +Any submission that violates any of the rules above will be invalidated, and you will be notified of this incident, along with our evaluation. + +Otherwise, please submit your wallpaper(s) by July 28th (UTC) at [aoscc2018@aosc.io](mailto:aoscc2018@aosc.io). + +Questions? +---------- + +If you have any questions or concerns, please [file an issue](https://github.com/AOSC-Dev/aoscc/issues/new) at our AOSCC GitHub repository. + +---- + +— Mingcong Bai diff --git a/content/news/2018-08-13-re-cap-aoscc-2018.md b/content/news/2018-08-13-re-cap-aoscc-2018.md new file mode 100644 index 00000000..ee893847 --- /dev/null +++ b/content/news/2018-08-13-re-cap-aoscc-2018.md @@ -0,0 +1,129 @@ +--- +categories: + - news +date: '2018-08-13' +important: false +title: 'Re-Cap: AOSCC 2018' +--- + + +Even though we didn't have the fortune to meet each other in person like we did last year, AOSCC 2018 has been productive and a whole heap of fun. While there's obviously no picture of the event this time, we do have a full [log](https://github.com/AOSC-Dev/aoscc/blob/master/2018/conference-log) of the sessions over the two weeks for your reference. + +This year's conference was constituted by a series of topic, with 14 topics discussed across 16 sessions over the span of two weekends. The purpose of this news post is to provide a summary of decisions made and changes planned for the coming year - so you'll know what to expect. There are lots of things to talk about so... Let's dive in. + +Codename and Wallpaper +---------------------- + +Friends of our community never disappoints in terms of creativity and sense of humour... And this year is no exception. Out of 40 nominated codenames, the community voted "Fsck" to be the codename of AOSC OS Core 6. Fsck, [file system consistency check](https://en.wikipedia.org/wiki/Fsck), or an elegant rendition of a widely used profanity - like how Fsck was originally called... + +``` +*Dennis Ritchie: “So fsck was originally called something else”* +*Question: “What was it called?”* +*Dennis Ritchie: "Well, the second letter was different"* +``` + +This year's default wallpaper was made by [Tianhao Chai](https://github.com/cthbleachbit) with Blender - titled "Campanula". + +![campanula-alt](https://github.com/AOSC-Dev/aosc-os-artworks/raw/core6/rendered/16-9/campanula-alt-16-9.png) + +"Campanula" also comes in two variants, one with an alternative layout, and another rendered in a "neon light" style. All these wallpapers could be downloaded [here](https://github.com/AOSC-Dev/aosc-os-artworks/tree/core6/rendered). + +We have also received 39 wallpaper submissions from our community members, currently available for download [here](https://drive.google.com/drive/folders/1pt7p27k8pDzAb5zrQ5k8ILuZ4uO6duLP) + +AOSC OS Core 6 +-------------- + +AOSC OS will continue to evolve around a Core, and with Core 6, we expect to make some major changes in terms of version updates and build configurations. + +- Version updates, for example, GCC 8.2, and GNU C Library 2.28, etc. +- GCC will (finally) update to the new stdc++ ABI, no longer using the aging GCC 4 compatibility ABI. +- For AMD64, the default `-mtune=` parametre will now point to `sandybridge` instead of `core2`, which should marginally improve binary performance on newer AMD64 devices. + +AOSC OS Core 6 will come as a part of the next wave of major updates, expected in December. + +Changes to AOSC OS Updates and Branches +--------------------------------------- + +Two of the most notable changes planned are the switch to a seasonal update model, and the introduction of a third system update branch/channel. Allow me to break it down a little bit... + +### Seasonal Update Model + +This change originated largely originated from the time and scheduling trouble we have had since the last summer's switch to monthly update cycles - as there's simply too little time for us to make it happen (and too little of us, mind you), and we did not have a concrete policy on feature planning and freezing periods. + +With this new update model, the change is not limited to (obviously) switching to a seasonal schedule to provide stable updates. With this new model, extensive changes are made to how AOSC OS is maintained and updated - known patch releases (typically, `z` in a `x.y.z` version format) will be provided for "stable" channel users, a month-long freezing period will be set in place for the "testing" channel, a strategy to align update cycles with upstream LTS branch updates is also introduced. + +The "stable" channel will also become our focus of maintenance, which we find a bit "left behind" and starved of updates. While this tend not to break things - since security updates were practically the only updates pushed to this channel - the channel also suffered from lack of backported bugfix due to the aforementioned time and scheduling issues. A good example of this issue is best demonstrated in this severely delayed update cycle, where on the "stable" channel a graphical bug that prevented transparency to be displayed on Plasma panels on deviced with Intel GMA/Core Graphics - while this was addressed when [libGLVND](https://github.com/NVIDIA/libglvnd) was introduced in the "testing" channel, though for the extensive changes required to introduce this library and the fact that we did not have enough time to investigate for a more minimalistic approach to fix this issue, this "fix" was then never backported to the "stable" channel. + +Users of the "testing" channel can also expect more stability in the future, as updates will go through a process of automatic testing and auditing before landing in this channel. This will be discussed in the section below. + +### Introducing... The "Explosive" Channel + +This update channel is intended as a "No Man's Land", where immediate version updates are uploaded, and tested automatically, before landing in the "testing" channel. + +The "explosive" channel is also introduced to aid in feature freezing and release scheduling, as freezing for users of both channels will no longer hinder package updates - to reduce time waste, which could in turn hinder updates for the next cycle. + +The branch is also limited to the `amd64` port of AOSC OS - due to computational limitations, we chose not to build any "explosive" updates on the other ports, they will in turn receive updates merged from the "explosive" branch, while build fixes for these ports will be merged back to "explosive". + +Again, this channel is not intended to be used by anyone - not even the developers themselves. If you feel obliged to update with this channel, you are on your own. + +Security Updates +---------------- + +On the question of security updates, we are looking to expand user notifications beyond GitHub issues and our `security@lists.aosc.io` mailing list. In the future, security advisories will be posted as a brief list here on the Portal. + +We are also seeking help on security vulnerable discovery, reporting, fixing, and testing - please do contact us at `#aosc` or at our Telegram group if you are interested. + +Implementing AOSC OS Optimisation Overlays +------------------------------------------ + +This change was first discussed at AOSCC 2017 but was unfortunately never materialised, though overlay support has already been implemented in [Autobuild3](https://github.com/AOSC-Dev/autobuild3) and [apt-gen-list](https://github.com/AOSC-Dev/apt-gen-list). + +We will implement two overlays in the coming year - in the form of an extra repository: + +- AMD64 `AVX2+` Overlay, for AVX2-enabled (Advanced Vector Extensions 2) devices, where most devices with Intel Haswell (4th Generation Core) processors or newer, and all AMD Ryzen are supported. +- PowerPC 32-bit Big Endian `G4+` Overlay, intended for PowerPC-based Apple Macintosh computers with a G4 processor or newer - where AltiVec is available. + +Both overlays aimed to produce higher performance binaries with optimisations for these newer, vector-based instruction sets (or SIMD) - this can provide performance uplift in certain applications, as benchmarked by [Phoronix](https://www.phoronix.com/scan.php?page=article&item=intel_core_avx2&num=1) in the case of AVX2 in 2013. + +However, these optimisations may come with a price of higher power consumption and heat output - as briefly described in this [Super User Post](https://superuser.com/a/981477). In our current plan, users will be made aware if an overlay repository is available for their device(s), though it will not be enabled by default automatically. We plan to conduct more up-to-date performance, power consumption, and thermal testings in the future. + +LiveKit, RescueKit, and System Releases +--------------------------------------- + +One of the longest running discussion among the AOSC OS users and developers has been the introduction of Live media and a system installer. For system installation and configuration, LiveKit will be similar to GParted Live - a lightweight toolkit environment. + +An installation program is also planned, inspired by the [Which Wich order form](https://3.bp.blogspot.com/-Xv3kq_UsZX0/WPZ4wQtECDI/AAAAAAAADUY/MGEnX3QN84Qmyz4ho3OzP7fR252JCsSbACEw/s1600/Which%2BWich%2BEnvelope.jpg) - a single-page installation configurator. More details will come once the implementation process begins. + +RescueKit takes on roughly the same idea, though it is assembled as a RAM disk image that is bootable right from the GRUB menu - where users could boot into to repair their AOSC OS installation. Additionally, users will be able to package a backup of their current system as a system tarball, which could be in turn installed by the system installer, as discussed above. + +In the question of system releases, we plan on maintaining a seasonal update cycle, much like the aforementioned seasonal update model - with additional system releases made available in case of major security vulnerabilities. + +AOSC Bazaar +----------- + +In the coming months, a community-wide platform for goods and devices exchange will be implemented to provide friends in and around the community with community goods such as the legendary (?) AOSCC sticker packs and other souvenirs. + +Community developers could also request for compiling/testing/... devices on this platform, which will be provided by community members or other developers as a donation. + +What's More? +------------ + +This has already been quite a long news post, so it might not be in the interest of information and transparency to keep extending this post. Here is a brief (and incomplete) list of things we've discussed and decided upon, in no particular order... + +- AOSC OS packaging repository ([aosc-os-abbs](https://github.com/AOSC-Dev/aosc-os-abbs) and [aosc-os-core](https://github.com/AOSC-Dev/aosc-os-core)) will begin to enforce source checksum, link accessibility, secure connections (HTTPS replacing HTTP and FTP, as much as possible). +- Old forks found in our [GitHub organisation](https://github.com/AOSC-Dev) will be cleaned up and archived. +- AOSC OS's KDE/Plasma variant will switch to the [Arc KDE](https://github.com/PapirusDevelopmentTeam/arc-kde) theme and a suitable icon theme. +- Introduction of package variants for different system configurations. +- Packages for legacy ports (specified as ARMv7, `armel`; and PowerPC 32-bit Big Endian, `powerpc`) will have minimalised configurations to remove features unsuitable or unapplicable to their performance and platform support. + +AOSCC 2019? +----------- + +With the lessons learned from AOSCC 2018, we will no longer hold community-wide poll on next year's meeting location unless anyone could secure a venue before hand. Therefore, next year's meeting location is not yet known, and hopefully we will get some choices in the near future. + +Conclusion +---------- + +And with such, the re-cap of AOSCC 2018 is now complete, AOSCC 2018 had been quite a productive conference and will surely point a clearer direction for our community projects in the coming year. Look forward to see you again in AOSCC 2019! + +— Mingcong Bai diff --git a/content/news/2018-08-13-re-cap-aoscc-2018.zh-cn.md b/content/news/2018-08-13-re-cap-aoscc-2018.zh-cn.md new file mode 100644 index 00000000..ee893847 --- /dev/null +++ b/content/news/2018-08-13-re-cap-aoscc-2018.zh-cn.md @@ -0,0 +1,129 @@ +--- +categories: + - news +date: '2018-08-13' +important: false +title: 'Re-Cap: AOSCC 2018' +--- + + +Even though we didn't have the fortune to meet each other in person like we did last year, AOSCC 2018 has been productive and a whole heap of fun. While there's obviously no picture of the event this time, we do have a full [log](https://github.com/AOSC-Dev/aoscc/blob/master/2018/conference-log) of the sessions over the two weeks for your reference. + +This year's conference was constituted by a series of topic, with 14 topics discussed across 16 sessions over the span of two weekends. The purpose of this news post is to provide a summary of decisions made and changes planned for the coming year - so you'll know what to expect. There are lots of things to talk about so... Let's dive in. + +Codename and Wallpaper +---------------------- + +Friends of our community never disappoints in terms of creativity and sense of humour... And this year is no exception. Out of 40 nominated codenames, the community voted "Fsck" to be the codename of AOSC OS Core 6. Fsck, [file system consistency check](https://en.wikipedia.org/wiki/Fsck), or an elegant rendition of a widely used profanity - like how Fsck was originally called... + +``` +*Dennis Ritchie: “So fsck was originally called something else”* +*Question: “What was it called?”* +*Dennis Ritchie: "Well, the second letter was different"* +``` + +This year's default wallpaper was made by [Tianhao Chai](https://github.com/cthbleachbit) with Blender - titled "Campanula". + +![campanula-alt](https://github.com/AOSC-Dev/aosc-os-artworks/raw/core6/rendered/16-9/campanula-alt-16-9.png) + +"Campanula" also comes in two variants, one with an alternative layout, and another rendered in a "neon light" style. All these wallpapers could be downloaded [here](https://github.com/AOSC-Dev/aosc-os-artworks/tree/core6/rendered). + +We have also received 39 wallpaper submissions from our community members, currently available for download [here](https://drive.google.com/drive/folders/1pt7p27k8pDzAb5zrQ5k8ILuZ4uO6duLP) + +AOSC OS Core 6 +-------------- + +AOSC OS will continue to evolve around a Core, and with Core 6, we expect to make some major changes in terms of version updates and build configurations. + +- Version updates, for example, GCC 8.2, and GNU C Library 2.28, etc. +- GCC will (finally) update to the new stdc++ ABI, no longer using the aging GCC 4 compatibility ABI. +- For AMD64, the default `-mtune=` parametre will now point to `sandybridge` instead of `core2`, which should marginally improve binary performance on newer AMD64 devices. + +AOSC OS Core 6 will come as a part of the next wave of major updates, expected in December. + +Changes to AOSC OS Updates and Branches +--------------------------------------- + +Two of the most notable changes planned are the switch to a seasonal update model, and the introduction of a third system update branch/channel. Allow me to break it down a little bit... + +### Seasonal Update Model + +This change originated largely originated from the time and scheduling trouble we have had since the last summer's switch to monthly update cycles - as there's simply too little time for us to make it happen (and too little of us, mind you), and we did not have a concrete policy on feature planning and freezing periods. + +With this new update model, the change is not limited to (obviously) switching to a seasonal schedule to provide stable updates. With this new model, extensive changes are made to how AOSC OS is maintained and updated - known patch releases (typically, `z` in a `x.y.z` version format) will be provided for "stable" channel users, a month-long freezing period will be set in place for the "testing" channel, a strategy to align update cycles with upstream LTS branch updates is also introduced. + +The "stable" channel will also become our focus of maintenance, which we find a bit "left behind" and starved of updates. While this tend not to break things - since security updates were practically the only updates pushed to this channel - the channel also suffered from lack of backported bugfix due to the aforementioned time and scheduling issues. A good example of this issue is best demonstrated in this severely delayed update cycle, where on the "stable" channel a graphical bug that prevented transparency to be displayed on Plasma panels on deviced with Intel GMA/Core Graphics - while this was addressed when [libGLVND](https://github.com/NVIDIA/libglvnd) was introduced in the "testing" channel, though for the extensive changes required to introduce this library and the fact that we did not have enough time to investigate for a more minimalistic approach to fix this issue, this "fix" was then never backported to the "stable" channel. + +Users of the "testing" channel can also expect more stability in the future, as updates will go through a process of automatic testing and auditing before landing in this channel. This will be discussed in the section below. + +### Introducing... The "Explosive" Channel + +This update channel is intended as a "No Man's Land", where immediate version updates are uploaded, and tested automatically, before landing in the "testing" channel. + +The "explosive" channel is also introduced to aid in feature freezing and release scheduling, as freezing for users of both channels will no longer hinder package updates - to reduce time waste, which could in turn hinder updates for the next cycle. + +The branch is also limited to the `amd64` port of AOSC OS - due to computational limitations, we chose not to build any "explosive" updates on the other ports, they will in turn receive updates merged from the "explosive" branch, while build fixes for these ports will be merged back to "explosive". + +Again, this channel is not intended to be used by anyone - not even the developers themselves. If you feel obliged to update with this channel, you are on your own. + +Security Updates +---------------- + +On the question of security updates, we are looking to expand user notifications beyond GitHub issues and our `security@lists.aosc.io` mailing list. In the future, security advisories will be posted as a brief list here on the Portal. + +We are also seeking help on security vulnerable discovery, reporting, fixing, and testing - please do contact us at `#aosc` or at our Telegram group if you are interested. + +Implementing AOSC OS Optimisation Overlays +------------------------------------------ + +This change was first discussed at AOSCC 2017 but was unfortunately never materialised, though overlay support has already been implemented in [Autobuild3](https://github.com/AOSC-Dev/autobuild3) and [apt-gen-list](https://github.com/AOSC-Dev/apt-gen-list). + +We will implement two overlays in the coming year - in the form of an extra repository: + +- AMD64 `AVX2+` Overlay, for AVX2-enabled (Advanced Vector Extensions 2) devices, where most devices with Intel Haswell (4th Generation Core) processors or newer, and all AMD Ryzen are supported. +- PowerPC 32-bit Big Endian `G4+` Overlay, intended for PowerPC-based Apple Macintosh computers with a G4 processor or newer - where AltiVec is available. + +Both overlays aimed to produce higher performance binaries with optimisations for these newer, vector-based instruction sets (or SIMD) - this can provide performance uplift in certain applications, as benchmarked by [Phoronix](https://www.phoronix.com/scan.php?page=article&item=intel_core_avx2&num=1) in the case of AVX2 in 2013. + +However, these optimisations may come with a price of higher power consumption and heat output - as briefly described in this [Super User Post](https://superuser.com/a/981477). In our current plan, users will be made aware if an overlay repository is available for their device(s), though it will not be enabled by default automatically. We plan to conduct more up-to-date performance, power consumption, and thermal testings in the future. + +LiveKit, RescueKit, and System Releases +--------------------------------------- + +One of the longest running discussion among the AOSC OS users and developers has been the introduction of Live media and a system installer. For system installation and configuration, LiveKit will be similar to GParted Live - a lightweight toolkit environment. + +An installation program is also planned, inspired by the [Which Wich order form](https://3.bp.blogspot.com/-Xv3kq_UsZX0/WPZ4wQtECDI/AAAAAAAADUY/MGEnX3QN84Qmyz4ho3OzP7fR252JCsSbACEw/s1600/Which%2BWich%2BEnvelope.jpg) - a single-page installation configurator. More details will come once the implementation process begins. + +RescueKit takes on roughly the same idea, though it is assembled as a RAM disk image that is bootable right from the GRUB menu - where users could boot into to repair their AOSC OS installation. Additionally, users will be able to package a backup of their current system as a system tarball, which could be in turn installed by the system installer, as discussed above. + +In the question of system releases, we plan on maintaining a seasonal update cycle, much like the aforementioned seasonal update model - with additional system releases made available in case of major security vulnerabilities. + +AOSC Bazaar +----------- + +In the coming months, a community-wide platform for goods and devices exchange will be implemented to provide friends in and around the community with community goods such as the legendary (?) AOSCC sticker packs and other souvenirs. + +Community developers could also request for compiling/testing/... devices on this platform, which will be provided by community members or other developers as a donation. + +What's More? +------------ + +This has already been quite a long news post, so it might not be in the interest of information and transparency to keep extending this post. Here is a brief (and incomplete) list of things we've discussed and decided upon, in no particular order... + +- AOSC OS packaging repository ([aosc-os-abbs](https://github.com/AOSC-Dev/aosc-os-abbs) and [aosc-os-core](https://github.com/AOSC-Dev/aosc-os-core)) will begin to enforce source checksum, link accessibility, secure connections (HTTPS replacing HTTP and FTP, as much as possible). +- Old forks found in our [GitHub organisation](https://github.com/AOSC-Dev) will be cleaned up and archived. +- AOSC OS's KDE/Plasma variant will switch to the [Arc KDE](https://github.com/PapirusDevelopmentTeam/arc-kde) theme and a suitable icon theme. +- Introduction of package variants for different system configurations. +- Packages for legacy ports (specified as ARMv7, `armel`; and PowerPC 32-bit Big Endian, `powerpc`) will have minimalised configurations to remove features unsuitable or unapplicable to their performance and platform support. + +AOSCC 2019? +----------- + +With the lessons learned from AOSCC 2018, we will no longer hold community-wide poll on next year's meeting location unless anyone could secure a venue before hand. Therefore, next year's meeting location is not yet known, and hopefully we will get some choices in the near future. + +Conclusion +---------- + +And with such, the re-cap of AOSCC 2018 is now complete, AOSCC 2018 had been quite a productive conference and will surely point a clearer direction for our community projects in the coming year. Look forward to see you again in AOSCC 2019! + +— Mingcong Bai diff --git a/content/news/2018-12-25-repository-migration.md b/content/news/2018-12-25-repository-migration.md new file mode 100644 index 00000000..be223d21 --- /dev/null +++ b/content/news/2018-12-25-repository-migration.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2018-12-25' +important: true +title: Repository Migration +--- + + +On December 29th (UTC +8), our Community Repository server will migrate to a new server in the United States with a 1Gbps bandwidth. As users of AOSC OS, no manual intervention would be needed. However, if you are any of our mirror maintainers, please take note of the following: + +- Check if you are using any of [repo.aosc.io, mirror.anthonos.org, repo.anthonos.org] as rsync domain. + - If so, no intervention is needed. We will change the DNS record on Dec 30, 2018. + - If not, please replace any non-domain reference (i.e., IP addresses) with repo.aosc.io. Under no circumstances should you use the IP address directly in the future. +- Check if the syncing completes successfully on Dec 31, 2018. + - If not, please contact Xiaoxing Ye, our Repository maintainer at [xiaoxing@aosc.io](mailto:xiaoxing@aosc.io). + +The server is kindly sponsored by [xTom.com](xTom.com). For more information, please refer to our [Migration Guide](https://wiki.aosc.io/developer/infrastructure/knowledge-base/00003-repository-migration). \ No newline at end of file diff --git a/content/news/2018-12-25-repository-migration.zh-cn.md b/content/news/2018-12-25-repository-migration.zh-cn.md new file mode 100644 index 00000000..be223d21 --- /dev/null +++ b/content/news/2018-12-25-repository-migration.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - news +date: '2018-12-25' +important: true +title: Repository Migration +--- + + +On December 29th (UTC +8), our Community Repository server will migrate to a new server in the United States with a 1Gbps bandwidth. As users of AOSC OS, no manual intervention would be needed. However, if you are any of our mirror maintainers, please take note of the following: + +- Check if you are using any of [repo.aosc.io, mirror.anthonos.org, repo.anthonos.org] as rsync domain. + - If so, no intervention is needed. We will change the DNS record on Dec 30, 2018. + - If not, please replace any non-domain reference (i.e., IP addresses) with repo.aosc.io. Under no circumstances should you use the IP address directly in the future. +- Check if the syncing completes successfully on Dec 31, 2018. + - If not, please contact Xiaoxing Ye, our Repository maintainer at [xiaoxing@aosc.io](mailto:xiaoxing@aosc.io). + +The server is kindly sponsored by [xTom.com](xTom.com). For more information, please refer to our [Migration Guide](https://wiki.aosc.io/developer/infrastructure/knowledge-base/00003-repository-migration). \ No newline at end of file diff --git a/content/news/2019-03-18-new-mirror-at-cqu-lanunion.md b/content/news/2019-03-18-new-mirror-at-cqu-lanunion.md new file mode 100644 index 00000000..c1b0c2bf --- /dev/null +++ b/content/news/2019-03-18-new-mirror-at-cqu-lanunion.md @@ -0,0 +1,12 @@ +--- +categories: + - news +date: '2019-03-18' +important: false +title: New Mirror at CQU-Lanunion! +--- + + +Our community repository has received yet another mirror, hosted by CQU-Lanunion at Chongqing University! + +Go check out their [mirror homepage](http://mirrors.cqu.edu.cn/)! \ No newline at end of file diff --git a/content/news/2019-03-18-new-mirror-at-cqu-lanunion.zh-cn.md b/content/news/2019-03-18-new-mirror-at-cqu-lanunion.zh-cn.md new file mode 100644 index 00000000..c1b0c2bf --- /dev/null +++ b/content/news/2019-03-18-new-mirror-at-cqu-lanunion.zh-cn.md @@ -0,0 +1,12 @@ +--- +categories: + - news +date: '2019-03-18' +important: false +title: New Mirror at CQU-Lanunion! +--- + + +Our community repository has received yet another mirror, hosted by CQU-Lanunion at Chongqing University! + +Go check out their [mirror homepage](http://mirrors.cqu.edu.cn/)! \ No newline at end of file diff --git a/content/news/2019-04-01-april-update.md b/content/news/2019-04-01-april-update.md new file mode 100644 index 00000000..2979166a --- /dev/null +++ b/content/news/2019-04-01-april-update.md @@ -0,0 +1,31 @@ +--- +categories: + - news +date: '2019-04-01' +important: false +title: April Update! +--- + + +It's April again! And we have here yet another update on the development of AOSC OS. + +When maintaining AOSC OS, we have a policy to package everything we can redistribute, whether it's free, open source, or proprietary by nature. This is because we think we should prioritise our user's productivity. Because of this policy, we don't just package these packages, we package them with all features enabled. However, this has led us to the problem that our repository is overwhelmingly over-sized. The "Sneakernet" from last year has proven not to be enough to overcome this problem. And because of the intense pressure we have received from the [Free Software Foundation](https://fsf.org/), we intially planned to remove all of the free/libre software in our repository, especially those from the GNU Project. + +Upon further discussion, however, we found that removing all GNU packages isn't quite (or "quietly", as it might be more true to the fact... regardless, delete this note before final publication) destructive for AOSC OS, as we are blessed by a world of (great) alternatives. + +- The kernel: The Linux Kernel is licensed under the GPL. We are going to replace it with the Apple XNU kernel. XNU is also a brilliant kernel. It is also a hybrid kernel, it will be smaller in size compared to monolithic kernels like the Linux Kernel. +- The C library: The GNU C Library (glibc), obviously, is one from the GNU project. Fortunately, we have several options... + - Musl: Another popular light-weight C library, but it only supports the Linux Kernel. We need some way to adapt it to XNU. + - Relibc: A new-born C library written in Rust. However, should we choose this as our new alternative, we will face challenges adapting it to `ppc32be` and `ppc64be`, as they are not well supported by Rust. +- Coreutils can be replaced with Toybox (a BSD-licensed re-implementation of the Busybox). This is all you need - right? +- The rest of the GNU packages will be dropped unconditionally. + +These changes will ship with AOSC OS Core 7. With this, we can shave ~100GB off the size of our repository (the fact that Apple don't release new XNU versions as often as the Linux Kernel will further contribute to this weight reduction). The experience will roughly be the same, along with some improvements. For instance, if we choose Relibc as our new default C library, users will be blessed by the fresh air of memory-safety right following system boot-up. + +The last but not least, we are setting up our own foundation - the Proprietary Software Foundation! The foundation is founded with the objective protect our right to use proprietary software. In spirit of this glorious liberation from the clinch of the Free Software Foundation and its GNU Project, we have also drafted a new *Community Manifesto*: + +*We, therefore, the Representatives of the Proprietary Software Foundation, Assembled, appealing to the Supreme Judge of the world for the rectitude of our intentions, do, in the Name, and by Authority of the good People of the Open Source Community, solemnly publish and declare, That these communities are, and of Right ought to be Free and Independent Communities, that they are Absolved from all Allegiance to the GNU Project, and that all political connection between them and the Free Software Foundation, is and ought to be totally dissolved; and that as Free and Independent communities, they have full Power to package and use proprietary software and to do all other Things which Independent Communities may of right do. — And for the support of this Declaration, with a firm reliance on the protection of Divine Providence, we mutually pledge to each other our Lives, our Fortunes, and our sacred Honor.* + +Thank you for choosing AOSC OS and we wish you a happy April. + +— The Salted Fish, Head of the AOSC Licensing and Propaganda Department \ No newline at end of file diff --git a/content/news/2019-04-01-april-update.zh-cn.md b/content/news/2019-04-01-april-update.zh-cn.md new file mode 100644 index 00000000..2979166a --- /dev/null +++ b/content/news/2019-04-01-april-update.zh-cn.md @@ -0,0 +1,31 @@ +--- +categories: + - news +date: '2019-04-01' +important: false +title: April Update! +--- + + +It's April again! And we have here yet another update on the development of AOSC OS. + +When maintaining AOSC OS, we have a policy to package everything we can redistribute, whether it's free, open source, or proprietary by nature. This is because we think we should prioritise our user's productivity. Because of this policy, we don't just package these packages, we package them with all features enabled. However, this has led us to the problem that our repository is overwhelmingly over-sized. The "Sneakernet" from last year has proven not to be enough to overcome this problem. And because of the intense pressure we have received from the [Free Software Foundation](https://fsf.org/), we intially planned to remove all of the free/libre software in our repository, especially those from the GNU Project. + +Upon further discussion, however, we found that removing all GNU packages isn't quite (or "quietly", as it might be more true to the fact... regardless, delete this note before final publication) destructive for AOSC OS, as we are blessed by a world of (great) alternatives. + +- The kernel: The Linux Kernel is licensed under the GPL. We are going to replace it with the Apple XNU kernel. XNU is also a brilliant kernel. It is also a hybrid kernel, it will be smaller in size compared to monolithic kernels like the Linux Kernel. +- The C library: The GNU C Library (glibc), obviously, is one from the GNU project. Fortunately, we have several options... + - Musl: Another popular light-weight C library, but it only supports the Linux Kernel. We need some way to adapt it to XNU. + - Relibc: A new-born C library written in Rust. However, should we choose this as our new alternative, we will face challenges adapting it to `ppc32be` and `ppc64be`, as they are not well supported by Rust. +- Coreutils can be replaced with Toybox (a BSD-licensed re-implementation of the Busybox). This is all you need - right? +- The rest of the GNU packages will be dropped unconditionally. + +These changes will ship with AOSC OS Core 7. With this, we can shave ~100GB off the size of our repository (the fact that Apple don't release new XNU versions as often as the Linux Kernel will further contribute to this weight reduction). The experience will roughly be the same, along with some improvements. For instance, if we choose Relibc as our new default C library, users will be blessed by the fresh air of memory-safety right following system boot-up. + +The last but not least, we are setting up our own foundation - the Proprietary Software Foundation! The foundation is founded with the objective protect our right to use proprietary software. In spirit of this glorious liberation from the clinch of the Free Software Foundation and its GNU Project, we have also drafted a new *Community Manifesto*: + +*We, therefore, the Representatives of the Proprietary Software Foundation, Assembled, appealing to the Supreme Judge of the world for the rectitude of our intentions, do, in the Name, and by Authority of the good People of the Open Source Community, solemnly publish and declare, That these communities are, and of Right ought to be Free and Independent Communities, that they are Absolved from all Allegiance to the GNU Project, and that all political connection between them and the Free Software Foundation, is and ought to be totally dissolved; and that as Free and Independent communities, they have full Power to package and use proprietary software and to do all other Things which Independent Communities may of right do. — And for the support of this Declaration, with a firm reliance on the protection of Divine Providence, we mutually pledge to each other our Lives, our Fortunes, and our sacred Honor.* + +Thank you for choosing AOSC OS and we wish you a happy April. + +— The Salted Fish, Head of the AOSC Licensing and Propaganda Department \ No newline at end of file diff --git a/content/news/2019-04-01-proposal-solve-food-supply-crisis-by-initiation-of-the-idol-project.md b/content/news/2019-04-01-proposal-solve-food-supply-crisis-by-initiation-of-the-idol-project.md new file mode 100644 index 00000000..84850437 --- /dev/null +++ b/content/news/2019-04-01-proposal-solve-food-supply-crisis-by-initiation-of-the-idol-project.md @@ -0,0 +1,30 @@ +--- +categories: + - news +date: '2019-04-01' +important: true +title: 'Proposal: Solve Food Supply Crisis by Initiation of the Idol Project' +--- + + +Dear friends of the community, + +Today I would like to make aware that the AOSC Oxygen, Silicon, and Carbon Cycle Systematic Operation Agency (AOSCCSOA) has run into its greatest crisis since its establishment in 2011. + +As we may all know, the AOSC is a community of organisms originated from Earth that can conduct biological activities such as packaging [_in silico_](https://enwp.org/in_silico). However, as all of us are still bound by the [second law of thermodynamics](https://enwp.org/second_law_of_thermodynamics), we have to obtain energy from outside sources in order to maintain the _in silico_ biological activities that potentially reduces [entropy](https://enwp.org/entropy) progressing. The AOSCCSOA, the agency responsible for the continuous supply of energy needed by the member organisms of AOSC to maintain _in silico_ biological activities, is currently reporting a huge loss in the latest annual report. This is mainly due to the reduced production and uncontrolled increase in prices of the sole carbon source for AOSC member organisms: the Anthon [_Oryza sativa_](https://enwp.org/Oryza_sativa) Collection. Without a continuous supply of energy, the AOSC community's continual functioning is at risk. + +We as AOSC member organisms are trying hard to support our AOSCCSOA operation. This is done by attempting to consume alternative energy sources such as [maize](https://enwp.org/maize) and [tater](https://enwp.org/potato), as well as reducing reproductivity through [quorum sensing](https://enwp.org/quorum_sensing) to reduce energy consumption. The aquatic division of the AOSC, especially the [Salted Fish](https://github.com/RedL0tus), has successfully achieved the goal of energy cut on parallelism by stopping all vital processes for individuals containing results that would be discarded. On the other hand, microbes such as [_S. aureus_](https://github.com/StephDC) had also reached stationary phase of the growth curve to limit energy consumption. These activities, while at a cost to the productivity of the AOSC community, did manage to help maintain the AOSCCSOA's operation for the past few months. However, as the summer is approaching and unfortunately, all the crops are not yet prune, the stress on the supply chain would soon reach record high since the Agency's establishment. + +Knowing that the AOSCCSOA may cease operation at any moment, we as member organisms have come the consensus that a major undertaking is imperative to save the community. We have learned that Idol Projects are really popular on the global scale and has the ability to provide enough for our AOSCCSOA to operate until the harvest of this year's first Anthon _Oryza sativa_ Collection, so we have determined that this is the way to go. + +During a test run on Mar. 16, 2019, our first two Idols, Chief Executive [Jelly Bai](https://github.com/MingcongBai) and member [Lion](https://github.com/LionNatsu), went public and received significant amount of support from our users and other that may have never heard of us. In the following weeks, other members of community will also go live and perform our important _in silico_ biological processes. We hope that such activities would bring us enough support and help us through one more year of fighting against the Entropy and taking care of all architectures we could support. Please follow us on the [Community Portal](https://aosc.io/) and our [GitHub Organization Home](https://github.com/AOSC-Dev). The realization of our ultimate goals relies on your continued support. + +-------- + +To Our Community: + +Let's remember the teaching of our fatherly leader and mentor, Lord Yhi: *We Care about You, Your Development Boards, Your Mysterious CPUs, and Your Pre-historic Antiques.* + +-------- + +— _S. aureus_, on behalf of all members of AOSC. \ No newline at end of file diff --git a/content/news/2019-04-01-proposal-solve-food-supply-crisis-by-initiation-of-the-idol-project.zh-cn.md b/content/news/2019-04-01-proposal-solve-food-supply-crisis-by-initiation-of-the-idol-project.zh-cn.md new file mode 100644 index 00000000..84850437 --- /dev/null +++ b/content/news/2019-04-01-proposal-solve-food-supply-crisis-by-initiation-of-the-idol-project.zh-cn.md @@ -0,0 +1,30 @@ +--- +categories: + - news +date: '2019-04-01' +important: true +title: 'Proposal: Solve Food Supply Crisis by Initiation of the Idol Project' +--- + + +Dear friends of the community, + +Today I would like to make aware that the AOSC Oxygen, Silicon, and Carbon Cycle Systematic Operation Agency (AOSCCSOA) has run into its greatest crisis since its establishment in 2011. + +As we may all know, the AOSC is a community of organisms originated from Earth that can conduct biological activities such as packaging [_in silico_](https://enwp.org/in_silico). However, as all of us are still bound by the [second law of thermodynamics](https://enwp.org/second_law_of_thermodynamics), we have to obtain energy from outside sources in order to maintain the _in silico_ biological activities that potentially reduces [entropy](https://enwp.org/entropy) progressing. The AOSCCSOA, the agency responsible for the continuous supply of energy needed by the member organisms of AOSC to maintain _in silico_ biological activities, is currently reporting a huge loss in the latest annual report. This is mainly due to the reduced production and uncontrolled increase in prices of the sole carbon source for AOSC member organisms: the Anthon [_Oryza sativa_](https://enwp.org/Oryza_sativa) Collection. Without a continuous supply of energy, the AOSC community's continual functioning is at risk. + +We as AOSC member organisms are trying hard to support our AOSCCSOA operation. This is done by attempting to consume alternative energy sources such as [maize](https://enwp.org/maize) and [tater](https://enwp.org/potato), as well as reducing reproductivity through [quorum sensing](https://enwp.org/quorum_sensing) to reduce energy consumption. The aquatic division of the AOSC, especially the [Salted Fish](https://github.com/RedL0tus), has successfully achieved the goal of energy cut on parallelism by stopping all vital processes for individuals containing results that would be discarded. On the other hand, microbes such as [_S. aureus_](https://github.com/StephDC) had also reached stationary phase of the growth curve to limit energy consumption. These activities, while at a cost to the productivity of the AOSC community, did manage to help maintain the AOSCCSOA's operation for the past few months. However, as the summer is approaching and unfortunately, all the crops are not yet prune, the stress on the supply chain would soon reach record high since the Agency's establishment. + +Knowing that the AOSCCSOA may cease operation at any moment, we as member organisms have come the consensus that a major undertaking is imperative to save the community. We have learned that Idol Projects are really popular on the global scale and has the ability to provide enough for our AOSCCSOA to operate until the harvest of this year's first Anthon _Oryza sativa_ Collection, so we have determined that this is the way to go. + +During a test run on Mar. 16, 2019, our first two Idols, Chief Executive [Jelly Bai](https://github.com/MingcongBai) and member [Lion](https://github.com/LionNatsu), went public and received significant amount of support from our users and other that may have never heard of us. In the following weeks, other members of community will also go live and perform our important _in silico_ biological processes. We hope that such activities would bring us enough support and help us through one more year of fighting against the Entropy and taking care of all architectures we could support. Please follow us on the [Community Portal](https://aosc.io/) and our [GitHub Organization Home](https://github.com/AOSC-Dev). The realization of our ultimate goals relies on your continued support. + +-------- + +To Our Community: + +Let's remember the teaching of our fatherly leader and mentor, Lord Yhi: *We Care about You, Your Development Boards, Your Mysterious CPUs, and Your Pre-historic Antiques.* + +-------- + +— _S. aureus_, on behalf of all members of AOSC. \ No newline at end of file diff --git a/content/news/2019-04-03-happy-april.md b/content/news/2019-04-03-happy-april.md new file mode 100644 index 00000000..98359a90 --- /dev/null +++ b/content/news/2019-04-03-happy-april.md @@ -0,0 +1,16 @@ +--- +categories: + - news +date: '2019-04-03' +important: false +title: Happy April! +--- + + +I hope you enjoyed our parodic literature yesterday (I've certainly had a good laugh editing them...)! + +Looking back on the posting history on this Portal, however, we seriously need to pick up on publishing updates. To keep this short... + +Starting this week - weekly updates at 6:00AM UTC every Sunday. + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2019-04-03-happy-april.zh-cn.md b/content/news/2019-04-03-happy-april.zh-cn.md new file mode 100644 index 00000000..98359a90 --- /dev/null +++ b/content/news/2019-04-03-happy-april.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - news +date: '2019-04-03' +important: false +title: Happy April! +--- + + +I hope you enjoyed our parodic literature yesterday (I've certainly had a good laugh editing them...)! + +Looking back on the posting history on this Portal, however, we seriously need to pick up on publishing updates. To keep this short... + +Starting this week - weekly updates at 6:00AM UTC every Sunday. + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2019-04-08-weekly-community-report-issue-15-2019.md b/content/news/2019-04-08-weekly-community-report-issue-15-2019.md new file mode 100644 index 00000000..0b645c58 --- /dev/null +++ b/content/news/2019-04-08-weekly-community-report-issue-15-2019.md @@ -0,0 +1,36 @@ +--- +categories: + - news +date: '2019-04-08' +important: false +title: 'Weekly Community Report: Issue 15, 2019' +--- + + +So, let's kick off the weekly updates (*note: issue "15" for this is "week 15" of 2019)! I'm still trying for a good format at the moment (and also tight on time), but hopefully we will see better quality in future posts. + +AOSC OS +------- + +We are currently trying to wrap up the current cycle (which has been dragging on for almost six months at this point) - there are still hundreds more packages to rebuild for the upcoming Core 6 (GCC C++ ABI, and Perl 5.28). After these rebuilds are sorted for AMD64, we will go into a month-long freezing period - hopefully starting on April 26th. During this freeze period, the rest of our ports will be synchronised. + +In this cycle, we have updated or rebuilt virtually all packages in the repository - mostly because of other major updates, namely Python 3.7 and OpenSSL 1.1. + +Now, having trapped ourselves (and you) in this extremely long cycle, we are looking to shorten the next one - focusing on updating all major desktop environments and their components - GNOME 3.32, Plasma 5.16, KDE Applications 19.04, MATE Desktop 1.22, etc. + +We are also working on transitioning our RISC-V port (`riscv64gc`) port into "regular" maintenance - it will have working Testing and Stable branches, and ready to follow future cycle schedules by the end of this cycle. + +Looking back into history (literally), we have been putting (low-priority) effort into creating a new i586 port for 32-bit only, Pentium (1993) and newer devices (Pentium II, Pentium III, Transmeta Crusoe, ...). We are also planning to create specialised configurations for ports targetting older devices (`i586`, `mips64el`, `powerpc`, and `ppc64`), while sharing the same [Core](https://github.com/AOSC-Dev/aosc-os-core/) and [ABBS tree](https://github.com/AOSC-Dev/aosc-os-abbs/) - more detail to come in future weeks. + +Community Infrastructure +------------------------ + +A new Telegram bot has been created by [The Salted Fish](https://gist.github.com/RedL0tus/), which manages a game of Last Man Standing... Where people who unfortunately can't go to sleep early can entertain themselves with competetive "staying-up." + +*Of course, we don't endorse such unhealthy behaviour... But if you'd like to have some fun while not asleep in early morning - here's one option.* + +---- + +Okay, that should do it for this week. Come back next Monday at 6:00AM for more community and project updates! + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2019-04-08-weekly-community-report-issue-15-2019.zh-cn.md b/content/news/2019-04-08-weekly-community-report-issue-15-2019.zh-cn.md new file mode 100644 index 00000000..0b645c58 --- /dev/null +++ b/content/news/2019-04-08-weekly-community-report-issue-15-2019.zh-cn.md @@ -0,0 +1,36 @@ +--- +categories: + - news +date: '2019-04-08' +important: false +title: 'Weekly Community Report: Issue 15, 2019' +--- + + +So, let's kick off the weekly updates (*note: issue "15" for this is "week 15" of 2019)! I'm still trying for a good format at the moment (and also tight on time), but hopefully we will see better quality in future posts. + +AOSC OS +------- + +We are currently trying to wrap up the current cycle (which has been dragging on for almost six months at this point) - there are still hundreds more packages to rebuild for the upcoming Core 6 (GCC C++ ABI, and Perl 5.28). After these rebuilds are sorted for AMD64, we will go into a month-long freezing period - hopefully starting on April 26th. During this freeze period, the rest of our ports will be synchronised. + +In this cycle, we have updated or rebuilt virtually all packages in the repository - mostly because of other major updates, namely Python 3.7 and OpenSSL 1.1. + +Now, having trapped ourselves (and you) in this extremely long cycle, we are looking to shorten the next one - focusing on updating all major desktop environments and their components - GNOME 3.32, Plasma 5.16, KDE Applications 19.04, MATE Desktop 1.22, etc. + +We are also working on transitioning our RISC-V port (`riscv64gc`) port into "regular" maintenance - it will have working Testing and Stable branches, and ready to follow future cycle schedules by the end of this cycle. + +Looking back into history (literally), we have been putting (low-priority) effort into creating a new i586 port for 32-bit only, Pentium (1993) and newer devices (Pentium II, Pentium III, Transmeta Crusoe, ...). We are also planning to create specialised configurations for ports targetting older devices (`i586`, `mips64el`, `powerpc`, and `ppc64`), while sharing the same [Core](https://github.com/AOSC-Dev/aosc-os-core/) and [ABBS tree](https://github.com/AOSC-Dev/aosc-os-abbs/) - more detail to come in future weeks. + +Community Infrastructure +------------------------ + +A new Telegram bot has been created by [The Salted Fish](https://gist.github.com/RedL0tus/), which manages a game of Last Man Standing... Where people who unfortunately can't go to sleep early can entertain themselves with competetive "staying-up." + +*Of course, we don't endorse such unhealthy behaviour... But if you'd like to have some fun while not asleep in early morning - here's one option.* + +---- + +Okay, that should do it for this week. Come back next Monday at 6:00AM for more community and project updates! + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2019-04-22-weekly-community-report-issue-17-2019.md b/content/news/2019-04-22-weekly-community-report-issue-17-2019.md new file mode 100644 index 00000000..0f6a8854 --- /dev/null +++ b/content/news/2019-04-22-weekly-community-report-issue-17-2019.md @@ -0,0 +1,68 @@ +--- +categories: + - news +date: '2019-04-22' +important: false +title: 'Weekly Community Report: Issue 17, 2019' +--- + + +End of Cycle (Imminent)! +------------------------ + +After some four months drowning in updates and rebuilds, the current cycle is now looking to start its one-month freezing period on Tuesday! In the coming month, we will work to smooth out the rough edges (.so dependencies, etc.) and make sure that Stable users will receive a smooth updating experience. + +Core 6 +------ + +After nearly a year in delay, [Core 6](https://aosc.io/news#888-re-cap-aoscc-2018) "Fsck" will ship as a part of this coming cycle update. Coming in this major Core update... + +- GCC 8.3.1, with many performance and new features from the upstream. +- GNU C Library 2.29, and many other component updates. +- Added `i586` (yes, Pentium-class devices), and Loongson 2F, 3A/B support. +- The `ppc64` port will be specifically optimised for the PowerPC G5 processor - as our PowerPC 32/64-bit Big Endian ports are now built for the PowerPC-based Macintosh computers. + +The i586 Port +------------- + +The i586, now that we have mentioned it... Will serve as an experimental port, where we try and refactor parts of the AOSC OS dependency tree to make the system lighter to install and run. This will undoubtedly help us as a distribution which ports to newest, as well as vintage and long abadoned devices (from your newest Intel Coffee Lake laptops, to the "Clamshell" iBook G3's). + +The reference device for this port will be the 2001 Sony Vaio PCG-C1VP running Windows 2000 (its owner - me - is considering swapping out he motherboard with one from the PCG-C1VN for Windows 9x support). This machine comes with the following (rough) list of hardware: + +- Transmeta Crusoe TM5600 @ 600MHz (Hi there Mr. Torvalds!) +- 192MB RAM (16MB eaten by the processors CMS - Code Morphing Software) +- 15GB HDD @ 4200RPM, dual booting Windows and AOSC OS +- 1024x480 LCD + +---- + +![vaio-c1](https://i.imgur.com/Jm3SBj5.jpg) + +---- + +We'll see how it goes over the summer - maybe we'll see it as a demonstration machine at AOSCC 2019! + +Taming ACBS +----------- + +Our venerable infrastructure contributor and resident Python guru [@gumblex](https://github.com/gumblex) is currently undertaking a massive refactor for our ACBS (Autobuild CI Build System), which our packagers use to build packages daily. + +With this factor, we are hoping to see more reliable sequential/batch build support and dependency resolving. + +Checksum +-------- + +Utilising a tool from [@gumblex](https://github.com/gumblex), we have now covered most packages in our [ABBS Tree](https://github.com/AOSC-Dev/aosc-os-abbs/) and [Core Tree](https://github.com/AOSC-Dev/aosc-os-core/) with SHA256 checksums. + +Further more, we have now [made it imperative](https://github.com/AOSC-Dev/acbs/commit/14309140e90d99f41380a432e41c29971dd6e1fa) to include checksum when packages from a source package/tarball. + +Security Update Workflow and AOSA Announcement +---------------------------------------------- + +Effective next week, we will start posting AOSA (AOSC OS Security Advisory) whenever the updates are ready for all branches. Formerly, AOSAs for the Testing branch will be delayed until it merges with Stable at the end of each cycle. Additionally, security issues that affects both Stable and Testing branches will be announced under a shared AOSA ID, as long as they describe an identical issue. + +Furthermore, our contributor [@KexyBiscuit](https://github.com/KexyBiscuit) has offered to work on announcing future advisories in the future - after I have become too busy to write up security reports. + +---- + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2019-04-22-weekly-community-report-issue-17-2019.zh-cn.md b/content/news/2019-04-22-weekly-community-report-issue-17-2019.zh-cn.md new file mode 100644 index 00000000..0f6a8854 --- /dev/null +++ b/content/news/2019-04-22-weekly-community-report-issue-17-2019.zh-cn.md @@ -0,0 +1,68 @@ +--- +categories: + - news +date: '2019-04-22' +important: false +title: 'Weekly Community Report: Issue 17, 2019' +--- + + +End of Cycle (Imminent)! +------------------------ + +After some four months drowning in updates and rebuilds, the current cycle is now looking to start its one-month freezing period on Tuesday! In the coming month, we will work to smooth out the rough edges (.so dependencies, etc.) and make sure that Stable users will receive a smooth updating experience. + +Core 6 +------ + +After nearly a year in delay, [Core 6](https://aosc.io/news#888-re-cap-aoscc-2018) "Fsck" will ship as a part of this coming cycle update. Coming in this major Core update... + +- GCC 8.3.1, with many performance and new features from the upstream. +- GNU C Library 2.29, and many other component updates. +- Added `i586` (yes, Pentium-class devices), and Loongson 2F, 3A/B support. +- The `ppc64` port will be specifically optimised for the PowerPC G5 processor - as our PowerPC 32/64-bit Big Endian ports are now built for the PowerPC-based Macintosh computers. + +The i586 Port +------------- + +The i586, now that we have mentioned it... Will serve as an experimental port, where we try and refactor parts of the AOSC OS dependency tree to make the system lighter to install and run. This will undoubtedly help us as a distribution which ports to newest, as well as vintage and long abadoned devices (from your newest Intel Coffee Lake laptops, to the "Clamshell" iBook G3's). + +The reference device for this port will be the 2001 Sony Vaio PCG-C1VP running Windows 2000 (its owner - me - is considering swapping out he motherboard with one from the PCG-C1VN for Windows 9x support). This machine comes with the following (rough) list of hardware: + +- Transmeta Crusoe TM5600 @ 600MHz (Hi there Mr. Torvalds!) +- 192MB RAM (16MB eaten by the processors CMS - Code Morphing Software) +- 15GB HDD @ 4200RPM, dual booting Windows and AOSC OS +- 1024x480 LCD + +---- + +![vaio-c1](https://i.imgur.com/Jm3SBj5.jpg) + +---- + +We'll see how it goes over the summer - maybe we'll see it as a demonstration machine at AOSCC 2019! + +Taming ACBS +----------- + +Our venerable infrastructure contributor and resident Python guru [@gumblex](https://github.com/gumblex) is currently undertaking a massive refactor for our ACBS (Autobuild CI Build System), which our packagers use to build packages daily. + +With this factor, we are hoping to see more reliable sequential/batch build support and dependency resolving. + +Checksum +-------- + +Utilising a tool from [@gumblex](https://github.com/gumblex), we have now covered most packages in our [ABBS Tree](https://github.com/AOSC-Dev/aosc-os-abbs/) and [Core Tree](https://github.com/AOSC-Dev/aosc-os-core/) with SHA256 checksums. + +Further more, we have now [made it imperative](https://github.com/AOSC-Dev/acbs/commit/14309140e90d99f41380a432e41c29971dd6e1fa) to include checksum when packages from a source package/tarball. + +Security Update Workflow and AOSA Announcement +---------------------------------------------- + +Effective next week, we will start posting AOSA (AOSC OS Security Advisory) whenever the updates are ready for all branches. Formerly, AOSAs for the Testing branch will be delayed until it merges with Stable at the end of each cycle. Additionally, security issues that affects both Stable and Testing branches will be announced under a shared AOSA ID, as long as they describe an identical issue. + +Furthermore, our contributor [@KexyBiscuit](https://github.com/KexyBiscuit) has offered to work on announcing future advisories in the future - after I have become too busy to write up security reports. + +---- + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2019-04-29-weekly-community-report-issue-18-2019.md b/content/news/2019-04-29-weekly-community-report-issue-18-2019.md new file mode 100644 index 00000000..5b73cb7b --- /dev/null +++ b/content/news/2019-04-29-weekly-community-report-issue-18-2019.md @@ -0,0 +1,78 @@ +--- +categories: + - news +date: '2019-04-29' +important: false +title: 'Weekly Community Report: Issue 18, 2019' +--- + + +AOSCC 2019 - It's Happening! +---------------------------- + +We are happy to announce that, after much searching, we have ourselves a host university for the AOSCC 2019 events! + +The AOSCC 2019 will take place in University of Science and Technology of China - in Hefei, China, on July 12 - 14th. The events details and venues are kindly negotiated and made available by [LUG@USTC](https://lug.ustc.edu.cn/). + +Freezing Period +--------------- + +On April 23rd, we have officially entered a month of freezing period for AOSC OS's Testing branch. For the meanwhile, we are working to sync all package updates on the Testing branch, across all currently active ports. + +If you are using the Stable branch, you will continue to receive security and [exceptional](https://wiki.aosc.io/developer/packaging/cycle-exceptions) updates. + +AGX Xavier! +----------- + +To continue the tradition of mis-using NVIDIA's development boards, we have obtained an NVIDIA Jetson AGX Xavier Developer Kit several days back. "JellyXavier," as it is named as a BuildBot, is now available for all [dev-pubkeys](https://github.com/AOSC-Dev/dev-pubkeys/)-registered AOSC developers at Relay port 24444. + +This build host will be dedicated to the building of AArch64 (`arm64`) packages. Formerly, both AArch64 (`arm64`) and ARMv7 (`armel`) packages are built on a shared BuildBot - an NVIDIA Jetson TX1 Developer Kit, with a measly 4GiB of RAM. In the recent cycles, we have been constantly plagued by this insufficient amount of RAM - and this in turn has resulted in the two ARM ports lagging behind the other architectures. + +The AGX Xavier, however, comes with 8 very fast NVIDIA "Carmel" cores, and 16GiB of RAM. Registering as the second fastest out of [all Relay BuildBots](https://wiki.aosc.io/developer/infrastructure/buildbots/). This hardware addition will undoubtedly help us catch up (and eventually enrich) both ARM ports. + +As for the Jetson TX1, it will now be dedicated to build ARMv7 packages (which of course, is much more available for this task). + +![xavier-in-position](https://i.imgur.com/MGsn8Cc.jpg) +*Xavier in the Madison, WI. "Engine Room".* + +AOSC - How Moe Is... She? +------------------------- + +Over the past weekend, community member [Shimizu Saki (清水 紗季)](https://github.com/eatradish) initiated the [aosc-moe](https://github.com/AOSC-Dev/aosc-moe) project - to create a "Moe," anime-inspired character to represent our community. + +Confused? This is quite similar to the concept of an [OS-tan](https://en.wikipedia.org/wiki/OS-tan) - have a good read! + +At the time of writing, more details about the character's name and other features are being finalised - and hopefully we will see her here on the Portal soon. + +Progess Report on the i586 Port +------------------------------- + +At the time of writing, we have a bootable copy of AOSC OS i586 port! The port now contains packages needed for a "Base" variant tarball, and is now working towards a full-fledged desktop experience. + +The port is currently tested to run on a Sony PCG-C1VN sub-notebook. The sub-notebook is powered by a 600MHz Transmeta Crusoe processor, with 192MiB of RAM and 7GiB of HDD space made available for AOSC OS. The sub-notebook dual boots Windows Me - for my personal entertainment needs and a rudimentary test for GRUB functionalities. + +I am currently working to create a refined Kernel config for the port. At present, the port will boot and login with a memory footprint of approximately 20MiB. Not bad, if I may say so myself - but there are space for improvement, as we move more features out of the Kernel image, and built as modules. Having based our Kernel config on the AMD64 port's, we have much to cut down. + +And finally, a video recording of the computer running a WindowMaker session. + +{{}} + +The AOSC OS/Retro Project +------------------------- + +With the i586 port going along, we have also started work on creating a set of visual designs for our OS/Retro family of ports. This family of ports will contain support deprecated and outdated architectures, such as i586 and the big endian PowerPC 32/64-bit devices. To better adapt to these older devices, system features and dependencies will be cut down, resulting in smaller install sizes and more reasonable performance (compared to the current PowerPC ports, which shares the same build configuration as all other "mainline" ports). + +The logo design was initially made by community member [Neruthes](https://github.com/neruthes), and further modifications made by me. + +![poster](https://i.imgur.com/WBbscw7.jpg) +*Poster, "20th Century, Millennium, Present."* + +![logo](https://i.imgur.com/rvRthLX.png) +*Logo, full colour, tilted.* + +![logo16](https://i.imgur.com/hUdq5nB.png) +*Logo, 16-colour.* + +---- + +— Mingcong Bai, with regards. \ No newline at end of file diff --git a/content/news/2019-04-29-weekly-community-report-issue-18-2019.zh-cn.md b/content/news/2019-04-29-weekly-community-report-issue-18-2019.zh-cn.md new file mode 100644 index 00000000..5b73cb7b --- /dev/null +++ b/content/news/2019-04-29-weekly-community-report-issue-18-2019.zh-cn.md @@ -0,0 +1,78 @@ +--- +categories: + - news +date: '2019-04-29' +important: false +title: 'Weekly Community Report: Issue 18, 2019' +--- + + +AOSCC 2019 - It's Happening! +---------------------------- + +We are happy to announce that, after much searching, we have ourselves a host university for the AOSCC 2019 events! + +The AOSCC 2019 will take place in University of Science and Technology of China - in Hefei, China, on July 12 - 14th. The events details and venues are kindly negotiated and made available by [LUG@USTC](https://lug.ustc.edu.cn/). + +Freezing Period +--------------- + +On April 23rd, we have officially entered a month of freezing period for AOSC OS's Testing branch. For the meanwhile, we are working to sync all package updates on the Testing branch, across all currently active ports. + +If you are using the Stable branch, you will continue to receive security and [exceptional](https://wiki.aosc.io/developer/packaging/cycle-exceptions) updates. + +AGX Xavier! +----------- + +To continue the tradition of mis-using NVIDIA's development boards, we have obtained an NVIDIA Jetson AGX Xavier Developer Kit several days back. "JellyXavier," as it is named as a BuildBot, is now available for all [dev-pubkeys](https://github.com/AOSC-Dev/dev-pubkeys/)-registered AOSC developers at Relay port 24444. + +This build host will be dedicated to the building of AArch64 (`arm64`) packages. Formerly, both AArch64 (`arm64`) and ARMv7 (`armel`) packages are built on a shared BuildBot - an NVIDIA Jetson TX1 Developer Kit, with a measly 4GiB of RAM. In the recent cycles, we have been constantly plagued by this insufficient amount of RAM - and this in turn has resulted in the two ARM ports lagging behind the other architectures. + +The AGX Xavier, however, comes with 8 very fast NVIDIA "Carmel" cores, and 16GiB of RAM. Registering as the second fastest out of [all Relay BuildBots](https://wiki.aosc.io/developer/infrastructure/buildbots/). This hardware addition will undoubtedly help us catch up (and eventually enrich) both ARM ports. + +As for the Jetson TX1, it will now be dedicated to build ARMv7 packages (which of course, is much more available for this task). + +![xavier-in-position](https://i.imgur.com/MGsn8Cc.jpg) +*Xavier in the Madison, WI. "Engine Room".* + +AOSC - How Moe Is... She? +------------------------- + +Over the past weekend, community member [Shimizu Saki (清水 紗季)](https://github.com/eatradish) initiated the [aosc-moe](https://github.com/AOSC-Dev/aosc-moe) project - to create a "Moe," anime-inspired character to represent our community. + +Confused? This is quite similar to the concept of an [OS-tan](https://en.wikipedia.org/wiki/OS-tan) - have a good read! + +At the time of writing, more details about the character's name and other features are being finalised - and hopefully we will see her here on the Portal soon. + +Progess Report on the i586 Port +------------------------------- + +At the time of writing, we have a bootable copy of AOSC OS i586 port! The port now contains packages needed for a "Base" variant tarball, and is now working towards a full-fledged desktop experience. + +The port is currently tested to run on a Sony PCG-C1VN sub-notebook. The sub-notebook is powered by a 600MHz Transmeta Crusoe processor, with 192MiB of RAM and 7GiB of HDD space made available for AOSC OS. The sub-notebook dual boots Windows Me - for my personal entertainment needs and a rudimentary test for GRUB functionalities. + +I am currently working to create a refined Kernel config for the port. At present, the port will boot and login with a memory footprint of approximately 20MiB. Not bad, if I may say so myself - but there are space for improvement, as we move more features out of the Kernel image, and built as modules. Having based our Kernel config on the AMD64 port's, we have much to cut down. + +And finally, a video recording of the computer running a WindowMaker session. + +{{}} + +The AOSC OS/Retro Project +------------------------- + +With the i586 port going along, we have also started work on creating a set of visual designs for our OS/Retro family of ports. This family of ports will contain support deprecated and outdated architectures, such as i586 and the big endian PowerPC 32/64-bit devices. To better adapt to these older devices, system features and dependencies will be cut down, resulting in smaller install sizes and more reasonable performance (compared to the current PowerPC ports, which shares the same build configuration as all other "mainline" ports). + +The logo design was initially made by community member [Neruthes](https://github.com/neruthes), and further modifications made by me. + +![poster](https://i.imgur.com/WBbscw7.jpg) +*Poster, "20th Century, Millennium, Present."* + +![logo](https://i.imgur.com/rvRthLX.png) +*Logo, full colour, tilted.* + +![logo16](https://i.imgur.com/hUdq5nB.png) +*Logo, 16-colour.* + +---- + +— Mingcong Bai, with regards. \ No newline at end of file diff --git a/content/news/2019-07-07-community-repository-all-systems-green.md b/content/news/2019-07-07-community-repository-all-systems-green.md new file mode 100644 index 00000000..91fb1066 --- /dev/null +++ b/content/news/2019-07-07-community-repository-all-systems-green.md @@ -0,0 +1,12 @@ +--- +categories: + - news +date: '2019-07-07' +important: false +title: 'Community Repository: All Systems Green!' +--- + + +Just a quick notice that we have fixed the issue earlier today and a full package scan has been completed. This issue was fixed with [this commit](https://github.com/AOSC-Dev/p-vector/commit/bcbb7d1470915114ee38d75ab878b7aa23fa8ad8). We will post a news update about the new wave of updates shortly. + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2019-07-07-community-repository-all-systems-green.zh-cn.md b/content/news/2019-07-07-community-repository-all-systems-green.zh-cn.md new file mode 100644 index 00000000..91fb1066 --- /dev/null +++ b/content/news/2019-07-07-community-repository-all-systems-green.zh-cn.md @@ -0,0 +1,12 @@ +--- +categories: + - news +date: '2019-07-07' +important: false +title: 'Community Repository: All Systems Green!' +--- + + +Just a quick notice that we have fixed the issue earlier today and a full package scan has been completed. This issue was fixed with [this commit](https://github.com/AOSC-Dev/p-vector/commit/bcbb7d1470915114ee38d75ab878b7aa23fa8ad8). We will post a news update about the new wave of updates shortly. + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2019-07-07-unexpected-downtime-on-repository-server.md b/content/news/2019-07-07-unexpected-downtime-on-repository-server.md new file mode 100644 index 00000000..656b31a0 --- /dev/null +++ b/content/news/2019-07-07-unexpected-downtime-on-repository-server.md @@ -0,0 +1,17 @@ +--- +categories: + - news +date: '2019-07-07' +important: true +title: Unexpected Downtime on Repository Server +--- + + +If you are attempting to update your AOSC OS, or have already experienced trouble downloading packages (wrong sizes and checksums, etc.) - we are aware of this issue, and are working double time to resolve this issue. We have just finished up our (long overdue) Winter update wave, and moving ~10,000 packages triggered some obscure bugs in our package scanning toolkit, [p-vector](https://github.com/AOSC-Dev/p-vector). + +- TL;DR: we are sorry, and are trying our best to get our repository back in normal order. +- To our mirror maintainers, we have terminated our `rsync` service 15 minutes before this news, and this should explain why the syncing jobs are failing. + +---- + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2019-07-07-unexpected-downtime-on-repository-server.zh-cn.md b/content/news/2019-07-07-unexpected-downtime-on-repository-server.zh-cn.md new file mode 100644 index 00000000..656b31a0 --- /dev/null +++ b/content/news/2019-07-07-unexpected-downtime-on-repository-server.zh-cn.md @@ -0,0 +1,17 @@ +--- +categories: + - news +date: '2019-07-07' +important: true +title: Unexpected Downtime on Repository Server +--- + + +If you are attempting to update your AOSC OS, or have already experienced trouble downloading packages (wrong sizes and checksums, etc.) - we are aware of this issue, and are working double time to resolve this issue. We have just finished up our (long overdue) Winter update wave, and moving ~10,000 packages triggered some obscure bugs in our package scanning toolkit, [p-vector](https://github.com/AOSC-Dev/p-vector). + +- TL;DR: we are sorry, and are trying our best to get our repository back in normal order. +- To our mirror maintainers, we have terminated our `rsync` service 15 minutes before this news, and this should explain why the syncing jobs are failing. + +---- + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2019-07-07-weekly-community-report-issue-28-2019.md b/content/news/2019-07-07-weekly-community-report-issue-28-2019.md new file mode 100644 index 00000000..5f9a1683 --- /dev/null +++ b/content/news/2019-07-07-weekly-community-report-issue-28-2019.md @@ -0,0 +1,52 @@ +--- +categories: + - news +date: '2019-07-07' +important: false +title: 'Weekly Community Report: Issue 28, 2019' +--- + + +*Well, it's been yet another... two months (?!) since the last community report.* + +Let's not make this a trend - but the writer of this series of news posts was drowned in packaging tasks to finish off the last wave of updates. Plus we are now just four days away from AOSCC 2019, so at any rate, we should have posted something anyways - right? + +Winter Wave: 7 Months Late +------------------------------ + +The last update cycle has been nothing short of disastrous, with way too many features planned and crammed into the 3-month timeframe (which should have ended before 2019). Well at least it didn't turn into another [Windows "Longhorn"](https://web.archive.org/web/20060218125408/http://blogs.msdn.com/michkap/archive/2005/10/16/481625.aspx), phew! + +![core-6-update](https://i.imgur.com/gGcmMUO.png) + +But as a user, while you may be angry at the delay - and rightfully so - we have worked (literally) beyond our capacity to bring you a ship load of system-wide upgrades... + +- All architectures have ~50% of their packages updated or refreshed. With this huge pass of builds, we have eliminated a huge amount of quality (and thus usability) issues with our packages - owing to our new [Quality Assurance](https://packages.aosc.io/qa/) project led by [Gumblex](https://github.com/gumblex). We hope that you won't miss the golden age of application launch errors. +- Major component updates - most notably, OpenSSL 1.1, Python 3.7, and GCC C++ ABI upgrade. This is actually the main reason for the delay, across our five active architectures (plus one data/architectural-independent "architecture"), over 10,000 packages were built. +- Core 6 "Fsck" is here! One year late. All toolchains and basic runtime components like the GNU C libraries are now up to date. +- Device support improvements, such as (but not limited to)... + - Added support for Intel Wi-Fi 6 AX200 wireless cards. + - Improved support for post-Sony Vaio laptops, specifically, their keyboard backlight controls. + - Added support for PineTab and its peripherals. + - ... +- Package updates as usual, you know the drill. But admittedly we are a little behind on desktop environments for reasons stated above. + +You should be able to obtain the (large set of) updates now. However, we are aware of **an issue that might prevent a smooth update.** We have documented the cause and workaround in this [Errata entry](https://wiki.aosc.io/aosc-os/errata/00009-error-updating-to-systemd-242). + +Again, we are sorry about the delay and will work on cycle management improvements in the coming AOSCC sessions. + +AOSCC 2019 +----------- + +On July 12 - 14th, AOSCC 2019 will take place in the University of Science and Technology of China - in Hefei, China. This three-day community gathering will provide loads of fun and giggles... and of course, ample opportunities for face-to-face discussions on community projects, talks from the friends of our community, and lucky draws. + +Since we didn't get to meet last year due to venue troubles, we have greatly expanded our souvenir collection to try and make up for it. In keeping with our community traditions, we have made not one, but two pages of stickers for you meme aficionadoes! + +![stickers](https://i.imgur.com/unUT3CC.png) + +Additionally, we have made badges from the community, AOSC OS, and AOSC OS/Retro's logos. These badges and the sticker sets are all free to take at the AOSCC venue - and available at the cost of postage after the conference. + +Information about attendance and schedules are availabe from the ["AOSCC 2019" Wiki page](https://wiki.aosc.io/community/aoscc/2019). We look forward to seeing you there! + +---- + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2019-07-07-weekly-community-report-issue-28-2019.zh-cn.md b/content/news/2019-07-07-weekly-community-report-issue-28-2019.zh-cn.md new file mode 100644 index 00000000..5f9a1683 --- /dev/null +++ b/content/news/2019-07-07-weekly-community-report-issue-28-2019.zh-cn.md @@ -0,0 +1,52 @@ +--- +categories: + - news +date: '2019-07-07' +important: false +title: 'Weekly Community Report: Issue 28, 2019' +--- + + +*Well, it's been yet another... two months (?!) since the last community report.* + +Let's not make this a trend - but the writer of this series of news posts was drowned in packaging tasks to finish off the last wave of updates. Plus we are now just four days away from AOSCC 2019, so at any rate, we should have posted something anyways - right? + +Winter Wave: 7 Months Late +------------------------------ + +The last update cycle has been nothing short of disastrous, with way too many features planned and crammed into the 3-month timeframe (which should have ended before 2019). Well at least it didn't turn into another [Windows "Longhorn"](https://web.archive.org/web/20060218125408/http://blogs.msdn.com/michkap/archive/2005/10/16/481625.aspx), phew! + +![core-6-update](https://i.imgur.com/gGcmMUO.png) + +But as a user, while you may be angry at the delay - and rightfully so - we have worked (literally) beyond our capacity to bring you a ship load of system-wide upgrades... + +- All architectures have ~50% of their packages updated or refreshed. With this huge pass of builds, we have eliminated a huge amount of quality (and thus usability) issues with our packages - owing to our new [Quality Assurance](https://packages.aosc.io/qa/) project led by [Gumblex](https://github.com/gumblex). We hope that you won't miss the golden age of application launch errors. +- Major component updates - most notably, OpenSSL 1.1, Python 3.7, and GCC C++ ABI upgrade. This is actually the main reason for the delay, across our five active architectures (plus one data/architectural-independent "architecture"), over 10,000 packages were built. +- Core 6 "Fsck" is here! One year late. All toolchains and basic runtime components like the GNU C libraries are now up to date. +- Device support improvements, such as (but not limited to)... + - Added support for Intel Wi-Fi 6 AX200 wireless cards. + - Improved support for post-Sony Vaio laptops, specifically, their keyboard backlight controls. + - Added support for PineTab and its peripherals. + - ... +- Package updates as usual, you know the drill. But admittedly we are a little behind on desktop environments for reasons stated above. + +You should be able to obtain the (large set of) updates now. However, we are aware of **an issue that might prevent a smooth update.** We have documented the cause and workaround in this [Errata entry](https://wiki.aosc.io/aosc-os/errata/00009-error-updating-to-systemd-242). + +Again, we are sorry about the delay and will work on cycle management improvements in the coming AOSCC sessions. + +AOSCC 2019 +----------- + +On July 12 - 14th, AOSCC 2019 will take place in the University of Science and Technology of China - in Hefei, China. This three-day community gathering will provide loads of fun and giggles... and of course, ample opportunities for face-to-face discussions on community projects, talks from the friends of our community, and lucky draws. + +Since we didn't get to meet last year due to venue troubles, we have greatly expanded our souvenir collection to try and make up for it. In keeping with our community traditions, we have made not one, but two pages of stickers for you meme aficionadoes! + +![stickers](https://i.imgur.com/unUT3CC.png) + +Additionally, we have made badges from the community, AOSC OS, and AOSC OS/Retro's logos. These badges and the sticker sets are all free to take at the AOSCC venue - and available at the cost of postage after the conference. + +Information about attendance and schedules are availabe from the ["AOSCC 2019" Wiki page](https://wiki.aosc.io/community/aoscc/2019). We look forward to seeing you there! + +---- + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2019-07-30-aosc-community-repository-unexpected-downtime.md b/content/news/2019-07-30-aosc-community-repository-unexpected-downtime.md new file mode 100644 index 00000000..cd41ef11 --- /dev/null +++ b/content/news/2019-07-30-aosc-community-repository-unexpected-downtime.md @@ -0,0 +1,12 @@ +--- +categories: + - news +date: '2019-07-30' +important: true +title: 'AOSC Community Repository: Unexpected Downtime' +--- + + +Apologies for the delayed notification, but our repository has been down for more than 12 hours due to an unexpected issue. We are currently working with the hosting agency, and will keep you posted with further updates. + +We apologise for any inconvenience - please refer to our [mirrors](https://aosc.io/mirror-status) for system updates and package installation. \ No newline at end of file diff --git a/content/news/2019-07-30-aosc-community-repository-unexpected-downtime.zh-cn.md b/content/news/2019-07-30-aosc-community-repository-unexpected-downtime.zh-cn.md new file mode 100644 index 00000000..cd41ef11 --- /dev/null +++ b/content/news/2019-07-30-aosc-community-repository-unexpected-downtime.zh-cn.md @@ -0,0 +1,12 @@ +--- +categories: + - news +date: '2019-07-30' +important: true +title: 'AOSC Community Repository: Unexpected Downtime' +--- + + +Apologies for the delayed notification, but our repository has been down for more than 12 hours due to an unexpected issue. We are currently working with the hosting agency, and will keep you posted with further updates. + +We apologise for any inconvenience - please refer to our [mirrors](https://aosc.io/mirror-status) for system updates and package installation. \ No newline at end of file diff --git a/content/news/2019-07-31-aosc-community-repository-service-recovered.md b/content/news/2019-07-31-aosc-community-repository-service-recovered.md new file mode 100644 index 00000000..0d78c6bf --- /dev/null +++ b/content/news/2019-07-31-aosc-community-repository-service-recovered.md @@ -0,0 +1,10 @@ +--- +categories: + - news +date: '2019-07-31' +important: false +title: 'AOSC Community Repository: Service Recovered' +--- + + +As of 19:06, July 30 (UTC), the community repository has recovered from the unexpected downtime. \ No newline at end of file diff --git a/content/news/2019-07-31-aosc-community-repository-service-recovered.zh-cn.md b/content/news/2019-07-31-aosc-community-repository-service-recovered.zh-cn.md new file mode 100644 index 00000000..0d78c6bf --- /dev/null +++ b/content/news/2019-07-31-aosc-community-repository-service-recovered.zh-cn.md @@ -0,0 +1,10 @@ +--- +categories: + - news +date: '2019-07-31' +important: false +title: 'AOSC Community Repository: Service Recovered' +--- + + +As of 19:06, July 30 (UTC), the community repository has recovered from the unexpected downtime. \ No newline at end of file diff --git a/content/news/2019-08-05-aosc-os-stable-branch-all-clear.md b/content/news/2019-08-05-aosc-os-stable-branch-all-clear.md new file mode 100644 index 00000000..b867b5fe --- /dev/null +++ b/content/news/2019-08-05-aosc-os-stable-branch-all-clear.md @@ -0,0 +1,12 @@ +--- +categories: + - news +date: '2019-08-05' +important: false +title: 'AOSC OS Stable Branch: All Clear!' +--- + + +We were made aware earlier today that our Stable repository is currently in an inconsistent state. As of August 5th at 6:25 UTC time, we have resolved all known dependency issues and you may proceed with updating or installing packages on your AOSC OS installation. + +Thank you for your patience and understanding. \ No newline at end of file diff --git a/content/news/2019-08-05-aosc-os-stable-branch-all-clear.zh-cn.md b/content/news/2019-08-05-aosc-os-stable-branch-all-clear.zh-cn.md new file mode 100644 index 00000000..b867b5fe --- /dev/null +++ b/content/news/2019-08-05-aosc-os-stable-branch-all-clear.zh-cn.md @@ -0,0 +1,12 @@ +--- +categories: + - news +date: '2019-08-05' +important: false +title: 'AOSC OS Stable Branch: All Clear!' +--- + + +We were made aware earlier today that our Stable repository is currently in an inconsistent state. As of August 5th at 6:25 UTC time, we have resolved all known dependency issues and you may proceed with updating or installing packages on your AOSC OS installation. + +Thank you for your patience and understanding. \ No newline at end of file diff --git a/content/news/2019-08-05-aosc-os-stable-branch-dependency-issues.md b/content/news/2019-08-05-aosc-os-stable-branch-dependency-issues.md new file mode 100644 index 00000000..42d04c18 --- /dev/null +++ b/content/news/2019-08-05-aosc-os-stable-branch-dependency-issues.md @@ -0,0 +1,14 @@ +--- +categories: + - news +date: '2019-08-05' +important: true +title: 'AOSC OS Stable Branch: Dependency Issues' +--- + + +We were made aware earlier today that our Stable repository is currently in an inconsistent state. You may run into dependency issues when trying to update or install packages on your AOSC OS installation. This issue was introduced from our recent change in the update testing procedures for the Stable branch - and we are currently working on resolving these issues. + +For the meanwhile, please refrain from updating your system; when installing new packages, should you run into any dependency issue: we are aware of these issues. + +We apologise for the inconvenience. \ No newline at end of file diff --git a/content/news/2019-08-05-aosc-os-stable-branch-dependency-issues.zh-cn.md b/content/news/2019-08-05-aosc-os-stable-branch-dependency-issues.zh-cn.md new file mode 100644 index 00000000..42d04c18 --- /dev/null +++ b/content/news/2019-08-05-aosc-os-stable-branch-dependency-issues.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - news +date: '2019-08-05' +important: true +title: 'AOSC OS Stable Branch: Dependency Issues' +--- + + +We were made aware earlier today that our Stable repository is currently in an inconsistent state. You may run into dependency issues when trying to update or install packages on your AOSC OS installation. This issue was introduced from our recent change in the update testing procedures for the Stable branch - and we are currently working on resolving these issues. + +For the meanwhile, please refrain from updating your system; when installing new packages, should you run into any dependency issue: we are aware of these issues. + +We apologise for the inconvenience. \ No newline at end of file diff --git a/content/news/2020-01-30-new-wave-of-updates-available.md b/content/news/2020-01-30-new-wave-of-updates-available.md new file mode 100644 index 00000000..d2d39485 --- /dev/null +++ b/content/news/2020-01-30-new-wave-of-updates-available.md @@ -0,0 +1,163 @@ +--- +categories: + - news +date: '2020-01-30' +important: false +title: New Wave of Updates Available (Fall 2019)! +--- + + +It's been a while since the last news post, but we've been busy working on +various community projects. So let's treat this post like a "Weekly Community +Report," (more to come later, but probably no longer weekly) but let's start +with the latest wave of AOSC OS updates. + +"Fall" 2019 Wave +---------------- + +The last iteration cycle have been quite busy, and the resulting wave of updates +are equally packed full of exciting features and general quality-of-life +improvements. + +### Core 7, Codename "Gumblex" + +On AOSCC, we voted for our next, G-prefixed codename for AOSC OS Core 7. +For the sake of humour and recognition of his strong contribution records to +the AOSC OS project, the attendees decided that our next codename will be +chosen in honour of Dingyuan Wang, a.k.a. "Gumblex." + +![core7-gumblex-postinst](https://i.imgur.com/iQSBbpZ.png) + +*All hail the piggy!* + +Of course, Core 7 is not just a name, it's a collection of updates and fixes to +AOSC OS' toolchains and core components. Most notably, GCC is updated to 9.2.1, +including the added [D Language compiler](https://wiki.dlang.org/GDC) support. +Other components like Bash, Binutils, as well as the Readline, Ncurses, and GNU +C Library (Glibc) libraries are also updated for better performance and +compatibility with new technical standards. + +For developers, all build configurations and scripts in the Core are cleaned up +and reworked for compliance with the +[AOSC OS Package Styling Manual](https://wiki.aosc.io/developer/packaging/package-styling-manual/), +easing future maintenance and changes. + +### Application and Component Updates + +The last iteration cycle closed with over 1,000 commits across the +[ABBS Tree](https://github.com/AOSC-Dev/aosc-os-abbs/), loads of updates were +made to the AOSC OS repository. Therefore, listed below are only the most +notable updates out of the hundreds made available for AOSC OS users like you: + +- KDE Frameworks 5.65, Plasma Desktop 5.17, and KDE Applications 19.12. +- LibreOffice has been updated to 6.3.4. +- Linux Kernel has been updated to 5.5, with the Long-Term Support Kernel + updated to the 5.4 branch. +- Vim has been updated to 8.2. +- LLVM (Low-Level Virtual Machine) has been updated to 9.0. +- Mesa has been updated to 19.3. +- Node.js has been updated to the 12.14.0 Long-Term Support Branch. +- Fcitx 5 components are now available. +- FUSE 3.x is now available to provide support for SSHFS 3.x. +- .NET Core 3.1 is now available, and all .NET packages are now maintained + on a per-branch basis, in compliance with Microsoft's specifications, + discussed in their + [.NET Core distribution packaging](https://docs.microsoft.com/zh-cn/dotnet/core/distribution-packaging) + page. +- ... + +Looking Forward to "Winter" 2020 +-------------------------------- + +With the closing of the "Fall" 2019 cycle, we have made various changes ahead +of the next cycle. For instance, the original +[Core Tree](https://github.com/AOSC-Dev/aosc-os-core/) has been merged into +the main [ABBS Tree](https://github.com/AOSC-Dev/aosc-os-abbs/). We did this +because this will make it easier for us to keep track of issues and branch +merging across the two integral AOSC OS components, whereas before confusion +and time management issue have left the Core components ineffectively +maintained. + +We have also made important changes to how we organise and assemble our +Iteration Plans for the future. For instance, in our +["Winter" 2020 Iteration Plan](https://github.com/AOSC-Dev/aosc-os-abbs/issues/2073), +we have introduced two new sections that differentiates the future cycles with +the "Fall" cycle. + +### Cycle Schedule + +Starting with the "Winter" cycle, we will employ a hard-deadline schedule, +whereas before, our iteration cycles tended to drag past the original 3-month +cycle plans. The reason for the delays were that we haven't been able to +control the amount of work to be done in a cycle, and as we scramble to +complete all entries listed on the Iteration Plan, we have failed to cut off +our cycles decisively. + +With a hard-deadline schedule, we intend to control our cycle lengths by +setting cut-off dates along the way, and change our priority from completing +all entries to keeping with the schedule. We will see how it goes in the +months leading up to May, but here is our current schedule as displayed on +our current Iteration Plan: + +- February 1, 2020: Start first survey for updates. +- March 1, 2020: Start second survey for updates. +- March 31, 2020: Freeze Testing-Proposed. + - Merge all changes to Testing for updates. + - Transfer all skip-ahead changes to Experimental. + - All non-complete entries on Testing-Proposed => Testing to be deferred to Spring 2020. +- April 1, 2020: Commence draft on Spring 2020 Iteration Plan. +- April 15, 2020: Merge all changes to Stable, cycle completion. + +So see you in April 15 with another wave of updates, hopefully. + +### Priority Tasks + +We have also introduced a new section to our Iteration Plan to distinctly mark +certain tasks as "Priority," and maintainers will be urged to complete them +before all others. For instance, GNOME 3.36 and Plasma 5.18, which are set +to release in February and March, will be listed here for prioritised +completion. Lagging changes like MATE 1.22 and XFCE 4.14 will also be listed +here to make sure they don't drag on for any longer. + +Again, we will see how it goes. + +New Portal +---------- + +As you might have noticed, we have switched to a new Community Portal in +December last year. This replaces our last design made in 2015, which, for a +lack of documentation, became increasingly difficult to maintain. This +eventually worsened to the point that it was practically impossible to even +complete elements of the original design (distribution downloads), let alone +for new features to be implemented. + +Therefore, with the help from [@liushuyu](/people/~liushuyu), a new design was +made with minimalism in mind, and it is already +[better documented](https://wiki.aosc.io/developer/infrastructure/community-portal) than +the last. It might look simple and plain, but it loads extremely fast, and is +(hopefully, as one of the layout designers) easier to navigate. We have also +took note to keep the most important information up-front. We are primarily +a community and a distribution project, and we intend to present these +information as clearly as we could. + +Let us know what you think, and please send your suggestions and complaints +[our way](https://github.com/AOSC-Dev/aosc-portal-kiss.github.io/issue/new/)! + +Coronavirus, and AOSCC 2020 +--------------------------- + +As most of you may know, China is currently in deep waters with the Novel +Coronavirus (nCoV 2019) outbreak. As a community primarily stationed in +Mainland China, we hope that you and our community members are staying +healthy and well. + +However, as the summer closes in, it also brings to concern as to whether +any venue would be made available in July, and therefore if AOSCC 2020 could +be held. In any case, we will keep you posted on the latest information. + +---- + +And such concludes our first 2020 update. We wish you a happy belated New Year +and all the best for your future endeavours. + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2020-01-30-new-wave-of-updates-available.zh-cn.md b/content/news/2020-01-30-new-wave-of-updates-available.zh-cn.md new file mode 100644 index 00000000..d2d39485 --- /dev/null +++ b/content/news/2020-01-30-new-wave-of-updates-available.zh-cn.md @@ -0,0 +1,163 @@ +--- +categories: + - news +date: '2020-01-30' +important: false +title: New Wave of Updates Available (Fall 2019)! +--- + + +It's been a while since the last news post, but we've been busy working on +various community projects. So let's treat this post like a "Weekly Community +Report," (more to come later, but probably no longer weekly) but let's start +with the latest wave of AOSC OS updates. + +"Fall" 2019 Wave +---------------- + +The last iteration cycle have been quite busy, and the resulting wave of updates +are equally packed full of exciting features and general quality-of-life +improvements. + +### Core 7, Codename "Gumblex" + +On AOSCC, we voted for our next, G-prefixed codename for AOSC OS Core 7. +For the sake of humour and recognition of his strong contribution records to +the AOSC OS project, the attendees decided that our next codename will be +chosen in honour of Dingyuan Wang, a.k.a. "Gumblex." + +![core7-gumblex-postinst](https://i.imgur.com/iQSBbpZ.png) + +*All hail the piggy!* + +Of course, Core 7 is not just a name, it's a collection of updates and fixes to +AOSC OS' toolchains and core components. Most notably, GCC is updated to 9.2.1, +including the added [D Language compiler](https://wiki.dlang.org/GDC) support. +Other components like Bash, Binutils, as well as the Readline, Ncurses, and GNU +C Library (Glibc) libraries are also updated for better performance and +compatibility with new technical standards. + +For developers, all build configurations and scripts in the Core are cleaned up +and reworked for compliance with the +[AOSC OS Package Styling Manual](https://wiki.aosc.io/developer/packaging/package-styling-manual/), +easing future maintenance and changes. + +### Application and Component Updates + +The last iteration cycle closed with over 1,000 commits across the +[ABBS Tree](https://github.com/AOSC-Dev/aosc-os-abbs/), loads of updates were +made to the AOSC OS repository. Therefore, listed below are only the most +notable updates out of the hundreds made available for AOSC OS users like you: + +- KDE Frameworks 5.65, Plasma Desktop 5.17, and KDE Applications 19.12. +- LibreOffice has been updated to 6.3.4. +- Linux Kernel has been updated to 5.5, with the Long-Term Support Kernel + updated to the 5.4 branch. +- Vim has been updated to 8.2. +- LLVM (Low-Level Virtual Machine) has been updated to 9.0. +- Mesa has been updated to 19.3. +- Node.js has been updated to the 12.14.0 Long-Term Support Branch. +- Fcitx 5 components are now available. +- FUSE 3.x is now available to provide support for SSHFS 3.x. +- .NET Core 3.1 is now available, and all .NET packages are now maintained + on a per-branch basis, in compliance with Microsoft's specifications, + discussed in their + [.NET Core distribution packaging](https://docs.microsoft.com/zh-cn/dotnet/core/distribution-packaging) + page. +- ... + +Looking Forward to "Winter" 2020 +-------------------------------- + +With the closing of the "Fall" 2019 cycle, we have made various changes ahead +of the next cycle. For instance, the original +[Core Tree](https://github.com/AOSC-Dev/aosc-os-core/) has been merged into +the main [ABBS Tree](https://github.com/AOSC-Dev/aosc-os-abbs/). We did this +because this will make it easier for us to keep track of issues and branch +merging across the two integral AOSC OS components, whereas before confusion +and time management issue have left the Core components ineffectively +maintained. + +We have also made important changes to how we organise and assemble our +Iteration Plans for the future. For instance, in our +["Winter" 2020 Iteration Plan](https://github.com/AOSC-Dev/aosc-os-abbs/issues/2073), +we have introduced two new sections that differentiates the future cycles with +the "Fall" cycle. + +### Cycle Schedule + +Starting with the "Winter" cycle, we will employ a hard-deadline schedule, +whereas before, our iteration cycles tended to drag past the original 3-month +cycle plans. The reason for the delays were that we haven't been able to +control the amount of work to be done in a cycle, and as we scramble to +complete all entries listed on the Iteration Plan, we have failed to cut off +our cycles decisively. + +With a hard-deadline schedule, we intend to control our cycle lengths by +setting cut-off dates along the way, and change our priority from completing +all entries to keeping with the schedule. We will see how it goes in the +months leading up to May, but here is our current schedule as displayed on +our current Iteration Plan: + +- February 1, 2020: Start first survey for updates. +- March 1, 2020: Start second survey for updates. +- March 31, 2020: Freeze Testing-Proposed. + - Merge all changes to Testing for updates. + - Transfer all skip-ahead changes to Experimental. + - All non-complete entries on Testing-Proposed => Testing to be deferred to Spring 2020. +- April 1, 2020: Commence draft on Spring 2020 Iteration Plan. +- April 15, 2020: Merge all changes to Stable, cycle completion. + +So see you in April 15 with another wave of updates, hopefully. + +### Priority Tasks + +We have also introduced a new section to our Iteration Plan to distinctly mark +certain tasks as "Priority," and maintainers will be urged to complete them +before all others. For instance, GNOME 3.36 and Plasma 5.18, which are set +to release in February and March, will be listed here for prioritised +completion. Lagging changes like MATE 1.22 and XFCE 4.14 will also be listed +here to make sure they don't drag on for any longer. + +Again, we will see how it goes. + +New Portal +---------- + +As you might have noticed, we have switched to a new Community Portal in +December last year. This replaces our last design made in 2015, which, for a +lack of documentation, became increasingly difficult to maintain. This +eventually worsened to the point that it was practically impossible to even +complete elements of the original design (distribution downloads), let alone +for new features to be implemented. + +Therefore, with the help from [@liushuyu](/people/~liushuyu), a new design was +made with minimalism in mind, and it is already +[better documented](https://wiki.aosc.io/developer/infrastructure/community-portal) than +the last. It might look simple and plain, but it loads extremely fast, and is +(hopefully, as one of the layout designers) easier to navigate. We have also +took note to keep the most important information up-front. We are primarily +a community and a distribution project, and we intend to present these +information as clearly as we could. + +Let us know what you think, and please send your suggestions and complaints +[our way](https://github.com/AOSC-Dev/aosc-portal-kiss.github.io/issue/new/)! + +Coronavirus, and AOSCC 2020 +--------------------------- + +As most of you may know, China is currently in deep waters with the Novel +Coronavirus (nCoV 2019) outbreak. As a community primarily stationed in +Mainland China, we hope that you and our community members are staying +healthy and well. + +However, as the summer closes in, it also brings to concern as to whether +any venue would be made available in July, and therefore if AOSCC 2020 could +be held. In any case, we will keep you posted on the latest information. + +---- + +And such concludes our first 2020 update. We wish you a happy belated New Year +and all the best for your future endeavours. + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2020-02-07-this-week-in-aosc-os-development.md b/content/news/2020-02-07-this-week-in-aosc-os-development.md new file mode 100644 index 00000000..6ce3f50d --- /dev/null +++ b/content/news/2020-02-07-this-week-in-aosc-os-development.md @@ -0,0 +1,92 @@ +--- +categories: + - news +date: '2020-02-07' +important: false +title: This Week in AOSC OS Development +--- + + +It's been a busy week since we kicked off the Winter 2020 iteration. +As time permits, we will be pushing weekly updates to the Stable branch, +including security, bug-fix, patch-level version updates (e.g. 2.3.1 => 2.3.2), +and major updates included as +[Exceptions](https://wiki.aosc.io/developer/packaging/cycle-exceptions). + +Here below is a breakdown of what we've done this week. + +Stable Branch Updates +--------------------- + +Multiple security updates have now been made available for Stable branch users +(AMD64-only for now, we are working to sync other architectures): + +- Chromium (`chromium`) and Google Chrome (`google-chrome`) + v79.0.3945.117 => v80.0.3987.87. +- cURL (`curl`, `curl+32`) v7.66.0 => 7.67.0. +- GNU Screen (`screen`) v4.7.0 => v4.7.0-1. +- OpenJDK and OpenJFX... + - OpenJDK 8 (`openjdk-8`) v3:8u232+ga-1 => v3:8u242+ga-1. + - OpenJFX 8 (`openjfx-8`) v8u202+ga-1. + - OpenJDK 11 (`openjdk`) v3:11.0.5+ga => 3:11.0.6+ga. + - OpenJFX 11 (`openjfx`) v11.0.3+1. +- Sudo (`sudo`) v1.8.29 => v1.8.31. + +Desktop environments have also received updates and fixes: + +- GNOME v3.34.0 => v3.34.1. +- Plasma Desktop v5.17.4 => v5.17.5. +- Default settings for various desktop environments are updated with new + default wallpaper and themes. In particular, Plasma Desktop now uses a + package (`plasma-default-settings`) to ship AOSC OS specific settings, + and the AOSC OS logo in KInfoCenter has been replaced with an vector + image to improve appearance in HiDPI set-ups. + +Other notable updates: + +- Linux Kernels... + - Mainline (`linux+kernel`) v5.5.0 => v5.5.2. + - Long-Term Support (`linux+kernel+lts`) v5.4.15 => v5.4.17. +- Node.js (`nodejs`) v2:12.14.0 => v2:12.14.1. +- Pale Moon Browser (`palemoon`) v28.8.0 => v28.8.2.2. +- Telegram Desktop (`telegram-desktop`) v1.9.3-2 => v1.9.9. + - This version fixes the spellcheck function. +- Thunderbird (`thunderbird`) v68.4.1 => v68.4.2. +- You-Get (`you-get`) v0.4.1388 => v0.4.1403. +- Youtube-DL (`youtube-dl`) v2020.01.01 => 2020.01.24. + +Looking Ahead +------------- + +Major works are also done on the Testing-Proposed => Testing front, which will +be made available by the end of April for Stable users. Across the tree, we +have surveyed for non-encrypted (or non-secured) source links (`ftp://` and +`http://`) and attmpted to replace them all with HTTPS (`https://`). +At present, we have detected over 1600 packages with non-encrypted source +links, and replaced over 1200 of them with HTTPS, with 328 remaining (either +not provided by the upstream, or new links would have to be detected). + +Major desktop environment updates are packaged and pending for further testing: + +- Cinnamon Desktop and Applications v4.2 => v4.4. +- MATE Desktop and Applications v1.20 => v1.22. +- Xfce and Applications v4.12 => v4.14. + +Other notable updates: + +- Brise, a dictionary for the RIME input method, has been deprecated and + replaced with a new collection of RIME Dictionary Data (`rime-data`) as + specified by its [upstream](https://github.com/rime/plum). +- IPython Shell (`ipython`) v7.10.2 => v7.11.1. +- Visual Studio Code, or Code-OSS (`vscode`) v1.41.1 => v1.42.0. +- Wine (`wine`) v5.0 => v5.1. + +In the coming week, we are expecting Plasma 5.18 to be released by the KDE +Community. Currently, Plasma 5.18 Beta is already in the Testing-Proposed +repository to prepare for the final release. We are expecting to complete +building the 5.18.0 release in the coming week, and make it available for +Testing branch users. + +--- + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2020-02-07-this-week-in-aosc-os-development.zh-cn.md b/content/news/2020-02-07-this-week-in-aosc-os-development.zh-cn.md new file mode 100644 index 00000000..6ce3f50d --- /dev/null +++ b/content/news/2020-02-07-this-week-in-aosc-os-development.zh-cn.md @@ -0,0 +1,92 @@ +--- +categories: + - news +date: '2020-02-07' +important: false +title: This Week in AOSC OS Development +--- + + +It's been a busy week since we kicked off the Winter 2020 iteration. +As time permits, we will be pushing weekly updates to the Stable branch, +including security, bug-fix, patch-level version updates (e.g. 2.3.1 => 2.3.2), +and major updates included as +[Exceptions](https://wiki.aosc.io/developer/packaging/cycle-exceptions). + +Here below is a breakdown of what we've done this week. + +Stable Branch Updates +--------------------- + +Multiple security updates have now been made available for Stable branch users +(AMD64-only for now, we are working to sync other architectures): + +- Chromium (`chromium`) and Google Chrome (`google-chrome`) + v79.0.3945.117 => v80.0.3987.87. +- cURL (`curl`, `curl+32`) v7.66.0 => 7.67.0. +- GNU Screen (`screen`) v4.7.0 => v4.7.0-1. +- OpenJDK and OpenJFX... + - OpenJDK 8 (`openjdk-8`) v3:8u232+ga-1 => v3:8u242+ga-1. + - OpenJFX 8 (`openjfx-8`) v8u202+ga-1. + - OpenJDK 11 (`openjdk`) v3:11.0.5+ga => 3:11.0.6+ga. + - OpenJFX 11 (`openjfx`) v11.0.3+1. +- Sudo (`sudo`) v1.8.29 => v1.8.31. + +Desktop environments have also received updates and fixes: + +- GNOME v3.34.0 => v3.34.1. +- Plasma Desktop v5.17.4 => v5.17.5. +- Default settings for various desktop environments are updated with new + default wallpaper and themes. In particular, Plasma Desktop now uses a + package (`plasma-default-settings`) to ship AOSC OS specific settings, + and the AOSC OS logo in KInfoCenter has been replaced with an vector + image to improve appearance in HiDPI set-ups. + +Other notable updates: + +- Linux Kernels... + - Mainline (`linux+kernel`) v5.5.0 => v5.5.2. + - Long-Term Support (`linux+kernel+lts`) v5.4.15 => v5.4.17. +- Node.js (`nodejs`) v2:12.14.0 => v2:12.14.1. +- Pale Moon Browser (`palemoon`) v28.8.0 => v28.8.2.2. +- Telegram Desktop (`telegram-desktop`) v1.9.3-2 => v1.9.9. + - This version fixes the spellcheck function. +- Thunderbird (`thunderbird`) v68.4.1 => v68.4.2. +- You-Get (`you-get`) v0.4.1388 => v0.4.1403. +- Youtube-DL (`youtube-dl`) v2020.01.01 => 2020.01.24. + +Looking Ahead +------------- + +Major works are also done on the Testing-Proposed => Testing front, which will +be made available by the end of April for Stable users. Across the tree, we +have surveyed for non-encrypted (or non-secured) source links (`ftp://` and +`http://`) and attmpted to replace them all with HTTPS (`https://`). +At present, we have detected over 1600 packages with non-encrypted source +links, and replaced over 1200 of them with HTTPS, with 328 remaining (either +not provided by the upstream, or new links would have to be detected). + +Major desktop environment updates are packaged and pending for further testing: + +- Cinnamon Desktop and Applications v4.2 => v4.4. +- MATE Desktop and Applications v1.20 => v1.22. +- Xfce and Applications v4.12 => v4.14. + +Other notable updates: + +- Brise, a dictionary for the RIME input method, has been deprecated and + replaced with a new collection of RIME Dictionary Data (`rime-data`) as + specified by its [upstream](https://github.com/rime/plum). +- IPython Shell (`ipython`) v7.10.2 => v7.11.1. +- Visual Studio Code, or Code-OSS (`vscode`) v1.41.1 => v1.42.0. +- Wine (`wine`) v5.0 => v5.1. + +In the coming week, we are expecting Plasma 5.18 to be released by the KDE +Community. Currently, Plasma 5.18 Beta is already in the Testing-Proposed +repository to prepare for the final release. We are expecting to complete +building the 5.18.0 release in the coming week, and make it available for +Testing branch users. + +--- + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2020-02-14-this-week-in-aosc-os-development.md b/content/news/2020-02-14-this-week-in-aosc-os-development.md new file mode 100644 index 00000000..bb31ca55 --- /dev/null +++ b/content/news/2020-02-14-this-week-in-aosc-os-development.md @@ -0,0 +1,144 @@ +--- +categories: + - news +date: '2020-02-14' +important: false +title: This Week in AOSC OS Development +--- + + +Happy Valentines Day! Hey, kudos to you if you do have a date tonight - we won't +take this day off, however. As usual, we push weekly updates to the Stable branch, +including security, bug-fix, patch-level version updates (e.g. 2.3.1 => 2.3.2), +and major updates included as +[Exceptions](https://wiki.aosc.io/developer/packaging/cycle-exceptions). + +Here below is a breakdown of what we've done this week. + +Stable Branch Updates +--------------------- + +Multiple security updates have now been made available for Stable branch users +(AMD64-only for now, we are working to sync other architectures): + +- Firefox (`firefox`) v72.0.2 => v73.0. + - This version is now built with Clang and enables three-tier profile-guided + optimisation (PGO), with a new build script adapted from + [Arch Linux](https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/firefox). +- LibEXIF (`libexif`, `libexif+32`) v0.6.21-4 => v0.6.21-5. +- Thunderbird (`thunderbird`) v68.4.2 => v68.5.0. + +AOSC OS Core has received two patch releases, containing updates to the core +runtime and toolchains on which AOSC OS is built upon: + +- Bash v5.0.11-1 => v5.0.16. +- Binutils v2.33.1-1 => v2.33.1-2. + - Contains maintenance fixes from the [`binutils-2_33-branch`](https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=shortlog;h=refs/heads/binutils-2_33-branch) branch. +- GCC v9.2.1-1 => v9.2.1-2. + - Contains maintenance fixes from the [`releases/gcc-9`](https://github.com/gcc-mirror/gcc/commits/releases/gcc-9) branch. +- Glibc v1:2.30-1 => v1:2.30-2. + - Contains maintenance fixes from the [`release/2.30`](https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/release/2.30/master) branch. +- ISL v1:0.22 => v1:0.22.1. +- Linux API Headers v2:5.4.5 => v2:5.4.19. +- Ncurses v6.1+20191214 => v6.1+20200118. +- Readline v8.0.1 => v8.0.4. + +With these updates, AOSC OS Core is updated from v7.0.2 to v7.0.4. + +Other notable updates: + +- Go v1.13.5-1 => v1.13.8. + - All Go-based packages have been rebuilt using the new Go compiler. +- Linux Kernels... + - Mainline (`linux+kernel`) v5.5.2 => v5.5.3. + - Long-Term Support (`linux+kernel+lts`) v5.4.17 => v5.4.19. +- LLVM (`llvm`, `llvm+32`) v9.0.0-2 => v9.0.1. + - This version re-enables binary hardening. +- LMMS (`lmms`) v2:1.2.0rc8-2 => v2:1.2.1. +- Rust (`rustc`) v1:1.39.0 => v1:1.41.0. + - This version re-enables binary stripping and the resulting package + should be much smaller. +- Telegram Desktop (`telegram-desktop`) v1.9.9 => v1.9.13. +- VirtualBox (`virtualbox`, `virtualbox-guest`) v6.1.0 => v6.1.2. +- Vivaldi Browser (`vivaldi`) v2.10.1745.27 => v2.11.1811.33. + +Linux Kernel 5.6 +---------------- + +As you may be aware, Linux Kernel 5.6 is quite possibly +[one of the most exciting Kernel releases in years](https://www.phoronix.com/scan.php?page=article&item=linux-56-features&num=1), +as a large amount of new features made it into the new release: + +- SATA temperature sensors are now exposed from the Linux Kernel, that said, + with a due update to `lm-sensors` (which provides the `sensors` command), + you should now be able to monitor your storage devices which are connected + via SATA. +- WireGuard has finally been merged into the Kernel for a secure VPN tunnel. +- The ZoneFS from Western Digital has been merged into the Kernel. +- AMD Zen/Zen2 (Ryzen 1st, 2nd, and 3rd Generation) thermal and power monitoring + has been improved. +- ... + +It seems that Whiskey Lake-based laptops could now suspend more reliably too, +but this remains to be seen with further testing (I personally use a Panasonic +Let's Note CF-SV8R, which did not suspend well with Kernels 5.4 - 5.5). + +With this exciting news, we have also decided to open a new repository called +`rckernel` for those who want to get in the testing game. To obtain Linux Kernel +5.6-rc1, or any future Kernel release candidates, please invoke the following +command: + +``` +# apt-gen-list b rckernel +``` + +If you are using the Testing or Testing-Proposed branch, please run the +following command: + +``` +# apt-gen-list b testing +``` + +or... + +``` +# apt-gen-list b testing-proposed +``` + +And `rckernel` will be enabled automatically. Simply update your system after +the above command is run: + +``` +# apt update && apt full-upgrade +``` + +And you should receive Kernel 5.6-rc1 as a system update. + +Looking Ahead +------------- + +On the Testing-Proposed front, we have mainly focused on desktop environment +updates and update survey (that is, checking for available updates and recording +them on our [Iteration Plan for Winter 2020](https://github.com/AOSC-Dev/aosc-os-abbs/issues/2073)). + +Desktop environment updates made available for testing this week: + +- MATE Desktop and Applications (`groups/mate`) v1.22 => 1.24. +- Plasma Desktop (`groups/plasma`) v5.17.90 => 5.18.0. + - KDE Frameworks (`groups/kf5`) v5.66.0 => v5.67.0. + +Other notable updates: + +- Racket (`racket`) v7.5 => v7.6. +- Visual Studio Code, or Code - OSS (`vscode`) v1.14.1 => v1.42.0 +- Wine (`wine`, with Wine-Staging patch set) v2:5.0 => v2:5.1. + +In the coming week, we are expecting to update to Python 3.8, and with this, +a large amount of packages will be updated and rebuilt. Otherwise, we will +continue to package updates that we've found from our surveys. + +This will conclude our development update for the week of February 10th. + +--- + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2020-02-14-this-week-in-aosc-os-development.zh-cn.md b/content/news/2020-02-14-this-week-in-aosc-os-development.zh-cn.md new file mode 100644 index 00000000..bb31ca55 --- /dev/null +++ b/content/news/2020-02-14-this-week-in-aosc-os-development.zh-cn.md @@ -0,0 +1,144 @@ +--- +categories: + - news +date: '2020-02-14' +important: false +title: This Week in AOSC OS Development +--- + + +Happy Valentines Day! Hey, kudos to you if you do have a date tonight - we won't +take this day off, however. As usual, we push weekly updates to the Stable branch, +including security, bug-fix, patch-level version updates (e.g. 2.3.1 => 2.3.2), +and major updates included as +[Exceptions](https://wiki.aosc.io/developer/packaging/cycle-exceptions). + +Here below is a breakdown of what we've done this week. + +Stable Branch Updates +--------------------- + +Multiple security updates have now been made available for Stable branch users +(AMD64-only for now, we are working to sync other architectures): + +- Firefox (`firefox`) v72.0.2 => v73.0. + - This version is now built with Clang and enables three-tier profile-guided + optimisation (PGO), with a new build script adapted from + [Arch Linux](https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/firefox). +- LibEXIF (`libexif`, `libexif+32`) v0.6.21-4 => v0.6.21-5. +- Thunderbird (`thunderbird`) v68.4.2 => v68.5.0. + +AOSC OS Core has received two patch releases, containing updates to the core +runtime and toolchains on which AOSC OS is built upon: + +- Bash v5.0.11-1 => v5.0.16. +- Binutils v2.33.1-1 => v2.33.1-2. + - Contains maintenance fixes from the [`binutils-2_33-branch`](https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=shortlog;h=refs/heads/binutils-2_33-branch) branch. +- GCC v9.2.1-1 => v9.2.1-2. + - Contains maintenance fixes from the [`releases/gcc-9`](https://github.com/gcc-mirror/gcc/commits/releases/gcc-9) branch. +- Glibc v1:2.30-1 => v1:2.30-2. + - Contains maintenance fixes from the [`release/2.30`](https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/release/2.30/master) branch. +- ISL v1:0.22 => v1:0.22.1. +- Linux API Headers v2:5.4.5 => v2:5.4.19. +- Ncurses v6.1+20191214 => v6.1+20200118. +- Readline v8.0.1 => v8.0.4. + +With these updates, AOSC OS Core is updated from v7.0.2 to v7.0.4. + +Other notable updates: + +- Go v1.13.5-1 => v1.13.8. + - All Go-based packages have been rebuilt using the new Go compiler. +- Linux Kernels... + - Mainline (`linux+kernel`) v5.5.2 => v5.5.3. + - Long-Term Support (`linux+kernel+lts`) v5.4.17 => v5.4.19. +- LLVM (`llvm`, `llvm+32`) v9.0.0-2 => v9.0.1. + - This version re-enables binary hardening. +- LMMS (`lmms`) v2:1.2.0rc8-2 => v2:1.2.1. +- Rust (`rustc`) v1:1.39.0 => v1:1.41.0. + - This version re-enables binary stripping and the resulting package + should be much smaller. +- Telegram Desktop (`telegram-desktop`) v1.9.9 => v1.9.13. +- VirtualBox (`virtualbox`, `virtualbox-guest`) v6.1.0 => v6.1.2. +- Vivaldi Browser (`vivaldi`) v2.10.1745.27 => v2.11.1811.33. + +Linux Kernel 5.6 +---------------- + +As you may be aware, Linux Kernel 5.6 is quite possibly +[one of the most exciting Kernel releases in years](https://www.phoronix.com/scan.php?page=article&item=linux-56-features&num=1), +as a large amount of new features made it into the new release: + +- SATA temperature sensors are now exposed from the Linux Kernel, that said, + with a due update to `lm-sensors` (which provides the `sensors` command), + you should now be able to monitor your storage devices which are connected + via SATA. +- WireGuard has finally been merged into the Kernel for a secure VPN tunnel. +- The ZoneFS from Western Digital has been merged into the Kernel. +- AMD Zen/Zen2 (Ryzen 1st, 2nd, and 3rd Generation) thermal and power monitoring + has been improved. +- ... + +It seems that Whiskey Lake-based laptops could now suspend more reliably too, +but this remains to be seen with further testing (I personally use a Panasonic +Let's Note CF-SV8R, which did not suspend well with Kernels 5.4 - 5.5). + +With this exciting news, we have also decided to open a new repository called +`rckernel` for those who want to get in the testing game. To obtain Linux Kernel +5.6-rc1, or any future Kernel release candidates, please invoke the following +command: + +``` +# apt-gen-list b rckernel +``` + +If you are using the Testing or Testing-Proposed branch, please run the +following command: + +``` +# apt-gen-list b testing +``` + +or... + +``` +# apt-gen-list b testing-proposed +``` + +And `rckernel` will be enabled automatically. Simply update your system after +the above command is run: + +``` +# apt update && apt full-upgrade +``` + +And you should receive Kernel 5.6-rc1 as a system update. + +Looking Ahead +------------- + +On the Testing-Proposed front, we have mainly focused on desktop environment +updates and update survey (that is, checking for available updates and recording +them on our [Iteration Plan for Winter 2020](https://github.com/AOSC-Dev/aosc-os-abbs/issues/2073)). + +Desktop environment updates made available for testing this week: + +- MATE Desktop and Applications (`groups/mate`) v1.22 => 1.24. +- Plasma Desktop (`groups/plasma`) v5.17.90 => 5.18.0. + - KDE Frameworks (`groups/kf5`) v5.66.0 => v5.67.0. + +Other notable updates: + +- Racket (`racket`) v7.5 => v7.6. +- Visual Studio Code, or Code - OSS (`vscode`) v1.14.1 => v1.42.0 +- Wine (`wine`, with Wine-Staging patch set) v2:5.0 => v2:5.1. + +In the coming week, we are expecting to update to Python 3.8, and with this, +a large amount of packages will be updated and rebuilt. Otherwise, we will +continue to package updates that we've found from our surveys. + +This will conclude our development update for the week of February 10th. + +--- + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2020-02-20-updates-withdrawn-from-stable.md b/content/news/2020-02-20-updates-withdrawn-from-stable.md new file mode 100644 index 00000000..e473e017 --- /dev/null +++ b/content/news/2020-02-20-updates-withdrawn-from-stable.md @@ -0,0 +1,119 @@ +--- +categories: + - news +date: '2020-02-20' +important: true +title: Updates Withdrawn from the Stable Repository +--- + + +Within the past 24 hours, 73 updates were accidentally uploaded to the Stable +repository (intended for Stable-Proposed). In particular, an update to LDNS +(`ldns`, 1.7.0-3 | 1.7.1) have broken OpenSSH (`openssh`), OpenSSH-HPN +(`openssh-hpn`), and DNSCrypt Proxy (`dnscrypt`). To mitigate this issue, +please issue the following command: + +``` +# apt install ldns=1.7.0-3 +``` + +We are not aware of any other issue caused by this incident. We will be merging +changes from Stable-Proposed on Friday or Tuesday, UTC time. Before then, if you +you have applied the mitigation from above, you should not run into other issues. + +However, as the updates were withdrawn, some packages installed on your system +will now show up with `local` markers, meaning that a specific version of a +package installed on your system is not found on the repository enabled by +your configuration. The Stable-Proposed merge in the coming days will result in +a wave of updates which will render your system consistent with the repository +again. In short, these `local` markers are temporary and should not affect +system functionality. + +We apologise for any inconvenience that we may have caused. If you run into other +issues after updating your system, please don't hesistate to +[inform us](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new/choose/). + +---- + +Attachment: List of Packages Affected by the Withdrawal +------------------------------------------------------- + +| Package, Version, and Architecture | Deferred To | +|-----------------------------------------|-----------------| +| babl 0.1.74-0 (amd64) | stable-proposed | +| brial 1.2.7-0 (amd64) | stable-proposed | +| chromium 80.0.3987.116-0 (amd64) | stable-proposed | +| cimg 2.8.4-0 (amd64) | stable-proposed | +| clblast 1.5.1-0 (amd64) | stable-proposed | +| cln 1.3.6-0 (amd64) | stable-proposed | +| exempi 2.5.1-0 (amd64) | stable-proposed | +| folks 0.13.2-0 (amd64) | stable-proposed | +| fox 1.7.67-0 (amd64) | stable-proposed | +| fplll 5.3.2-0 (amd64) | stable-proposed | +| gdk-pixbuf 2.38.2-0 (amd64) | stable-proposed | +| glib-networking 2.62.3-0 (amd64) | stable-proposed | +| gloox 1.0.23-0 (amd64) | stable-proposed | +| gnupg 2.2.19-0 (amd64) | stable-proposed | +| gnutls 3.6.12-0 (amd64) | stable-proposed | +| goffice 0.10.46-0 (amd64) | stable-proposed | +| google-chrome 80.0.3987.116-0 (amd64) | stable-proposed | +| gsasl 1.8.1-0 (amd64) | stable-proposed | +| gsoap 2.8.98-0 (amd64) | stable-proposed | +| gssdp 1.2.2-0 (amd64) | stable-proposed | +| gupnp 1.2.2-0 (amd64) | stable-proposed | +| http-parser 2.9.3-0 (amd64) | stable-proposed | +| ibus-hangul 1.5.3-0 (amd64) | stable-proposed | +| ibus-table 1.9.25-0 (amd64) | stable-proposed | +| krusader 2.7.2-0 (amd64) | stable-proposed | +| ktorrent 5.1.2-0 (amd64) | stable-proposed | +| ldns 1.7.1-0 (amd64) | stable-proposed | +| libabw 0.1.3-0 (amd64) | stable-proposed | +| libasr 1.0.4-0 (amd64) | stable-proposed | +| libcap-ng 0.7.10-0 (amd64) | stable-proposed | +| libcdr 0.1.6-0 (amd64) | stable-proposed | +| libepoxy 1.5.4-0 (amd64) | stable-proposed | +| libfdk-aac 2.0.1-0 (amd64) | stable-proposed | +| libgcrypt-static 1.8.5-0 (amd64) | stable-proposed | +| libgee 0.20.3-0 (amd64) | stable-proposed | +| libgovirt 0.3.7-0 (amd64) | stable-proposed | +| libgpiod 1.4.2-0 (amd64) | stable-proposed | +| libgusb 0.3.3-0 (amd64) | stable-proposed | +| libjpeg-turbo 2.0.4-0 (amd64) | stable-proposed | +| liblangtag 0.6.3-0 (amd64) | stable-proposed | +| libmicrohttpd 0.9.70-0 (amd64) | stable-proposed | +| libmirage 3.2.4-0 (amd64) | stable-proposed | +| libmtp 1.1.17-0 (amd64) | stable-proposed | +| libpcap 1.9.1-0 (amd64) | stable-proposed | +| libphonenumber 8.11.4-0 (amd64) | stable-proposed | +| libpst 0.6.74-0 (amd64) | stable-proposed | +| libpwquality 1.4.2-0 (amd64) | stable-proposed | +| libqmi 1.24.4-0 (amd64) | stable-proposed | +| librsvg 2.46.4-0 (amd64) | stable-proposed | +| libshake 0.3.1-0 (amd64) | stable-proposed | +| libsigrokdecode 0.5.3-0 (amd64) | stable-proposed | +| libsmbios 2.4.3-0 (amd64) | stable-proposed | +| libsolv 0.7.11-0 (amd64) | stable-proposed | +| libsoup 2.68.3-0 (amd64) | stable-proposed | +| libtorrent-rasterbar 1.2.4-0 (amd64) | stable-proposed | +| libuv 1.34.2-0 (amd64) | stable-proposed | +| libvisio 0.1.7-0 (amd64) | stable-proposed | +| linux-kernel-5.5.4 5.5.4-1 (amd64) | stable-proposed | +| mbedtls 2.16.4-0 (amd64) | stable-proposed | +| mesa 19.3.4-0 (amd64) | stable-proposed | +| mtdev 1.1.6-0 (amd64) | stable-proposed | +| netcdf 4.7.3-0 (amd64) | stable-proposed | +| ntl 11.4.3-0 (amd64) | stable-proposed | +| pango 1.44.7-0 (amd64) | stable-proposed | +| protobuf-c 1.3.3-0 (amd64) | stable-proposed | +| snappy 1.1.8-0 (amd64) | stable-proposed | +| source-highlight 3.1.9-0 (amd64) | stable-proposed | +| talloc 2.3.1-0 (amd64) | stable-proposed | +| tevent 0.10.2-0 (amd64) | stable-proposed | +| tpm2-tss 2.3.3-0 (amd64) | stable-proposed | +| vte-gtk3 0.58.3-0 (amd64) | stable-proposed | +| zfs 0.8.3-0 (amd64) | stable-proposed | +| zfs 0.8.3-1 (amd64) | stable-proposed | + +---- + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2020-02-20-updates-withdrawn-from-stable.zh-cn.md b/content/news/2020-02-20-updates-withdrawn-from-stable.zh-cn.md new file mode 100644 index 00000000..e473e017 --- /dev/null +++ b/content/news/2020-02-20-updates-withdrawn-from-stable.zh-cn.md @@ -0,0 +1,119 @@ +--- +categories: + - news +date: '2020-02-20' +important: true +title: Updates Withdrawn from the Stable Repository +--- + + +Within the past 24 hours, 73 updates were accidentally uploaded to the Stable +repository (intended for Stable-Proposed). In particular, an update to LDNS +(`ldns`, 1.7.0-3 | 1.7.1) have broken OpenSSH (`openssh`), OpenSSH-HPN +(`openssh-hpn`), and DNSCrypt Proxy (`dnscrypt`). To mitigate this issue, +please issue the following command: + +``` +# apt install ldns=1.7.0-3 +``` + +We are not aware of any other issue caused by this incident. We will be merging +changes from Stable-Proposed on Friday or Tuesday, UTC time. Before then, if you +you have applied the mitigation from above, you should not run into other issues. + +However, as the updates were withdrawn, some packages installed on your system +will now show up with `local` markers, meaning that a specific version of a +package installed on your system is not found on the repository enabled by +your configuration. The Stable-Proposed merge in the coming days will result in +a wave of updates which will render your system consistent with the repository +again. In short, these `local` markers are temporary and should not affect +system functionality. + +We apologise for any inconvenience that we may have caused. If you run into other +issues after updating your system, please don't hesistate to +[inform us](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new/choose/). + +---- + +Attachment: List of Packages Affected by the Withdrawal +------------------------------------------------------- + +| Package, Version, and Architecture | Deferred To | +|-----------------------------------------|-----------------| +| babl 0.1.74-0 (amd64) | stable-proposed | +| brial 1.2.7-0 (amd64) | stable-proposed | +| chromium 80.0.3987.116-0 (amd64) | stable-proposed | +| cimg 2.8.4-0 (amd64) | stable-proposed | +| clblast 1.5.1-0 (amd64) | stable-proposed | +| cln 1.3.6-0 (amd64) | stable-proposed | +| exempi 2.5.1-0 (amd64) | stable-proposed | +| folks 0.13.2-0 (amd64) | stable-proposed | +| fox 1.7.67-0 (amd64) | stable-proposed | +| fplll 5.3.2-0 (amd64) | stable-proposed | +| gdk-pixbuf 2.38.2-0 (amd64) | stable-proposed | +| glib-networking 2.62.3-0 (amd64) | stable-proposed | +| gloox 1.0.23-0 (amd64) | stable-proposed | +| gnupg 2.2.19-0 (amd64) | stable-proposed | +| gnutls 3.6.12-0 (amd64) | stable-proposed | +| goffice 0.10.46-0 (amd64) | stable-proposed | +| google-chrome 80.0.3987.116-0 (amd64) | stable-proposed | +| gsasl 1.8.1-0 (amd64) | stable-proposed | +| gsoap 2.8.98-0 (amd64) | stable-proposed | +| gssdp 1.2.2-0 (amd64) | stable-proposed | +| gupnp 1.2.2-0 (amd64) | stable-proposed | +| http-parser 2.9.3-0 (amd64) | stable-proposed | +| ibus-hangul 1.5.3-0 (amd64) | stable-proposed | +| ibus-table 1.9.25-0 (amd64) | stable-proposed | +| krusader 2.7.2-0 (amd64) | stable-proposed | +| ktorrent 5.1.2-0 (amd64) | stable-proposed | +| ldns 1.7.1-0 (amd64) | stable-proposed | +| libabw 0.1.3-0 (amd64) | stable-proposed | +| libasr 1.0.4-0 (amd64) | stable-proposed | +| libcap-ng 0.7.10-0 (amd64) | stable-proposed | +| libcdr 0.1.6-0 (amd64) | stable-proposed | +| libepoxy 1.5.4-0 (amd64) | stable-proposed | +| libfdk-aac 2.0.1-0 (amd64) | stable-proposed | +| libgcrypt-static 1.8.5-0 (amd64) | stable-proposed | +| libgee 0.20.3-0 (amd64) | stable-proposed | +| libgovirt 0.3.7-0 (amd64) | stable-proposed | +| libgpiod 1.4.2-0 (amd64) | stable-proposed | +| libgusb 0.3.3-0 (amd64) | stable-proposed | +| libjpeg-turbo 2.0.4-0 (amd64) | stable-proposed | +| liblangtag 0.6.3-0 (amd64) | stable-proposed | +| libmicrohttpd 0.9.70-0 (amd64) | stable-proposed | +| libmirage 3.2.4-0 (amd64) | stable-proposed | +| libmtp 1.1.17-0 (amd64) | stable-proposed | +| libpcap 1.9.1-0 (amd64) | stable-proposed | +| libphonenumber 8.11.4-0 (amd64) | stable-proposed | +| libpst 0.6.74-0 (amd64) | stable-proposed | +| libpwquality 1.4.2-0 (amd64) | stable-proposed | +| libqmi 1.24.4-0 (amd64) | stable-proposed | +| librsvg 2.46.4-0 (amd64) | stable-proposed | +| libshake 0.3.1-0 (amd64) | stable-proposed | +| libsigrokdecode 0.5.3-0 (amd64) | stable-proposed | +| libsmbios 2.4.3-0 (amd64) | stable-proposed | +| libsolv 0.7.11-0 (amd64) | stable-proposed | +| libsoup 2.68.3-0 (amd64) | stable-proposed | +| libtorrent-rasterbar 1.2.4-0 (amd64) | stable-proposed | +| libuv 1.34.2-0 (amd64) | stable-proposed | +| libvisio 0.1.7-0 (amd64) | stable-proposed | +| linux-kernel-5.5.4 5.5.4-1 (amd64) | stable-proposed | +| mbedtls 2.16.4-0 (amd64) | stable-proposed | +| mesa 19.3.4-0 (amd64) | stable-proposed | +| mtdev 1.1.6-0 (amd64) | stable-proposed | +| netcdf 4.7.3-0 (amd64) | stable-proposed | +| ntl 11.4.3-0 (amd64) | stable-proposed | +| pango 1.44.7-0 (amd64) | stable-proposed | +| protobuf-c 1.3.3-0 (amd64) | stable-proposed | +| snappy 1.1.8-0 (amd64) | stable-proposed | +| source-highlight 3.1.9-0 (amd64) | stable-proposed | +| talloc 2.3.1-0 (amd64) | stable-proposed | +| tevent 0.10.2-0 (amd64) | stable-proposed | +| tpm2-tss 2.3.3-0 (amd64) | stable-proposed | +| vte-gtk3 0.58.3-0 (amd64) | stable-proposed | +| zfs 0.8.3-0 (amd64) | stable-proposed | +| zfs 0.8.3-1 (amd64) | stable-proposed | + +---- + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2020-02-22-this-week-in-aosc-os-development.md b/content/news/2020-02-22-this-week-in-aosc-os-development.md new file mode 100644 index 00000000..de9066fd --- /dev/null +++ b/content/news/2020-02-22-this-week-in-aosc-os-development.md @@ -0,0 +1,143 @@ +--- +categories: + - news +date: '2020-02-22' +important: false +title: This Week in AOSC OS Development +--- + + +Second to last weekend of February and onto the 29th. As usual, we push weekly +updates to the Stable branch, including security, bug-fix, patch-level version +updates (e.g. 2.3.1 => 2.3.2), and major updates included as +[Exceptions](https://wiki.aosc.io/developer/packaging/cycle-exceptions). + +Here below is a breakdown of what we've done this week. + +Stable Branch Updates +--------------------- + +Multiple security updates have now been made available for Stable branch users +(AMD64-only for now, we are working to sync other architectures): + +- Django (`django`) v3.0 => v3.0.3. +- Pale Moon (`palemoon`) v28.8.2.1 => v28.8.3. + +AOSC OS Core has received two patch releases, containing updates to the core +runtime and toolchains on which AOSC OS is built upon. With these updates, +AOSC OS Core is updated from v7.0.4 to v7.0.5: + +- GCC (`gcc-runtime`, `gcc`) v9.2.1-2 => v9.2.1-3. + - Contains maintenance fixes from the releases/gcc-9 branch. +- Glibc (`glibc`) v1:2.30-2 => v1:2.30-3. + - Contains maintenance fixes from the release/2.30 branch. +- Linux API Headers (`linux+api`) v2:5.4.19 => v2:5.4.21. +- Ncurses (`ncurses`) v6.1+20200118 => v6.1+20200118-1. + - Drops the `/usr/share/terminfo/f/fbterm` to fix a file collision with + Fbterm (`fbterm`). + +Desktop Enviroments and Components have also received updates, most notably: + +- GNOME Desktop v3.34.3 => v3.34.4. +- KDE Applications v19.12.0 => v19.12.2. + +Other notable updates: + +- Brave Browser (`brave-browser`) v1.3.115 => v1.3.118. +- Chromium and Google Chrome (`chromium`, `google-chrome`) + v80.0.3987.87 => v80.0.3987.116. +- Linux Kernels... + - Mainline (`linux+kernel`) v5.5.4 => v5.5.5. + - Long-Term Support (`linux+kernel+lts`) v5.4.19 => v5.4.21. +- Telegram Desktop (`telegram-desktop`) v1.9.13 => v1.9.14. +- Vivaldi Browser (`vivaldi`) v2.11.1811.33 => v2.11.1811.38. +- YouTube-DL (`youtube-dl`) v2020.01.24 => v2020.02.16. +- ZFS Kernel Module and Tools (`zfs`) v0.8.2 => v0.8.3. + - With this update, as ZFS is not compatible with our current mainline + Kernel (5.5.\*). As a result, we have now marked this package as + incompatible ("Broken" in DPKG speech) with our Mainline Kernels. + +Mesa Update and New Allwinner A64 Images +---------------------------------------- + +Included with this week's Stable branch updates is Mesa 19.3.4. +[Icenowy Zheng](https://github.com/Icenowy), our resident ARM guru and +Allwinner/Pine64 device support maintainer have backported a set of patches +to bring enhanced features and stability fixes to the +[Lima](https://gitlab.freedesktop.org/lima/web) graphics driver. + +Lima is an open source graphics driver for Mali-400/450-based GPUs, for our +scope of support, this driver is used by Pine64's, PineBooks, PinePhones, +and PineTabs. Thanks to all the great work from the Lima developers, these +devices can run (relatively) graphically intensive desktop environments like +the GNOME and Plasma desktops at acceptable performance (according to Icenowy +in our recent conversation, she mentioned that there is certainly room for +optimisation, but as to how much, she couldn't say). + +That said, expect new device images for the Lima-enabled devices, and we will +keep you updated with a news post. + +Linux Kernel 5.6 +---------------- + +Five days ago, Linux Kernel 5.6-rc2 was tagged, and we have promptly packaged +this update and uploaded it to the `rckernel` repository. According to +[Phoronix](https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.6-rc2-Released), +this release has overall been "quite a calm test release." + +*"More than half of the Linux 5.6-rc2 changes amount to documentation updates* +*and of the rest a good portion is of tooling updates around the `perf`* +*subsystem. When it comes to updates of actual kernel code, there are Intel* +*ICE E800 series updates, various graphics/DRM fixes, and other fixes* +*flowing in following the closure last week of the Linux 5.6 merge window."* + +And in case you've missed it, we opened a new repository called `rckernel` for +those who want to get in the testing game. To obtain our 5.6 RC Kernels, or +any future Kernel release candidates, please invoke the following command: + +``` +# apt-gen-list b rckernel +``` + +If you are using the Testing or Testing-Proposed branch, please run the +following command: + +``` +# apt-gen-list b testing +``` + +or... + +``` +# apt-gen-list b testing-proposed +``` + +And `rckernel` will be enabled automatically. Simply update your system after +the above command is run: + +``` +# apt update && apt full-upgrade +``` + +And you should receive Kernel 5.6-rc1 as a system update. + +Looking Ahead +------------- + +On the Testing-Proposed front, this week has been mostly quiet, as most of +our efforts have been dedicated to bringing in more Stable updates. That said, +with GNOME 3.36 on the horizon (due to release on March 11th) and Python 3.8 +high on our [priority](https://github.com/AOSC-Dev/aosc-os-abbs/issues/2073), +you can expect the next few months to be quite Testing-Proposed-heavy. + +We also expect to push for Core 7.1 in the weeks leading up to our freezing +deadline on March 31st. We are expecting updates to GMP +([v6.1.2 => v6.2](https://gmplib.org/gmp6.2.html)), GNU Make ([v4.2.1 => 4.3](https://lists.gnu.org/archive/html/info-gnu/2020-01/msg00004.html)), +and Binutils ([v2.33.1 => v2.34](https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=binutils/NEWS;hb=refs/tags/binutils-2_34)) +to make it into the 7.1.0 release. + +This will conclude our development update for the week of February 10th. + +--- + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2020-02-22-this-week-in-aosc-os-development.zh-cn.md b/content/news/2020-02-22-this-week-in-aosc-os-development.zh-cn.md new file mode 100644 index 00000000..de9066fd --- /dev/null +++ b/content/news/2020-02-22-this-week-in-aosc-os-development.zh-cn.md @@ -0,0 +1,143 @@ +--- +categories: + - news +date: '2020-02-22' +important: false +title: This Week in AOSC OS Development +--- + + +Second to last weekend of February and onto the 29th. As usual, we push weekly +updates to the Stable branch, including security, bug-fix, patch-level version +updates (e.g. 2.3.1 => 2.3.2), and major updates included as +[Exceptions](https://wiki.aosc.io/developer/packaging/cycle-exceptions). + +Here below is a breakdown of what we've done this week. + +Stable Branch Updates +--------------------- + +Multiple security updates have now been made available for Stable branch users +(AMD64-only for now, we are working to sync other architectures): + +- Django (`django`) v3.0 => v3.0.3. +- Pale Moon (`palemoon`) v28.8.2.1 => v28.8.3. + +AOSC OS Core has received two patch releases, containing updates to the core +runtime and toolchains on which AOSC OS is built upon. With these updates, +AOSC OS Core is updated from v7.0.4 to v7.0.5: + +- GCC (`gcc-runtime`, `gcc`) v9.2.1-2 => v9.2.1-3. + - Contains maintenance fixes from the releases/gcc-9 branch. +- Glibc (`glibc`) v1:2.30-2 => v1:2.30-3. + - Contains maintenance fixes from the release/2.30 branch. +- Linux API Headers (`linux+api`) v2:5.4.19 => v2:5.4.21. +- Ncurses (`ncurses`) v6.1+20200118 => v6.1+20200118-1. + - Drops the `/usr/share/terminfo/f/fbterm` to fix a file collision with + Fbterm (`fbterm`). + +Desktop Enviroments and Components have also received updates, most notably: + +- GNOME Desktop v3.34.3 => v3.34.4. +- KDE Applications v19.12.0 => v19.12.2. + +Other notable updates: + +- Brave Browser (`brave-browser`) v1.3.115 => v1.3.118. +- Chromium and Google Chrome (`chromium`, `google-chrome`) + v80.0.3987.87 => v80.0.3987.116. +- Linux Kernels... + - Mainline (`linux+kernel`) v5.5.4 => v5.5.5. + - Long-Term Support (`linux+kernel+lts`) v5.4.19 => v5.4.21. +- Telegram Desktop (`telegram-desktop`) v1.9.13 => v1.9.14. +- Vivaldi Browser (`vivaldi`) v2.11.1811.33 => v2.11.1811.38. +- YouTube-DL (`youtube-dl`) v2020.01.24 => v2020.02.16. +- ZFS Kernel Module and Tools (`zfs`) v0.8.2 => v0.8.3. + - With this update, as ZFS is not compatible with our current mainline + Kernel (5.5.\*). As a result, we have now marked this package as + incompatible ("Broken" in DPKG speech) with our Mainline Kernels. + +Mesa Update and New Allwinner A64 Images +---------------------------------------- + +Included with this week's Stable branch updates is Mesa 19.3.4. +[Icenowy Zheng](https://github.com/Icenowy), our resident ARM guru and +Allwinner/Pine64 device support maintainer have backported a set of patches +to bring enhanced features and stability fixes to the +[Lima](https://gitlab.freedesktop.org/lima/web) graphics driver. + +Lima is an open source graphics driver for Mali-400/450-based GPUs, for our +scope of support, this driver is used by Pine64's, PineBooks, PinePhones, +and PineTabs. Thanks to all the great work from the Lima developers, these +devices can run (relatively) graphically intensive desktop environments like +the GNOME and Plasma desktops at acceptable performance (according to Icenowy +in our recent conversation, she mentioned that there is certainly room for +optimisation, but as to how much, she couldn't say). + +That said, expect new device images for the Lima-enabled devices, and we will +keep you updated with a news post. + +Linux Kernel 5.6 +---------------- + +Five days ago, Linux Kernel 5.6-rc2 was tagged, and we have promptly packaged +this update and uploaded it to the `rckernel` repository. According to +[Phoronix](https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.6-rc2-Released), +this release has overall been "quite a calm test release." + +*"More than half of the Linux 5.6-rc2 changes amount to documentation updates* +*and of the rest a good portion is of tooling updates around the `perf`* +*subsystem. When it comes to updates of actual kernel code, there are Intel* +*ICE E800 series updates, various graphics/DRM fixes, and other fixes* +*flowing in following the closure last week of the Linux 5.6 merge window."* + +And in case you've missed it, we opened a new repository called `rckernel` for +those who want to get in the testing game. To obtain our 5.6 RC Kernels, or +any future Kernel release candidates, please invoke the following command: + +``` +# apt-gen-list b rckernel +``` + +If you are using the Testing or Testing-Proposed branch, please run the +following command: + +``` +# apt-gen-list b testing +``` + +or... + +``` +# apt-gen-list b testing-proposed +``` + +And `rckernel` will be enabled automatically. Simply update your system after +the above command is run: + +``` +# apt update && apt full-upgrade +``` + +And you should receive Kernel 5.6-rc1 as a system update. + +Looking Ahead +------------- + +On the Testing-Proposed front, this week has been mostly quiet, as most of +our efforts have been dedicated to bringing in more Stable updates. That said, +with GNOME 3.36 on the horizon (due to release on March 11th) and Python 3.8 +high on our [priority](https://github.com/AOSC-Dev/aosc-os-abbs/issues/2073), +you can expect the next few months to be quite Testing-Proposed-heavy. + +We also expect to push for Core 7.1 in the weeks leading up to our freezing +deadline on March 31st. We are expecting updates to GMP +([v6.1.2 => v6.2](https://gmplib.org/gmp6.2.html)), GNU Make ([v4.2.1 => 4.3](https://lists.gnu.org/archive/html/info-gnu/2020-01/msg00004.html)), +and Binutils ([v2.33.1 => v2.34](https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=binutils/NEWS;hb=refs/tags/binutils-2_34)) +to make it into the 7.1.0 release. + +This will conclude our development update for the week of February 10th. + +--- + +— Mingcong Bai \ No newline at end of file diff --git a/content/news/2020-03-29-security-announcements-mailing-list-migration.md b/content/news/2020-03-29-security-announcements-mailing-list-migration.md new file mode 100644 index 00000000..29b1f182 --- /dev/null +++ b/content/news/2020-03-29-security-announcements-mailing-list-migration.md @@ -0,0 +1,27 @@ +--- +categories: + - news +date: '2020-03-29' +important: true +title: Security Announcements Mailing List Migration +--- + + +Due to technical difficulties that we have encountered, we have decided to migrate the security advisories to a new mailing list: security-announcements@lists.aosc.io. The migration will happen anywhere within the next week. We are still figuring out how to best handle the subscribers and the archives. In the worst case, though, history might not be able to be migrated, and in that case, the old list will be preserved only for archival purposes. + + +Background +---------- + +Last week we experienced rejections when attempting to post security advisories to our current mailing list, security@lists.aosc.io, and we have not been able to resolve this problem despite having attempted methods including temporarily bypassing inbound spam filtering, and reviewing various configuration files. Since almost no manual configuration change was conducted after the list went operational in 2018, it was more likely that a change in the underlying software (Sympa) broke our configuration. In the process, we also discovered that as per RFC 2142, "security" is a reserved mailbox that is meant to go to the site administrator, therefore I also advised to re-create the list under a different name. After some short discussions in the Telegram chat group over the weekend, it was settled to use the name "security-announcements" for the new mailing list. + +Resolution +---------- + +The mailing list server will be taken down for a few hours next week to perform the necessary operations. We are currently still researching the best approach towards this upcoming migration. Ideally, it would be possible to directly migrate both the current subscribers and archives to the new list. However, if this is not possible, the subscribers would need to be imported manually, and the old mailing list might have to be kept (but in a disabled state) for archival purposes. Subscribers might also get confirmation emails from the new mailing list to confirm their subscriber status. After the migration, inbound spam filtering will also be re-activated. + +As the exact downtime slot is not settled yet, a separate email and Telegram announcement will go out on the day that the mailing list server will taken down for this migration. Users that expect themselves to be impacted should either subscribe to "announcements@lists.aosc.io" mailing list, or pay attention to related announcements in the community's Telegram group. Thank you for your understanding. + +--- + +— Tom Bu \ No newline at end of file diff --git a/content/news/2020-03-29-security-announcements-mailing-list-migration.zh-cn.md b/content/news/2020-03-29-security-announcements-mailing-list-migration.zh-cn.md new file mode 100644 index 00000000..29b1f182 --- /dev/null +++ b/content/news/2020-03-29-security-announcements-mailing-list-migration.zh-cn.md @@ -0,0 +1,27 @@ +--- +categories: + - news +date: '2020-03-29' +important: true +title: Security Announcements Mailing List Migration +--- + + +Due to technical difficulties that we have encountered, we have decided to migrate the security advisories to a new mailing list: security-announcements@lists.aosc.io. The migration will happen anywhere within the next week. We are still figuring out how to best handle the subscribers and the archives. In the worst case, though, history might not be able to be migrated, and in that case, the old list will be preserved only for archival purposes. + + +Background +---------- + +Last week we experienced rejections when attempting to post security advisories to our current mailing list, security@lists.aosc.io, and we have not been able to resolve this problem despite having attempted methods including temporarily bypassing inbound spam filtering, and reviewing various configuration files. Since almost no manual configuration change was conducted after the list went operational in 2018, it was more likely that a change in the underlying software (Sympa) broke our configuration. In the process, we also discovered that as per RFC 2142, "security" is a reserved mailbox that is meant to go to the site administrator, therefore I also advised to re-create the list under a different name. After some short discussions in the Telegram chat group over the weekend, it was settled to use the name "security-announcements" for the new mailing list. + +Resolution +---------- + +The mailing list server will be taken down for a few hours next week to perform the necessary operations. We are currently still researching the best approach towards this upcoming migration. Ideally, it would be possible to directly migrate both the current subscribers and archives to the new list. However, if this is not possible, the subscribers would need to be imported manually, and the old mailing list might have to be kept (but in a disabled state) for archival purposes. Subscribers might also get confirmation emails from the new mailing list to confirm their subscriber status. After the migration, inbound spam filtering will also be re-activated. + +As the exact downtime slot is not settled yet, a separate email and Telegram announcement will go out on the day that the mailing list server will taken down for this migration. Users that expect themselves to be impacted should either subscribe to "announcements@lists.aosc.io" mailing list, or pay attention to related announcements in the community's Telegram group. Thank you for your understanding. + +--- + +— Tom Bu \ No newline at end of file diff --git a/content/news/2020-05-03-new-aarch64-build-server.md b/content/news/2020-05-03-new-aarch64-build-server.md new file mode 100644 index 00000000..0024e090 --- /dev/null +++ b/content/news/2020-05-03-new-aarch64-build-server.md @@ -0,0 +1,15 @@ +--- +categories: + - news +title: New AArch64 Build Server! +date: '2020-05-03' +important: false +--- + +In late April, we were offered an AArch64 build server to aid with our AArch64 port. This server, provided by a friend of the community, is a Huawei Taishan 2280 v2 server with two 48-core (!) Huawei Kunpeng 920 processors running at 2.6GHz, along with 192GiB (!) of RAM. When building packages for AOSC OS, this server's performance is just shy of our current AMD64 build server, running on an AMD Ryzen 9 3950X and 64GiB of RAM. + +This server is currently hosted as a [BuildBot](https://wiki.aosc.io/developer/infrastructure/buildbots), and made available to all AOSC OS contributors. With this performant build server, our AArch64 port will soon reach feature parity with AMD64. What's more, now you can also expect better update frequency and security update response times when using this port. + +---- + +— Mingcong Bai diff --git a/content/news/2020-05-03-new-aarch64-build-server.zh-cn.md b/content/news/2020-05-03-new-aarch64-build-server.zh-cn.md new file mode 100644 index 00000000..0024e090 --- /dev/null +++ b/content/news/2020-05-03-new-aarch64-build-server.zh-cn.md @@ -0,0 +1,15 @@ +--- +categories: + - news +title: New AArch64 Build Server! +date: '2020-05-03' +important: false +--- + +In late April, we were offered an AArch64 build server to aid with our AArch64 port. This server, provided by a friend of the community, is a Huawei Taishan 2280 v2 server with two 48-core (!) Huawei Kunpeng 920 processors running at 2.6GHz, along with 192GiB (!) of RAM. When building packages for AOSC OS, this server's performance is just shy of our current AMD64 build server, running on an AMD Ryzen 9 3950X and 64GiB of RAM. + +This server is currently hosted as a [BuildBot](https://wiki.aosc.io/developer/infrastructure/buildbots), and made available to all AOSC OS contributors. With this performant build server, our AArch64 port will soon reach feature parity with AMD64. What's more, now you can also expect better update frequency and security update response times when using this port. + +---- + +— Mingcong Bai diff --git a/content/news/2020-05-03-suspending-stale-aosc-os-ports-and-initiating-retro.md b/content/news/2020-05-03-suspending-stale-aosc-os-ports-and-initiating-retro.md new file mode 100644 index 00000000..aac62fe5 --- /dev/null +++ b/content/news/2020-05-03-suspending-stale-aosc-os-ports-and-initiating-retro.md @@ -0,0 +1,62 @@ +--- +categories: + - news +title: Suspending Stale AOSC OS Ports and Initiating the AOSC OS/Retro Project +date: '2020-05-03' +important: true +--- + +Effective April 27, 2020, AOSC OS has suspended development on various stale ports, including the following: + +- ARMv7 (`armel`), for ARMv7 devices with hardware floating-point unit and support for the Neon SIMD architecture extension. +- PowerPC 32-bit - Big Endian (`powerpc`), for PowerPC G3/G4-based Apple Macintosh computers. +- PowerPC 64-bit - Big Endian (`ppc64`), for PowerPC G5-based Apple Macintosh computers. +- RISC-V 64-bit (`riscv64`), for RISC-V 64-bit devices of the RV64GC variant. + +Do note however, this does not mean that we are abandoning these ports. These ports are currently in a poor maintenance shape, and we would like to reboot most of these ports as part of our AOSC OS/Retro family - with a slower (but stable) maintenance lifecycle, and a limited set of features enabled for selected components. Please keep reading for more details. + +For ARMv7 users, we will continue to provide security updates for existing users. We are also working on measures to aid transition as we reboot the ARMv7 port as a Retro distribution. + +For users of the big endian PowerPC ports however, we encourage that you stop using AOSC OS before the reboot in interest of security and usability. + +In terms of the RISC-V port, we will suspend the port until our developers could obtain more affordable devices for building and testing. As the $999 HiFive Unleashed stands as the sole viable option for this purpose (and that it is quite slow for the job), it's difficult to proceed further with the port. + +Now, let's dive into what differences you should expect as we transition these ports as AOSC OS/Retro distributions. + +AOSC OS/Retro: An Overview +-------------------------- + +As the name may suggest, AOSC OS/Retro, unlike AOSC OS, targets legacy and vintage devices. Also unlike AOSC OS, the Retro distributions are strips down many features from its packages and slims down the dependency tree in order to lower system requirements. Besides these changes, AOSC OS/Retro is still for the most part functionally and, in terms of user experience, compatible with its mainline counterpart. Yes, you will see 1995 devices running modern, 2020 software (yes, also systemd, though very well stripped down) - and running well at that. + +![aosc-os-retro](https://i.imgur.com/Ofyaz8C.png) +The AOSC OS/Retro logo. + +---- + +Between now and the end of June, we intend to release Retro distributions for the following architectures: + +- ARMv5te/ARMv6 (`armel`), for devices with ARMv5te-compatible processors and above. For devices with hardware floating-point unit (for instance, the original Raspberry Pi), optimised packages will be shipped in an overlay repository. +- ARMv7 (`armhf`), for devices with ARMv7-compatible processors and above, requires hardware floating-point unit and support for the Neon SIMD architecture extension. This replaces the old mainline `armel` port. +- i486 (`i486`), for 32-bit x86 compatible PCs, requires an i486-class processor or newer, does not require a floating-point unit. +- PowerPC 32-bit - Big Endian (`powerpc`), for PowerPC G3/G4-based Apple Macintosh computers. +- PowerPC 64-bit - Big Endian (`ppc64`), for PowerPC G5-based Apple Macintosh computers. +- MIPS 64-bit - Little Endian (`mips64el`), for 64-bit MIPS processors (using the n64 ABI). Using the Loongson 2F processors as reference. + +Completed ports will ship with the following flavours: + +- Base: Base system release with a minimal set of applications and tools to get you started. This flavour should require less than 500MiB of hard disk space, and less than 32MiB of RAM. +- Desktop: System release bundled with a graphical user interface. This release contains a lightweight desktop environment (based on IceWM) and various graphical applications for desktop usage. This flavour should require less than 1.5GiB of hard disk space, and less than 64MiB of RAM. +- Server: System release bundled with software to kit your device for various server/appliance utilities. This flavour should require less than 1GiB of hard disk space, and less than 64MiB of RAM. + +It's still early days, but we have made good progress on the i486 front, which also serves as our first proof of concept. Please look out for a visual tour of the Retro port soon! + +AOSC OS/Retro: Development +-------------------------- + +In terms of development, AOSC OS/Retro shares the same [aosc-os-abbs](https://github.com/AOSC-Dev/aosc-os-abbs) tree, and is developed on the [Retro](https://github.com/AOSC-Dev/aosc-os-abbs/tree/retro) branch. In other words, packages are shared between Retro and the mainline, but not all will be packaged for AOSC OS/Retro. The [Retro](https://github.com/AOSC-Dev/aosc-os-abbs/tree/retro) branch syncs with the mainline's [Stable](https://github.com/AOSC-Dev/aosc-os-abbs/tree/stable) branch on both directions - regularly from Retro to Stable, but only annually from Stable to Retro. Security updates are, when applicable, cherry-picked from Stable to Retro. + +By introducing the Retro branch, it allows us to divert more resources to maintaining mainline, modern architectures: AMD64 (`amd64`), AArch64 (`arm64`), and little-endian POWER (`ppc64el`; yes, really). + +---- + +— Mingcong Bai diff --git a/content/news/2020-05-03-suspending-stale-aosc-os-ports-and-initiating-retro.zh-cn.md b/content/news/2020-05-03-suspending-stale-aosc-os-ports-and-initiating-retro.zh-cn.md new file mode 100644 index 00000000..aac62fe5 --- /dev/null +++ b/content/news/2020-05-03-suspending-stale-aosc-os-ports-and-initiating-retro.zh-cn.md @@ -0,0 +1,62 @@ +--- +categories: + - news +title: Suspending Stale AOSC OS Ports and Initiating the AOSC OS/Retro Project +date: '2020-05-03' +important: true +--- + +Effective April 27, 2020, AOSC OS has suspended development on various stale ports, including the following: + +- ARMv7 (`armel`), for ARMv7 devices with hardware floating-point unit and support for the Neon SIMD architecture extension. +- PowerPC 32-bit - Big Endian (`powerpc`), for PowerPC G3/G4-based Apple Macintosh computers. +- PowerPC 64-bit - Big Endian (`ppc64`), for PowerPC G5-based Apple Macintosh computers. +- RISC-V 64-bit (`riscv64`), for RISC-V 64-bit devices of the RV64GC variant. + +Do note however, this does not mean that we are abandoning these ports. These ports are currently in a poor maintenance shape, and we would like to reboot most of these ports as part of our AOSC OS/Retro family - with a slower (but stable) maintenance lifecycle, and a limited set of features enabled for selected components. Please keep reading for more details. + +For ARMv7 users, we will continue to provide security updates for existing users. We are also working on measures to aid transition as we reboot the ARMv7 port as a Retro distribution. + +For users of the big endian PowerPC ports however, we encourage that you stop using AOSC OS before the reboot in interest of security and usability. + +In terms of the RISC-V port, we will suspend the port until our developers could obtain more affordable devices for building and testing. As the $999 HiFive Unleashed stands as the sole viable option for this purpose (and that it is quite slow for the job), it's difficult to proceed further with the port. + +Now, let's dive into what differences you should expect as we transition these ports as AOSC OS/Retro distributions. + +AOSC OS/Retro: An Overview +-------------------------- + +As the name may suggest, AOSC OS/Retro, unlike AOSC OS, targets legacy and vintage devices. Also unlike AOSC OS, the Retro distributions are strips down many features from its packages and slims down the dependency tree in order to lower system requirements. Besides these changes, AOSC OS/Retro is still for the most part functionally and, in terms of user experience, compatible with its mainline counterpart. Yes, you will see 1995 devices running modern, 2020 software (yes, also systemd, though very well stripped down) - and running well at that. + +![aosc-os-retro](https://i.imgur.com/Ofyaz8C.png) +The AOSC OS/Retro logo. + +---- + +Between now and the end of June, we intend to release Retro distributions for the following architectures: + +- ARMv5te/ARMv6 (`armel`), for devices with ARMv5te-compatible processors and above. For devices with hardware floating-point unit (for instance, the original Raspberry Pi), optimised packages will be shipped in an overlay repository. +- ARMv7 (`armhf`), for devices with ARMv7-compatible processors and above, requires hardware floating-point unit and support for the Neon SIMD architecture extension. This replaces the old mainline `armel` port. +- i486 (`i486`), for 32-bit x86 compatible PCs, requires an i486-class processor or newer, does not require a floating-point unit. +- PowerPC 32-bit - Big Endian (`powerpc`), for PowerPC G3/G4-based Apple Macintosh computers. +- PowerPC 64-bit - Big Endian (`ppc64`), for PowerPC G5-based Apple Macintosh computers. +- MIPS 64-bit - Little Endian (`mips64el`), for 64-bit MIPS processors (using the n64 ABI). Using the Loongson 2F processors as reference. + +Completed ports will ship with the following flavours: + +- Base: Base system release with a minimal set of applications and tools to get you started. This flavour should require less than 500MiB of hard disk space, and less than 32MiB of RAM. +- Desktop: System release bundled with a graphical user interface. This release contains a lightweight desktop environment (based on IceWM) and various graphical applications for desktop usage. This flavour should require less than 1.5GiB of hard disk space, and less than 64MiB of RAM. +- Server: System release bundled with software to kit your device for various server/appliance utilities. This flavour should require less than 1GiB of hard disk space, and less than 64MiB of RAM. + +It's still early days, but we have made good progress on the i486 front, which also serves as our first proof of concept. Please look out for a visual tour of the Retro port soon! + +AOSC OS/Retro: Development +-------------------------- + +In terms of development, AOSC OS/Retro shares the same [aosc-os-abbs](https://github.com/AOSC-Dev/aosc-os-abbs) tree, and is developed on the [Retro](https://github.com/AOSC-Dev/aosc-os-abbs/tree/retro) branch. In other words, packages are shared between Retro and the mainline, but not all will be packaged for AOSC OS/Retro. The [Retro](https://github.com/AOSC-Dev/aosc-os-abbs/tree/retro) branch syncs with the mainline's [Stable](https://github.com/AOSC-Dev/aosc-os-abbs/tree/stable) branch on both directions - regularly from Retro to Stable, but only annually from Stable to Retro. Security updates are, when applicable, cherry-picked from Stable to Retro. + +By introducing the Retro branch, it allows us to divert more resources to maintaining mainline, modern architectures: AMD64 (`amd64`), AArch64 (`arm64`), and little-endian POWER (`ppc64el`; yes, really). + +---- + +— Mingcong Bai diff --git a/content/news/2020-05-03-winter-cycle-complete.md b/content/news/2020-05-03-winter-cycle-complete.md new file mode 100644 index 00000000..5ff50703 --- /dev/null +++ b/content/news/2020-05-03-winter-cycle-complete.md @@ -0,0 +1,52 @@ +--- +categories: + - news +title: Winter Cycle Complete! +date: '2020-05-03' +important: false +--- + +We are happy to report that the Winter 2020 development cycle is now complete and updates have been made available for AMD64 and AArch64! This cycle brought thousands of features updates, as well as stability and reliability improvements. + +Updates for ARMv7 and big-endian PowerPC ports will be delayed until June, as developments on these ports are currently suspended. For more information about this situation, please refer to our [recent post](https://aosc.io/news/posts/2020-05-03-suspending-stale-aosc-os-ports-and-initiating-retro/). + +Here's a quick tour of the updates now available from the [community repository](https://repo.aosc.io/). + +Desktop Environments +-------------------- + +Various desktop environments received major updates. GNOME 3.36, Plasma 5.18, MATE Desktop 1.24, Cinnamon Desktop 4.4, XFCE 4.14 are now avilable from the repository. Some came quite late due to delays from the previous cycles, but we expect updates to arrive sooner for the cycles to come. + +![plasma-5.18](https://i.imgur.com/OT5q5tB.png) +KDE Plasma 5.18, their greatest release yet! + +---- + +We expect to release new distribution tarballs in the following week, shipping with the aforementioned desktop environment updates. + +System Components +----------------- + +Lots of system components got their share of updates as well. Most notably, Python has been updated to 3.8.2 in this cycle, bringing performance and compatibility improvements. + +For users using Intel Broadwell graphics or later, with Mesa 20.0 that comes with this wave of updates, OpenGL applications now defaults to the reworked, Gallium-based "Iris" driver that replaces the aging "i965" driver. This resulted in a sizeable performance uplift as shown with this [Phoronix report](https://www.phoronix.com/scan.php?page=article&item=mesa193-iris-september&num=1). + +The Linux Kernel also received major updates throughout the cycle, as the mainline Kernel is now on the 5.6 branch, bringing integrated WireGuard support from within the Kernel (whereas it was shipped as a separate package). Linux Kernel 5.6 is probably one of the most anticipated release in the Kernel's recent history, with [heaps of features](https://www.phoronix.com/scan.php?page=article&item=linux-56-features&num=1) introduced to this now nearly 30-year-old Kernel. The Long-Term Support (LTS) Kernels are also updated to the 5.4 branch. + +Package Quality Improvements +---------------------------- + +With recent changes made to [Autobuild3](https://github.com/AOSC-Dev/autobuild3), our packaging toolkit is now stricter when executing our build scripts, which exposed a large amount of coding and quality issues. This, when combined with our [QA page](https://packages.aosc.io/qa/) will help us locating potential reliability issues. + +We have put in a considerable amount of work in this cycle, and will continue to work on improving packaging quality for AOSC OS. + +Looking Forward to the Spring 2020 Cycle +---------------------------------------- + +In the coming cycle, we anticipate a temporary diversion from general component updates, and instead shift our focus to fulfilling existing [package requests (pakreq)](https://pakreq.aosc.io). Security, bugfixes, and [exceptional](https://wiki.aosc.io/developer/packaging/cycle-exceptions) updates will be made available as usual. + +The next cycle will also be unusually short, with cycle completion anticipated on June 30. This decision is made so that our Summer Cycle will also start in the summer and (hopefully) end before Fall this year. + +---- + +— Mingcong Bai diff --git a/content/news/2020-05-03-winter-cycle-complete.zh-cn.md b/content/news/2020-05-03-winter-cycle-complete.zh-cn.md new file mode 100644 index 00000000..5ff50703 --- /dev/null +++ b/content/news/2020-05-03-winter-cycle-complete.zh-cn.md @@ -0,0 +1,52 @@ +--- +categories: + - news +title: Winter Cycle Complete! +date: '2020-05-03' +important: false +--- + +We are happy to report that the Winter 2020 development cycle is now complete and updates have been made available for AMD64 and AArch64! This cycle brought thousands of features updates, as well as stability and reliability improvements. + +Updates for ARMv7 and big-endian PowerPC ports will be delayed until June, as developments on these ports are currently suspended. For more information about this situation, please refer to our [recent post](https://aosc.io/news/posts/2020-05-03-suspending-stale-aosc-os-ports-and-initiating-retro/). + +Here's a quick tour of the updates now available from the [community repository](https://repo.aosc.io/). + +Desktop Environments +-------------------- + +Various desktop environments received major updates. GNOME 3.36, Plasma 5.18, MATE Desktop 1.24, Cinnamon Desktop 4.4, XFCE 4.14 are now avilable from the repository. Some came quite late due to delays from the previous cycles, but we expect updates to arrive sooner for the cycles to come. + +![plasma-5.18](https://i.imgur.com/OT5q5tB.png) +KDE Plasma 5.18, their greatest release yet! + +---- + +We expect to release new distribution tarballs in the following week, shipping with the aforementioned desktop environment updates. + +System Components +----------------- + +Lots of system components got their share of updates as well. Most notably, Python has been updated to 3.8.2 in this cycle, bringing performance and compatibility improvements. + +For users using Intel Broadwell graphics or later, with Mesa 20.0 that comes with this wave of updates, OpenGL applications now defaults to the reworked, Gallium-based "Iris" driver that replaces the aging "i965" driver. This resulted in a sizeable performance uplift as shown with this [Phoronix report](https://www.phoronix.com/scan.php?page=article&item=mesa193-iris-september&num=1). + +The Linux Kernel also received major updates throughout the cycle, as the mainline Kernel is now on the 5.6 branch, bringing integrated WireGuard support from within the Kernel (whereas it was shipped as a separate package). Linux Kernel 5.6 is probably one of the most anticipated release in the Kernel's recent history, with [heaps of features](https://www.phoronix.com/scan.php?page=article&item=linux-56-features&num=1) introduced to this now nearly 30-year-old Kernel. The Long-Term Support (LTS) Kernels are also updated to the 5.4 branch. + +Package Quality Improvements +---------------------------- + +With recent changes made to [Autobuild3](https://github.com/AOSC-Dev/autobuild3), our packaging toolkit is now stricter when executing our build scripts, which exposed a large amount of coding and quality issues. This, when combined with our [QA page](https://packages.aosc.io/qa/) will help us locating potential reliability issues. + +We have put in a considerable amount of work in this cycle, and will continue to work on improving packaging quality for AOSC OS. + +Looking Forward to the Spring 2020 Cycle +---------------------------------------- + +In the coming cycle, we anticipate a temporary diversion from general component updates, and instead shift our focus to fulfilling existing [package requests (pakreq)](https://pakreq.aosc.io). Security, bugfixes, and [exceptional](https://wiki.aosc.io/developer/packaging/cycle-exceptions) updates will be made available as usual. + +The next cycle will also be unusually short, with cycle completion anticipated on June 30. This decision is made so that our Summer Cycle will also start in the summer and (hopefully) end before Fall this year. + +---- + +— Mingcong Bai diff --git a/content/news/2020-05-18-new-loongson-development-board.md b/content/news/2020-05-18-new-loongson-development-board.md new file mode 100644 index 00000000..10cb26df --- /dev/null +++ b/content/news/2020-05-18-new-loongson-development-board.md @@ -0,0 +1,19 @@ +--- +categories: + - news +title: New Loongson Development Board +date: '2020-05-18' +important: false +--- + +This month we received a sponsored [Loongson Pi Gen 2][lpi2] development board from [Windows1089][w], who is an active member of the Loongson community. In addition to the board, an extra set of peripheral equipments, including a case, three extra NVMe SSDs, and a USB EJTAG debugger, are offered for the ease of future debugging on the platform. Thank you! + +The [Loongson Pi Gen 2][lpi2] development board is equipped with a [Loongson 2K-1000][ls2k1k] processor and 2GiB of RAM. The processor is MIPS64r2 compatible, although with several errata. Due to the limited RAM size and cooling condition, the development board will be mainly used for testing, but since we own the board, you may expect an out-of-box experience when we restart our MIPS port! + +[lpi2]: https://wiki.debian.org/MIPS/LoongsonPi +[w]: https://zh.wikipedia.org/wiki/User:Windows1089 +[ls2k1k]: http://loongson.cn/product/cpu/2/Loongson2K1000.html + +--- + +— Junde Yhi diff --git a/content/news/2020-05-18-new-loongson-development-board.zh-cn.md b/content/news/2020-05-18-new-loongson-development-board.zh-cn.md new file mode 100644 index 00000000..10cb26df --- /dev/null +++ b/content/news/2020-05-18-new-loongson-development-board.zh-cn.md @@ -0,0 +1,19 @@ +--- +categories: + - news +title: New Loongson Development Board +date: '2020-05-18' +important: false +--- + +This month we received a sponsored [Loongson Pi Gen 2][lpi2] development board from [Windows1089][w], who is an active member of the Loongson community. In addition to the board, an extra set of peripheral equipments, including a case, three extra NVMe SSDs, and a USB EJTAG debugger, are offered for the ease of future debugging on the platform. Thank you! + +The [Loongson Pi Gen 2][lpi2] development board is equipped with a [Loongson 2K-1000][ls2k1k] processor and 2GiB of RAM. The processor is MIPS64r2 compatible, although with several errata. Due to the limited RAM size and cooling condition, the development board will be mainly used for testing, but since we own the board, you may expect an out-of-box experience when we restart our MIPS port! + +[lpi2]: https://wiki.debian.org/MIPS/LoongsonPi +[w]: https://zh.wikipedia.org/wiki/User:Windows1089 +[ls2k1k]: http://loongson.cn/product/cpu/2/Loongson2K1000.html + +--- + +— Junde Yhi diff --git a/content/news/2020-05-27-new-tarballs-available-for-amd64.md b/content/news/2020-05-27-new-tarballs-available-for-amd64.md new file mode 100644 index 00000000..448fc41e --- /dev/null +++ b/content/news/2020-05-27-new-tarballs-available-for-amd64.md @@ -0,0 +1,43 @@ +--- +categories: + - news +title: New AOSC OS Tarballs Available for AMD64 (x86_64) +date: '2020-05-27' +important: false +--- + +It's been over a year since we last updated our AOSC OS releases, and it's about time we changed that! This batch of releases contains the newest stable packages from the [Winter Cycle](https://aosc.io/news/posts/2020-05-03-winter-cycle-complete/) along with a large amount of [package quality](https://packages.aosc.io/qa/) and quality-of-life improvements. + +![kde](https://aosc.io/img/de-preview/kde/2.png) +A screenshot from our latest KDE Plasma tarball release. + +NVIDIA-Enabled Tarballs +----------------------- + +For more than a decade, despite [Nouveau](https://nouveau.freedesktop.org/wiki/)'s best efforts, running Linux on machines with NVIDIA graphics is still a major pain. Issues ranges from inefficient power management, degraded performance, to stability issues. We commend their effort, but for users wishing to run their systems reliably, NVIDIA's proprietary Unix Drivers still provides a superior desktop experience. + +Therefore, with this batch of AMD64 (x86_64) tarballs (in partcular, those bundled with desktop environments), extra tarballs pre-installed with proprietary NVIDIA drivers are made available. Each desktop tarball comes with *three* NVIDIA-enabled tarballs, each designed for a different range of NVIDIA graphics cards: + +- NVIDIA Mainline (`aosc-os_${variant}+nvidia_${date}.tar.xz`): For NVIDIA GeForce 600 series (GT600, GTX600, etc.) series, their equivalent Quadro series, and above. +- NVIDIA 390.* (`aosc-os_${variant}+nvidia390_${date}.tar.xz`): For NVIDIA GeForce 400 series (GT400, GTX400, etc.) series, their equivalent Quadro series, and above. +- NVIDIA 340.* (`aosc-os_${variant}+nvidia340_${date}.tar.xz`): For NVIDIA GeForce 8000 series, their equivalent Quadro series, and above. + +For a full list of devices supported by the aforementioned NVIDIA Unix Driver series, please refer to their [Unix Drivers](https://www.nvidia.com/en-us/drivers/unix/) page. + +_Note: By downloading AOSC OS preloaded with proprietary NVIDIA Unix Drivers (variants suffixed with +nvidia, +nvidia340, or +nvidia+390), you agree to the [LICENSE FOR CUSTOMER USE OF NVIDIA GEFORCE SOFTWARE](https://www.nvidia.com/en-us/drivers/geforce-license/), also enclosed within the relevant AOSC OS distributions._ + +Automated Tarball Generation +---------------------------- + +From now on, all system releases (tarballs, images, etc.) will be generated with our new [aoscbootstrap](https://github.com/AOSC-Dev/aoscbootstrap/) scripts. This replaces the old method where we used a hand crafted [`stub`](https://releases.aosc.io/os-amd64/stub/) tarball as the basis for release generation. By doing so, our system releases are now fully reproducible and free of any leftover artifacts. + +Watch out for an upcoming news post detailing this new tool, and how it may benefit you as a new way to deploy AOSC OS. + +AArch64? +-------- + +We are currently working on a new batch of AArch64 images and tarballs, which will now cover all desktop and non-desktop variants. Expect new releases to arrive this weekend at the latest. + +--- + +— Mingcong Bai diff --git a/content/news/2020-05-27-new-tarballs-available-for-amd64.zh-cn.md b/content/news/2020-05-27-new-tarballs-available-for-amd64.zh-cn.md new file mode 100644 index 00000000..448fc41e --- /dev/null +++ b/content/news/2020-05-27-new-tarballs-available-for-amd64.zh-cn.md @@ -0,0 +1,43 @@ +--- +categories: + - news +title: New AOSC OS Tarballs Available for AMD64 (x86_64) +date: '2020-05-27' +important: false +--- + +It's been over a year since we last updated our AOSC OS releases, and it's about time we changed that! This batch of releases contains the newest stable packages from the [Winter Cycle](https://aosc.io/news/posts/2020-05-03-winter-cycle-complete/) along with a large amount of [package quality](https://packages.aosc.io/qa/) and quality-of-life improvements. + +![kde](https://aosc.io/img/de-preview/kde/2.png) +A screenshot from our latest KDE Plasma tarball release. + +NVIDIA-Enabled Tarballs +----------------------- + +For more than a decade, despite [Nouveau](https://nouveau.freedesktop.org/wiki/)'s best efforts, running Linux on machines with NVIDIA graphics is still a major pain. Issues ranges from inefficient power management, degraded performance, to stability issues. We commend their effort, but for users wishing to run their systems reliably, NVIDIA's proprietary Unix Drivers still provides a superior desktop experience. + +Therefore, with this batch of AMD64 (x86_64) tarballs (in partcular, those bundled with desktop environments), extra tarballs pre-installed with proprietary NVIDIA drivers are made available. Each desktop tarball comes with *three* NVIDIA-enabled tarballs, each designed for a different range of NVIDIA graphics cards: + +- NVIDIA Mainline (`aosc-os_${variant}+nvidia_${date}.tar.xz`): For NVIDIA GeForce 600 series (GT600, GTX600, etc.) series, their equivalent Quadro series, and above. +- NVIDIA 390.* (`aosc-os_${variant}+nvidia390_${date}.tar.xz`): For NVIDIA GeForce 400 series (GT400, GTX400, etc.) series, their equivalent Quadro series, and above. +- NVIDIA 340.* (`aosc-os_${variant}+nvidia340_${date}.tar.xz`): For NVIDIA GeForce 8000 series, their equivalent Quadro series, and above. + +For a full list of devices supported by the aforementioned NVIDIA Unix Driver series, please refer to their [Unix Drivers](https://www.nvidia.com/en-us/drivers/unix/) page. + +_Note: By downloading AOSC OS preloaded with proprietary NVIDIA Unix Drivers (variants suffixed with +nvidia, +nvidia340, or +nvidia+390), you agree to the [LICENSE FOR CUSTOMER USE OF NVIDIA GEFORCE SOFTWARE](https://www.nvidia.com/en-us/drivers/geforce-license/), also enclosed within the relevant AOSC OS distributions._ + +Automated Tarball Generation +---------------------------- + +From now on, all system releases (tarballs, images, etc.) will be generated with our new [aoscbootstrap](https://github.com/AOSC-Dev/aoscbootstrap/) scripts. This replaces the old method where we used a hand crafted [`stub`](https://releases.aosc.io/os-amd64/stub/) tarball as the basis for release generation. By doing so, our system releases are now fully reproducible and free of any leftover artifacts. + +Watch out for an upcoming news post detailing this new tool, and how it may benefit you as a new way to deploy AOSC OS. + +AArch64? +-------- + +We are currently working on a new batch of AArch64 images and tarballs, which will now cover all desktop and non-desktop variants. Expect new releases to arrive this weekend at the latest. + +--- + +— Mingcong Bai diff --git a/content/news/2020-05-28-introducing-aoscbootstrap.md b/content/news/2020-05-28-introducing-aoscbootstrap.md new file mode 100644 index 00000000..e7672ac5 --- /dev/null +++ b/content/news/2020-05-28-introducing-aoscbootstrap.md @@ -0,0 +1,17 @@ +--- +categories: + - news +title: "Introducing AOSCBootstrap" +date: 2020-05-28T18:06:22-06:00 +important: false +--- + +As you may have known from [our recent news](https://aosc.io/news/posts/2020-05-27-new-tarballs-available-for-amd64/), all future tarballs will be generated with [AOSCBootstrap](https://github.com/AOSC-Dev/aoscbootstrap/). It is inspired by [`debootstrap`](https://salsa.debian.org/installer-team/debootstrap) and is written in Perl. + +We previously tried to adapt `debootstrap` and quickly found that it was unsuitable for AOSC OS. For instance, it does not support the multi-architecture structure, which is used by AOSC OS to avoid duplicate architecture-independent (`noarch`) packages. Logically, we wrote our own implementation. + +You may find more information on using AOSCBootstrap on our [Wiki](https://wiki.aosc.io/software/00004-aoscbootstrap). + +--- + +— Zixing Liu diff --git a/content/news/2020-05-28-introducing-aoscbootstrap.zh-cn.md b/content/news/2020-05-28-introducing-aoscbootstrap.zh-cn.md new file mode 100644 index 00000000..e7672ac5 --- /dev/null +++ b/content/news/2020-05-28-introducing-aoscbootstrap.zh-cn.md @@ -0,0 +1,17 @@ +--- +categories: + - news +title: "Introducing AOSCBootstrap" +date: 2020-05-28T18:06:22-06:00 +important: false +--- + +As you may have known from [our recent news](https://aosc.io/news/posts/2020-05-27-new-tarballs-available-for-amd64/), all future tarballs will be generated with [AOSCBootstrap](https://github.com/AOSC-Dev/aoscbootstrap/). It is inspired by [`debootstrap`](https://salsa.debian.org/installer-team/debootstrap) and is written in Perl. + +We previously tried to adapt `debootstrap` and quickly found that it was unsuitable for AOSC OS. For instance, it does not support the multi-architecture structure, which is used by AOSC OS to avoid duplicate architecture-independent (`noarch`) packages. Logically, we wrote our own implementation. + +You may find more information on using AOSCBootstrap on our [Wiki](https://wiki.aosc.io/software/00004-aoscbootstrap). + +--- + +— Zixing Liu diff --git a/content/news/2020-08-06-a-facelift-for-aosc-pastebin.md b/content/news/2020-08-06-a-facelift-for-aosc-pastebin.md new file mode 100644 index 00000000..8bb3a035 --- /dev/null +++ b/content/news/2020-08-06-a-facelift-for-aosc-pastebin.md @@ -0,0 +1,51 @@ +--- +categories: + - news +title: A Facelift for AOSC Pastebin +date: '2020-08-06' +important: false +--- + +The AOSC Pastebin has recently gone through a facelift. + +The new pastebin is a proxy to our old pastebin service, with a completely redesigned +UI that more closely resembles our main website, and uses no JavaScript in +order to improve compatibility, accessibility, and speed. + +Our new pastebin is now online, accessible at https://paste.aosc.io . + +Any Compatibility Issue? +------------------------- +Currently most basic functions are fully supported by the new +pastebin website. This includes basic pasting, setting title, deactivating, and setting +expiration time. + +However, a few non-essential functions are left off. This includes: +- Multiple attachments: one attachment should be sufficient. If not, you can always tar/zip them. +- Syntax highlighting: This was accomplished in JavaScript, so it is not implemented now. +- Password: It is slightly more complex. We need more time to implement it. + +Future updates regarding which functions are getting implemented or left off would be updated on the new pastebin's [about page](https://paste.aosc.io/about.html). + +How About Our Old Pastebin? +--------------------------- + +For those of you who still miss the good'ol pastebin (which is now serving as the backend of our +new pastebin), either because you need a function that is not offered in the new pastebin +as indicated above, or you can't give up the convenience offered by JavaScript, +such as the eyecandies and the syntax highlighting, or because you just have too much +computational power to waste (Hey you are blessed!)... Please beware that +our old pastebin is still running on https://pastebin.aosc.io . A link is also offered +at the bottom of each paste on the new pastebin, allowing you to view them on the old +pastebin with JavaScript highlighting and more. + +Hey, I've Got a Question! +---------- + +If you have any further questions or feature requests, please [contact us](https://github.com/AOSC-Dev/aosc-portal-kiss.github.io/issues)! + +Enjoy Pasting the AOSC way! + +---- + +— _S. aureus_ diff --git a/content/news/2020-08-06-a-facelift-for-aosc-pastebin.zh-cn.md b/content/news/2020-08-06-a-facelift-for-aosc-pastebin.zh-cn.md new file mode 100644 index 00000000..8bb3a035 --- /dev/null +++ b/content/news/2020-08-06-a-facelift-for-aosc-pastebin.zh-cn.md @@ -0,0 +1,51 @@ +--- +categories: + - news +title: A Facelift for AOSC Pastebin +date: '2020-08-06' +important: false +--- + +The AOSC Pastebin has recently gone through a facelift. + +The new pastebin is a proxy to our old pastebin service, with a completely redesigned +UI that more closely resembles our main website, and uses no JavaScript in +order to improve compatibility, accessibility, and speed. + +Our new pastebin is now online, accessible at https://paste.aosc.io . + +Any Compatibility Issue? +------------------------- +Currently most basic functions are fully supported by the new +pastebin website. This includes basic pasting, setting title, deactivating, and setting +expiration time. + +However, a few non-essential functions are left off. This includes: +- Multiple attachments: one attachment should be sufficient. If not, you can always tar/zip them. +- Syntax highlighting: This was accomplished in JavaScript, so it is not implemented now. +- Password: It is slightly more complex. We need more time to implement it. + +Future updates regarding which functions are getting implemented or left off would be updated on the new pastebin's [about page](https://paste.aosc.io/about.html). + +How About Our Old Pastebin? +--------------------------- + +For those of you who still miss the good'ol pastebin (which is now serving as the backend of our +new pastebin), either because you need a function that is not offered in the new pastebin +as indicated above, or you can't give up the convenience offered by JavaScript, +such as the eyecandies and the syntax highlighting, or because you just have too much +computational power to waste (Hey you are blessed!)... Please beware that +our old pastebin is still running on https://pastebin.aosc.io . A link is also offered +at the bottom of each paste on the new pastebin, allowing you to view them on the old +pastebin with JavaScript highlighting and more. + +Hey, I've Got a Question! +---------- + +If you have any further questions or feature requests, please [contact us](https://github.com/AOSC-Dev/aosc-portal-kiss.github.io/issues)! + +Enjoy Pasting the AOSC way! + +---- + +— _S. aureus_ diff --git a/content/news/2020-09-24-virtual-aoscc-2020.md b/content/news/2020-09-24-virtual-aoscc-2020.md new file mode 100644 index 00000000..8c448a7f --- /dev/null +++ b/content/news/2020-09-24-virtual-aoscc-2020.md @@ -0,0 +1,54 @@ +--- +categories: + - news +title: (Virtual) AOSCC 2020 This Weekend! +date: '2020-09-24' +important: false +--- + +*Summer's ending, and we thought a year wouldn't be complete without an AOSCC, +so here goes!* + +COVID-19 and AOSCC 2020 +----------------------- + +Due to the COVID-19 pandemic, this year's AOSCC will be held online. + +Apart from the switch to online attendance, we have also decided to shorten +and simplify this year's agenda. In particular, Day 1 (September 26th) agenda +starts at 10:00 (UTC +8) and will end in the evening; Day 2 (September 27th) +agenda starts at 10:00 and will end at 18:00 (UTC +8). All agenda will be held +consequtively at our Discord #general [voice channel](https://discord.gg/VYPHgt9). + +What to Expect at AOSCC +----------------------- + +As we have shortened our agenda, there will be a decline in this year's content +diversity. + +We will cut to the chase on Day 1 with three community (project) reports by our +community contributors (with a 2-hour Q&A/Lunch break interval between the +second and third agenda). Following the reports, AOSC OS maintainers will hold +an open meeting to discuss this year's switch to a topic-based maintenance +routine, deprecating our current system of seasonal iteration cycles. + +On Day 2, we will hold a workshop, we welcome all community members to join in +and learn packaging for AOSC OS. This will be a great opportunity to become +one of our (now over 50) contributors. + +Language Usage at AOSCC +----------------------- + +AOSCC 2020, its lectures, discussions, and workshop activities will be +delivered/held in Mandarin Chinese. If you do not speak this language, please +note at time of each activity and we will try our best to accomodate (most +likely in English). + +Detailed Agenda +--------------- + +For AOSCC 2020's detailed schedule, please refer to our [community wiki](https://wiki-aosc.netlify.app/community/aoscc/2020/). + +---- + +— Mingcong Bai diff --git a/content/news/2020-09-24-virtual-aoscc-2020.zh-cn.md b/content/news/2020-09-24-virtual-aoscc-2020.zh-cn.md new file mode 100644 index 00000000..8c448a7f --- /dev/null +++ b/content/news/2020-09-24-virtual-aoscc-2020.zh-cn.md @@ -0,0 +1,54 @@ +--- +categories: + - news +title: (Virtual) AOSCC 2020 This Weekend! +date: '2020-09-24' +important: false +--- + +*Summer's ending, and we thought a year wouldn't be complete without an AOSCC, +so here goes!* + +COVID-19 and AOSCC 2020 +----------------------- + +Due to the COVID-19 pandemic, this year's AOSCC will be held online. + +Apart from the switch to online attendance, we have also decided to shorten +and simplify this year's agenda. In particular, Day 1 (September 26th) agenda +starts at 10:00 (UTC +8) and will end in the evening; Day 2 (September 27th) +agenda starts at 10:00 and will end at 18:00 (UTC +8). All agenda will be held +consequtively at our Discord #general [voice channel](https://discord.gg/VYPHgt9). + +What to Expect at AOSCC +----------------------- + +As we have shortened our agenda, there will be a decline in this year's content +diversity. + +We will cut to the chase on Day 1 with three community (project) reports by our +community contributors (with a 2-hour Q&A/Lunch break interval between the +second and third agenda). Following the reports, AOSC OS maintainers will hold +an open meeting to discuss this year's switch to a topic-based maintenance +routine, deprecating our current system of seasonal iteration cycles. + +On Day 2, we will hold a workshop, we welcome all community members to join in +and learn packaging for AOSC OS. This will be a great opportunity to become +one of our (now over 50) contributors. + +Language Usage at AOSCC +----------------------- + +AOSCC 2020, its lectures, discussions, and workshop activities will be +delivered/held in Mandarin Chinese. If you do not speak this language, please +note at time of each activity and we will try our best to accomodate (most +likely in English). + +Detailed Agenda +--------------- + +For AOSCC 2020's detailed schedule, please refer to our [community wiki](https://wiki-aosc.netlify.app/community/aoscc/2020/). + +---- + +— Mingcong Bai diff --git a/content/news/2020-09-29-new-wiki-site-now-live.md b/content/news/2020-09-29-new-wiki-site-now-live.md new file mode 100644 index 00000000..c2ac6392 --- /dev/null +++ b/content/news/2020-09-29-new-wiki-site-now-live.md @@ -0,0 +1,26 @@ +--- +categories: + - news +title: New Wiki Site Now Live! +date: '2020-09-29' +important: false +--- + +Thanks to the hard work from Leo Shen along with other community contributors, +a new Wiki site is [now live](https://wiki.aosc.io/)! + +Our new Wiki, unlike our old old, JavaScript-infested, Wiki.js-based site, uses +[Zola](https://www.getzola.org/) - a lightweight, single-binary static site +generator. The resulting site is much lighter on both our server and your +computer, for the lack of JavaScript for the most part (save for the search +bar, there wasn't anything we could do). + +Enjoy our new, localised, and clean Wiki site! + +*And oh, this site is highly usable even on NetSurf, pre-installed with every +AOSC OS/Retro distributions - coming soon to your neighbourhood retro computing +clubs!* + +---- + +— Mingcong Bai diff --git a/content/news/2020-09-29-new-wiki-site-now-live.zh-cn.md b/content/news/2020-09-29-new-wiki-site-now-live.zh-cn.md new file mode 100644 index 00000000..c2ac6392 --- /dev/null +++ b/content/news/2020-09-29-new-wiki-site-now-live.zh-cn.md @@ -0,0 +1,26 @@ +--- +categories: + - news +title: New Wiki Site Now Live! +date: '2020-09-29' +important: false +--- + +Thanks to the hard work from Leo Shen along with other community contributors, +a new Wiki site is [now live](https://wiki.aosc.io/)! + +Our new Wiki, unlike our old old, JavaScript-infested, Wiki.js-based site, uses +[Zola](https://www.getzola.org/) - a lightweight, single-binary static site +generator. The resulting site is much lighter on both our server and your +computer, for the lack of JavaScript for the most part (save for the search +bar, there wasn't anything we could do). + +Enjoy our new, localised, and clean Wiki site! + +*And oh, this site is highly usable even on NetSurf, pre-installed with every +AOSC OS/Retro distributions - coming soon to your neighbourhood retro computing +clubs!* + +---- + +— Mingcong Bai diff --git a/content/news/2020-09-30-virtual-aoscc-2020-re-cap.md b/content/news/2020-09-30-virtual-aoscc-2020-re-cap.md new file mode 100644 index 00000000..4703b8c7 --- /dev/null +++ b/content/news/2020-09-30-virtual-aoscc-2020-re-cap.md @@ -0,0 +1,151 @@ +--- +categories: + - news +title: Virtual AOSCC 2020 Re-cap +date: '2020-09-30' +important: false +--- + +*With [over 20 attendees on Discord](https://aosc.io/news/gallery/), live +streaming on Bilibili, talks, and workshops, it was a fun and fruitful AOSCC +2020 indeed.* + +Year In Review +-------------- + +As usual, I started this year's AOSCC with an annual review of our community's +accomplishments, challenges, and outlook. Overall, our community maintained +a strong culture, while seeing significant growth in both of our hardware +and software arsenals. + +### Community Culture, and An-An + +As before, our community has been as vibrant as ever. Famous for our cheeky +jokes, we generated over 100 new jokes, many of which became known beyond +AOSC. We also saw the imminent introduction of An-An (安安), our community +mascot, designed by none other than Tyson Tan. Tyson is the designer of Konqi +and Kiki, mascots of KDE 5 and Krita, respectively. + +Here below is a first draft of how she would look like. We plan on creating +a page dedicated to show case her and her story, An-An souvenirs are also +coming to our next AOSCC (if an offline one could happen)! + +![an-an](https://i.imgur.com/1TRhCCU.jpg) + +### Hardware and Software Projects + +On the hardware front, 2019 saw a surge in new [BuildBots](https://wiki.aosc.io/developer/infrastructure/buildbots/), +increasing our compiling capacity exponentially. Most notably, the +[generous donation](https://aosc.io/news/posts/2020-05-03-new-aarch64-build-server/) +of a Huawei Kunpeng 920-based server from a Chinese university helped us +reaching feature parity between our AArch64 (`arm64`) and AMD64 (`amd64`) +ports. The introduction of multiple Loongson 3 machines, along with a +[Blackbird](https://www.raptorcs.com/BB/) built around POWER9 processors +sprung to life multiple new ports to AOSC OS and AOSC OS/Retro. + +The increase in computing capacity also made it possible for us to enable +Link-Time Optimisation across all architectural ports and all packages where +possible. The enablement of Link-Time Optimisation means potential decrease +in binary sizes and memory consumption, as well as performance uplift in +many cases. + +### Plans and Outlook + +We also have many plans for the coming year, some more conservative, and +some more optimistic. Among the conservative (and more likely) plans, we +plan to start rebuilding our packages by sections by the end of the year, +transitioning into a topic-based iteration system (detail to come below), +as well as introducing the concept of "secondary" architectures for those +ports whose build hosts lacked in compute power and could require more +experimental attention (e.g., the Loongon 3 and POWER9 ports). + +### In Further Detail + +Many other reviews on our infrastructures and development projects were also +discussed, more details could be found on my +[slides (in Simplified Chinese)](https://repo.aosc.io/aosc-documentation/aoscc-2020/mingcong-bai/AOSCC%202020%20-%20Year%20in%20Review.pdf), +and also a [recording (in Mandarin Chinese)](https://www.youtube.com/watch?v=eXPzOF2hX3s) +for my presentation. + +AOSCNet +------- + +Staph Zhang introduced a replacement for our current +[BuildBot Relay infrastructure](https://wiki.aosc.io/developer/infrastructure/buildbots/), +which used to rely on two central servers to relay SSH connections. This +has been proven prone to downtime due to server failures, and despite +improvements to our Relay infrastructure, less-than-ideal latencies when +accessing from multiple localities. + +Staph's AOSCNet instead creates a "full mesh" community-wide private network +using the [Tinc VPN](https://www.tinc-vpn.org/). By doing so, Staph expects +reliability (and probably performance) improvements when accessing community +resources such as BuildBots and other assets. + +More details could be found in Staph's [AOSCNet slides](https://repo.aosc.io/aosc-documentation/aoscc-2020/staph-zhang/AOSCC2020AOSCNet.pdf) +and [recording of his talk (in Mandarin Chinese)](https://www.youtube.com/watch?v=gRPewpLvOEo). + +ACBS, Autobuild3, DeployKit, and Ciel-rs +---------------------------------------- + +Zixing Liu was a true M.V.P. when it comes to improving our community's +development tooling, as well as implementing (a way overdue) user feature. + +In his presentation, he recounts his contributions from vastly improving +[ACBS's](https://github.com/AOSC-Dev/acbs/) and +[Autobuild3's](https://github.com/AOSC-Dev/autobuild3/) reliability, allowing +AOSC OS maintainers more time and peace of mind and, of course, improving +our distribution's reliability and projected quality. He plans to do the same +with his Rust re-implementation of [Ciel](https://github.com/AOSC-Dev/ciel/), +our containerised build environment manager. + +Another important contribution from Liu this year was (finally) a working +implementation of DeployKit, albeit for now, only in the form of a Terminal +UI based on a Rust curses library. That now ends AOSC OS's history without a +functioning installer. To complement DeployKit, a Live image is coming soon. + +Check out Liu's [slides (in Simplified Chinese)](https://repo.aosc.io/aosc-documentation/aoscc-2020/zixing-liu/20200923-liushuyu.pdf) +and [talk (in Mandarin Chinese)](https://www.youtube.com/watch?v=MXeXdMD3qpQ) +for a list of his contributions. + +Topic-Based Iteration System +---------------------------- + +After two hours of [heated debates and efficient discussions](https://www.youtube.com/watch?v=5kxl_TIcPAE), +we worked out an action plan to switch to a topic-based iteration system. +This new system is brought out to replace our inefficient seasonal iteration +cycles. + +Well, for how much was gone over in the discussion, I think this section would +be better presented with our draft of our new +[Maintenance Guidelines](https://wiki.aosc.io/developer/packaging/topic-based-maintenance-guideline/) +for the topic-based iteration system. With this change in our iterative model, +we expect to see faster (and better tested) updates and package introduction. + +Let's see how this goes starting mid-October, fingers crossed. + +Missed AOSCC 2020? +------------------ + +To catch up with AOSCC 2020's talks and discussions, please head on over to +our [YouTube channel](https://www.youtube.com/channel/UCQcEbjx5eVZYeH2Q59vPf9g) +for recordings. These recordings, since most of our attendees are from China +or are Chinese speakers, are in Mandarin Chinese. + +If you need help understanding anything or would like clarifications, please +don't hesitate to reach out to us on IRC (Freenode #aosc), +[Discord](https://discord.gg/VYPHgt9), or Telegram (please inquire on IRC or +Discord). We will try our best to help. + +Pictures from of our shelter-in-place AOSCC 2020 "venue" could be found in our +[Photo Albums](https://aosc.io/news/gallery/). + +AOSCC 2021? +----------- + +Who knows, since we could only hope for the best... But for the meanwhile, +please stay safe and healthy! + +---- + +— Mingcong Bai diff --git a/content/news/2020-09-30-virtual-aoscc-2020-re-cap.zh-cn.md b/content/news/2020-09-30-virtual-aoscc-2020-re-cap.zh-cn.md new file mode 100644 index 00000000..4703b8c7 --- /dev/null +++ b/content/news/2020-09-30-virtual-aoscc-2020-re-cap.zh-cn.md @@ -0,0 +1,151 @@ +--- +categories: + - news +title: Virtual AOSCC 2020 Re-cap +date: '2020-09-30' +important: false +--- + +*With [over 20 attendees on Discord](https://aosc.io/news/gallery/), live +streaming on Bilibili, talks, and workshops, it was a fun and fruitful AOSCC +2020 indeed.* + +Year In Review +-------------- + +As usual, I started this year's AOSCC with an annual review of our community's +accomplishments, challenges, and outlook. Overall, our community maintained +a strong culture, while seeing significant growth in both of our hardware +and software arsenals. + +### Community Culture, and An-An + +As before, our community has been as vibrant as ever. Famous for our cheeky +jokes, we generated over 100 new jokes, many of which became known beyond +AOSC. We also saw the imminent introduction of An-An (安安), our community +mascot, designed by none other than Tyson Tan. Tyson is the designer of Konqi +and Kiki, mascots of KDE 5 and Krita, respectively. + +Here below is a first draft of how she would look like. We plan on creating +a page dedicated to show case her and her story, An-An souvenirs are also +coming to our next AOSCC (if an offline one could happen)! + +![an-an](https://i.imgur.com/1TRhCCU.jpg) + +### Hardware and Software Projects + +On the hardware front, 2019 saw a surge in new [BuildBots](https://wiki.aosc.io/developer/infrastructure/buildbots/), +increasing our compiling capacity exponentially. Most notably, the +[generous donation](https://aosc.io/news/posts/2020-05-03-new-aarch64-build-server/) +of a Huawei Kunpeng 920-based server from a Chinese university helped us +reaching feature parity between our AArch64 (`arm64`) and AMD64 (`amd64`) +ports. The introduction of multiple Loongson 3 machines, along with a +[Blackbird](https://www.raptorcs.com/BB/) built around POWER9 processors +sprung to life multiple new ports to AOSC OS and AOSC OS/Retro. + +The increase in computing capacity also made it possible for us to enable +Link-Time Optimisation across all architectural ports and all packages where +possible. The enablement of Link-Time Optimisation means potential decrease +in binary sizes and memory consumption, as well as performance uplift in +many cases. + +### Plans and Outlook + +We also have many plans for the coming year, some more conservative, and +some more optimistic. Among the conservative (and more likely) plans, we +plan to start rebuilding our packages by sections by the end of the year, +transitioning into a topic-based iteration system (detail to come below), +as well as introducing the concept of "secondary" architectures for those +ports whose build hosts lacked in compute power and could require more +experimental attention (e.g., the Loongon 3 and POWER9 ports). + +### In Further Detail + +Many other reviews on our infrastructures and development projects were also +discussed, more details could be found on my +[slides (in Simplified Chinese)](https://repo.aosc.io/aosc-documentation/aoscc-2020/mingcong-bai/AOSCC%202020%20-%20Year%20in%20Review.pdf), +and also a [recording (in Mandarin Chinese)](https://www.youtube.com/watch?v=eXPzOF2hX3s) +for my presentation. + +AOSCNet +------- + +Staph Zhang introduced a replacement for our current +[BuildBot Relay infrastructure](https://wiki.aosc.io/developer/infrastructure/buildbots/), +which used to rely on two central servers to relay SSH connections. This +has been proven prone to downtime due to server failures, and despite +improvements to our Relay infrastructure, less-than-ideal latencies when +accessing from multiple localities. + +Staph's AOSCNet instead creates a "full mesh" community-wide private network +using the [Tinc VPN](https://www.tinc-vpn.org/). By doing so, Staph expects +reliability (and probably performance) improvements when accessing community +resources such as BuildBots and other assets. + +More details could be found in Staph's [AOSCNet slides](https://repo.aosc.io/aosc-documentation/aoscc-2020/staph-zhang/AOSCC2020AOSCNet.pdf) +and [recording of his talk (in Mandarin Chinese)](https://www.youtube.com/watch?v=gRPewpLvOEo). + +ACBS, Autobuild3, DeployKit, and Ciel-rs +---------------------------------------- + +Zixing Liu was a true M.V.P. when it comes to improving our community's +development tooling, as well as implementing (a way overdue) user feature. + +In his presentation, he recounts his contributions from vastly improving +[ACBS's](https://github.com/AOSC-Dev/acbs/) and +[Autobuild3's](https://github.com/AOSC-Dev/autobuild3/) reliability, allowing +AOSC OS maintainers more time and peace of mind and, of course, improving +our distribution's reliability and projected quality. He plans to do the same +with his Rust re-implementation of [Ciel](https://github.com/AOSC-Dev/ciel/), +our containerised build environment manager. + +Another important contribution from Liu this year was (finally) a working +implementation of DeployKit, albeit for now, only in the form of a Terminal +UI based on a Rust curses library. That now ends AOSC OS's history without a +functioning installer. To complement DeployKit, a Live image is coming soon. + +Check out Liu's [slides (in Simplified Chinese)](https://repo.aosc.io/aosc-documentation/aoscc-2020/zixing-liu/20200923-liushuyu.pdf) +and [talk (in Mandarin Chinese)](https://www.youtube.com/watch?v=MXeXdMD3qpQ) +for a list of his contributions. + +Topic-Based Iteration System +---------------------------- + +After two hours of [heated debates and efficient discussions](https://www.youtube.com/watch?v=5kxl_TIcPAE), +we worked out an action plan to switch to a topic-based iteration system. +This new system is brought out to replace our inefficient seasonal iteration +cycles. + +Well, for how much was gone over in the discussion, I think this section would +be better presented with our draft of our new +[Maintenance Guidelines](https://wiki.aosc.io/developer/packaging/topic-based-maintenance-guideline/) +for the topic-based iteration system. With this change in our iterative model, +we expect to see faster (and better tested) updates and package introduction. + +Let's see how this goes starting mid-October, fingers crossed. + +Missed AOSCC 2020? +------------------ + +To catch up with AOSCC 2020's talks and discussions, please head on over to +our [YouTube channel](https://www.youtube.com/channel/UCQcEbjx5eVZYeH2Q59vPf9g) +for recordings. These recordings, since most of our attendees are from China +or are Chinese speakers, are in Mandarin Chinese. + +If you need help understanding anything or would like clarifications, please +don't hesitate to reach out to us on IRC (Freenode #aosc), +[Discord](https://discord.gg/VYPHgt9), or Telegram (please inquire on IRC or +Discord). We will try our best to help. + +Pictures from of our shelter-in-place AOSCC 2020 "venue" could be found in our +[Photo Albums](https://aosc.io/news/gallery/). + +AOSCC 2021? +----------- + +Who knows, since we could only hope for the best... But for the meanwhile, +please stay safe and healthy! + +---- + +— Mingcong Bai diff --git a/content/news/2020-11-18-introducing-atm.md b/content/news/2020-11-18-introducing-atm.md new file mode 100644 index 00000000..d56e599d --- /dev/null +++ b/content/news/2020-11-18-introducing-atm.md @@ -0,0 +1,42 @@ +--- +categories: + - news +title: Introducing ATM (AOSC OS APT Topic Manager) +date: '2020-11-18' +important: false +--- + +With the closing of the Summer 2020 iteration cycle, we have now transitioned +into our new [topic-based iteration model](https://wiki.aosc.io/developer/packaging/topic-based-maintenance-guideline/). + +What does this mean? It means that instead of a season-long cycle where feature +updates are accumulated and tested together, feature, security, bugfix "topics" +are created, built, and tested by their own schedule. With this new iteration +model, we expect shorter package introduction, updates, and bugfix response +times. As users, this means that you can test these topics individually based +on your interest. + +To help better manage these topics on your AOSC OS installation, we have +developed [ATM](https://github.com/AOSC-Dev/atm/), or AOSC OS APT Topic +Manager. With ATM's TUI interface, you could enroll in topics and receive early +updates with ease. Likewise, whenever you feel like it, you could pull out and +revert packages back to their "stable" versions. + +![atm](https://i.imgur.com/Pq5AWsY.png) +ATM displaying a list of available update topics. + +If you are using a standardised AOSC OS distribution (and `admin-base` is still +installed), ATM is installed automatically on your AOSC OS installation with a +recent update, and available as the `atm` command. ATM will be pre-installed +with future AOSC OS distributions. + +If you couldn't find the `atm` command, you may install ATM with the following +command: + +``` +sudo apt install atm +``` + +---- + +— Mingcong Bai diff --git a/content/news/2020-11-18-introducing-atm.zh-cn.md b/content/news/2020-11-18-introducing-atm.zh-cn.md new file mode 100644 index 00000000..d56e599d --- /dev/null +++ b/content/news/2020-11-18-introducing-atm.zh-cn.md @@ -0,0 +1,42 @@ +--- +categories: + - news +title: Introducing ATM (AOSC OS APT Topic Manager) +date: '2020-11-18' +important: false +--- + +With the closing of the Summer 2020 iteration cycle, we have now transitioned +into our new [topic-based iteration model](https://wiki.aosc.io/developer/packaging/topic-based-maintenance-guideline/). + +What does this mean? It means that instead of a season-long cycle where feature +updates are accumulated and tested together, feature, security, bugfix "topics" +are created, built, and tested by their own schedule. With this new iteration +model, we expect shorter package introduction, updates, and bugfix response +times. As users, this means that you can test these topics individually based +on your interest. + +To help better manage these topics on your AOSC OS installation, we have +developed [ATM](https://github.com/AOSC-Dev/atm/), or AOSC OS APT Topic +Manager. With ATM's TUI interface, you could enroll in topics and receive early +updates with ease. Likewise, whenever you feel like it, you could pull out and +revert packages back to their "stable" versions. + +![atm](https://i.imgur.com/Pq5AWsY.png) +ATM displaying a list of available update topics. + +If you are using a standardised AOSC OS distribution (and `admin-base` is still +installed), ATM is installed automatically on your AOSC OS installation with a +recent update, and available as the `atm` command. ATM will be pre-installed +with future AOSC OS distributions. + +If you couldn't find the `atm` command, you may install ATM with the following +command: + +``` +sudo apt install atm +``` + +---- + +— Mingcong Bai diff --git a/content/news/2020-11-18-meet-an-an.md b/content/news/2020-11-18-meet-an-an.md new file mode 100644 index 00000000..5c7e2a69 --- /dev/null +++ b/content/news/2020-11-18-meet-an-an.md @@ -0,0 +1,37 @@ +--- +categories: + - news +title: Meet An-An, Our Community Mascot! +date: '2020-11-18' +important: false +--- + +*An-An was born a rabbit, but found herself a girl with bunny ears and tails +when she woke up one day. She couldn't seem to remember why.* + +![an-an](/assets/gallery/anan-laptop-fs8.png) + +Meet An-An (安安), our official community mascot! An-An's design is a gift from +Tyson Tan, creator of iconic mascots like Krita's Kiki, and Konqi since +Plasma 5. We would like to extend our utmost gratitude to Tyson for his +generosity and dedication. + +Our quest to create a community mascot that captures the spirits and characters +of our community started almost two years ago with the AOSC Moe project. +Friends of our community gathered on numerous occasions to create a set of +traits that we would like to find in our mascot. Since September, Zixing Liu, +along with numerous community contributors had countless conversations with +Tyson Tan in shaping up An-An's design. Years of imagination and months of +hard work have finally come to fruition today. + +Just earlier today, community members gathered to brainstorm a character story. +This story personifies our community's history, its culture, and its values. +An-An's lovable and amiable character should serve us well in our community's +future outreaching efforts. + + +Let's say Hi to An-An at her dedicated [mascot page](https://aosc.io/mascot/)! + +---- + +— Mingcong Bai diff --git a/content/news/2020-11-18-meet-an-an.zh-cn.md b/content/news/2020-11-18-meet-an-an.zh-cn.md new file mode 100644 index 00000000..5c7e2a69 --- /dev/null +++ b/content/news/2020-11-18-meet-an-an.zh-cn.md @@ -0,0 +1,37 @@ +--- +categories: + - news +title: Meet An-An, Our Community Mascot! +date: '2020-11-18' +important: false +--- + +*An-An was born a rabbit, but found herself a girl with bunny ears and tails +when she woke up one day. She couldn't seem to remember why.* + +![an-an](/assets/gallery/anan-laptop-fs8.png) + +Meet An-An (安安), our official community mascot! An-An's design is a gift from +Tyson Tan, creator of iconic mascots like Krita's Kiki, and Konqi since +Plasma 5. We would like to extend our utmost gratitude to Tyson for his +generosity and dedication. + +Our quest to create a community mascot that captures the spirits and characters +of our community started almost two years ago with the AOSC Moe project. +Friends of our community gathered on numerous occasions to create a set of +traits that we would like to find in our mascot. Since September, Zixing Liu, +along with numerous community contributors had countless conversations with +Tyson Tan in shaping up An-An's design. Years of imagination and months of +hard work have finally come to fruition today. + +Just earlier today, community members gathered to brainstorm a character story. +This story personifies our community's history, its culture, and its values. +An-An's lovable and amiable character should serve us well in our community's +future outreaching efforts. + + +Let's say Hi to An-An at her dedicated [mascot page](https://aosc.io/mascot/)! + +---- + +— Mingcong Bai diff --git a/content/news/2020-11-18-ospp-2020-re-cap.md b/content/news/2020-11-18-ospp-2020-re-cap.md new file mode 100644 index 00000000..e703addd --- /dev/null +++ b/content/news/2020-11-18-ospp-2020-re-cap.md @@ -0,0 +1,57 @@ +--- +categories: + - news +title: OSPP 2020 Re-cap +date: '2020-11-18' +important: false +--- + +Since our community's founding, we have maintained close connections with +students, their organisations, and educational institutions (and indeed, we +still maintain a high "student ratio" among our community contributors). As a +community that came from student-centric origins, we pride ourselves in +providing outreach to students and help them in the first steps toward open +source contributions and upstream involvements. + +*Did you know? "Anthon" in Anthon Open Source Community is a transliteration +of our community's Chinese name "安同" (An Tong). The phrase "安同" is +actually an abbreviation for "安于同学合作", meaning "to seek collaboration +like classmates."* + +### OSPP 2020 + +For the past few months, several of our community contributors took part in the +[OSPP](https://isrc.iscas.ac.cn/summer2020/) (Open Source Promotion Plan) 2020, +assembled by the [Institute of Software of the Chinese Academy of Sciences](http://english.is.cas.cn/), +as community mentors. Between June 2020, our community mentors led +[three student projects](https://wiki.aosc.io/zh/community/ospp/2020-projects/) +aiming to improve community projects and open source software in general. + +While two of the student projects did not come to fruition, our mentorship +project on software localisation was completed successfully. Weiyi Xu, a +second year computer science major from the [Tianjin University](http://www.tju.edu.cn/english/index.htm). +With four months of hard work and guidance from two mentors (Zixing Liu and I), +Weiyi completed from scratch a zh_CN localisation for the [NetSurf Browser](https://www.netsurf-browser.org/), +and raised GNOME 3.38's zh_CN localisation rate from ~88% to ~100%, the highest +since GNOME 3. + +Weiyi, We would like to extend our congratulations and utmost gratitude for +your successful contribution to open source localisation. + +### At the Open Source Software Supply Chain Summit 2020 + +As a participating community, we were invited to attend the Open Source +Software Supply Chain Summit 2020, the after-party (if you will) of OSPP 2020. + +![aosc-stall](/assets/gallery/2020-ospp-aosc-stall.jpg) +Our stall at the OSSSCS 2020. + +Icenowy Zheng attended the Summit as our community representative, and tended +a stall there. At OSSSCS 2020, we were given an opportunity to showcase our +community among the top names in the open source software ecosystem. + +For more photos from the event, please checkout our [community gallery](https://aosc.io/news/gallery/#ospp-2020). + +---- + +— Mingcong Bai diff --git a/content/news/2020-11-18-ospp-2020-re-cap.zh-cn.md b/content/news/2020-11-18-ospp-2020-re-cap.zh-cn.md new file mode 100644 index 00000000..e703addd --- /dev/null +++ b/content/news/2020-11-18-ospp-2020-re-cap.zh-cn.md @@ -0,0 +1,57 @@ +--- +categories: + - news +title: OSPP 2020 Re-cap +date: '2020-11-18' +important: false +--- + +Since our community's founding, we have maintained close connections with +students, their organisations, and educational institutions (and indeed, we +still maintain a high "student ratio" among our community contributors). As a +community that came from student-centric origins, we pride ourselves in +providing outreach to students and help them in the first steps toward open +source contributions and upstream involvements. + +*Did you know? "Anthon" in Anthon Open Source Community is a transliteration +of our community's Chinese name "安同" (An Tong). The phrase "安同" is +actually an abbreviation for "安于同学合作", meaning "to seek collaboration +like classmates."* + +### OSPP 2020 + +For the past few months, several of our community contributors took part in the +[OSPP](https://isrc.iscas.ac.cn/summer2020/) (Open Source Promotion Plan) 2020, +assembled by the [Institute of Software of the Chinese Academy of Sciences](http://english.is.cas.cn/), +as community mentors. Between June 2020, our community mentors led +[three student projects](https://wiki.aosc.io/zh/community/ospp/2020-projects/) +aiming to improve community projects and open source software in general. + +While two of the student projects did not come to fruition, our mentorship +project on software localisation was completed successfully. Weiyi Xu, a +second year computer science major from the [Tianjin University](http://www.tju.edu.cn/english/index.htm). +With four months of hard work and guidance from two mentors (Zixing Liu and I), +Weiyi completed from scratch a zh_CN localisation for the [NetSurf Browser](https://www.netsurf-browser.org/), +and raised GNOME 3.38's zh_CN localisation rate from ~88% to ~100%, the highest +since GNOME 3. + +Weiyi, We would like to extend our congratulations and utmost gratitude for +your successful contribution to open source localisation. + +### At the Open Source Software Supply Chain Summit 2020 + +As a participating community, we were invited to attend the Open Source +Software Supply Chain Summit 2020, the after-party (if you will) of OSPP 2020. + +![aosc-stall](/assets/gallery/2020-ospp-aosc-stall.jpg) +Our stall at the OSSSCS 2020. + +Icenowy Zheng attended the Summit as our community representative, and tended +a stall there. At OSSSCS 2020, we were given an opportunity to showcase our +community among the top names in the open source software ecosystem. + +For more photos from the event, please checkout our [community gallery](https://aosc.io/news/gallery/#ospp-2020). + +---- + +— Mingcong Bai diff --git a/content/news/2020-12-06-aosc-os-core-8.md b/content/news/2020-12-06-aosc-os-core-8.md new file mode 100644 index 00000000..27a1eecc --- /dev/null +++ b/content/news/2020-12-06-aosc-os-core-8.md @@ -0,0 +1,42 @@ +--- +categories: + - news +title: AOSC OS Core 8 "Hotfix" Now Available! +date: '2020-12-06' +important: true +--- + +![welcome-to-core-8](https://i.imgur.com/PpSCv5F.png) + +After weeks of hard work (mostly by our [BuildBots](https://wiki.aosc.io/developer/infrastructure/buildbots/)) +and testing by our maintainers and users, AOSC OS Core 8 is now available from +the `stable` repository! + +Codenamed "Hotfix," Core 8 contains major updates to core system components +like Glibc 2.32, GCC 10.2.1, Perl 5.32, which could improve system stability +and performance. There was one component downgrade for licensing reasons: +Berkeley DB is now downgraded to the 5.x branch. With these major changes +we have also rebuilt a large amount of packages (which are reverse +dependencies to the Core compoennts). + +For AMD64 users, we have also made an adjustment to [Autobuild3](https://github.com/AOSC-Dev/autobuild3), +which lowered SIMD requirement from SSE3 (first released with Pentium 4 +"Prescott" SKUs) to SSE2 (first released with Pentium 4). Using SSE3 by +default, we found, was problematic, because earlier x86_64 AMD processors +(most that released before the introduction of the AM2 socket) did not +support SSE3. You should not expect a major performance regression, but this +does mean that our AMD64 port is now true to its name - it supports all +x86_64 processors. + +With Core 8 now available from the `stable` repository, you should expect +to receive over 100 package updates if you are running a desktop distribution +(and possibly less if running a smaller feature set like the Base +distribution). The update could take more than 30 minutes to complete on older +systems, so it is advised that you update your system according to your +own schedule. + +Should you run into any issue updating to AOSC OS Core 8, please [let us know](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new/choose). + +---- + +— Mingcong Bai diff --git a/content/news/2020-12-06-aosc-os-core-8.zh-cn.md b/content/news/2020-12-06-aosc-os-core-8.zh-cn.md new file mode 100644 index 00000000..27a1eecc --- /dev/null +++ b/content/news/2020-12-06-aosc-os-core-8.zh-cn.md @@ -0,0 +1,42 @@ +--- +categories: + - news +title: AOSC OS Core 8 "Hotfix" Now Available! +date: '2020-12-06' +important: true +--- + +![welcome-to-core-8](https://i.imgur.com/PpSCv5F.png) + +After weeks of hard work (mostly by our [BuildBots](https://wiki.aosc.io/developer/infrastructure/buildbots/)) +and testing by our maintainers and users, AOSC OS Core 8 is now available from +the `stable` repository! + +Codenamed "Hotfix," Core 8 contains major updates to core system components +like Glibc 2.32, GCC 10.2.1, Perl 5.32, which could improve system stability +and performance. There was one component downgrade for licensing reasons: +Berkeley DB is now downgraded to the 5.x branch. With these major changes +we have also rebuilt a large amount of packages (which are reverse +dependencies to the Core compoennts). + +For AMD64 users, we have also made an adjustment to [Autobuild3](https://github.com/AOSC-Dev/autobuild3), +which lowered SIMD requirement from SSE3 (first released with Pentium 4 +"Prescott" SKUs) to SSE2 (first released with Pentium 4). Using SSE3 by +default, we found, was problematic, because earlier x86_64 AMD processors +(most that released before the introduction of the AM2 socket) did not +support SSE3. You should not expect a major performance regression, but this +does mean that our AMD64 port is now true to its name - it supports all +x86_64 processors. + +With Core 8 now available from the `stable` repository, you should expect +to receive over 100 package updates if you are running a desktop distribution +(and possibly less if running a smaller feature set like the Base +distribution). The update could take more than 30 minutes to complete on older +systems, so it is advised that you update your system according to your +own schedule. + +Should you run into any issue updating to AOSC OS Core 8, please [let us know](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new/choose). + +---- + +— Mingcong Bai diff --git a/content/news/2021-03-28-switch-to-shadowsocks-rust.md b/content/news/2021-03-28-switch-to-shadowsocks-rust.md new file mode 100644 index 00000000..f9262c42 --- /dev/null +++ b/content/news/2021-03-28-switch-to-shadowsocks-rust.md @@ -0,0 +1,21 @@ +--- +categories: + - advisories +title: Upstream Advises Migration to `shadowsocks-rust` +date: 2021-03-28T09:51:00+08:00 +important: false +--- + +The `shadowsocks-libev` upstream announced that the project is now under ["Bug-fix-only"](https://github.com/shadowsocks/shadowsocks-libev) maintenance, +and recommends using `shadowsocks-rust` instead. + + # apt update && apt install shadowsocks-rust + +If you have enabled the `shadowsocks-libev` service for local proxy, you may use the following commands to switch to `shadowsocks-rust`. + + # systemctl disable --now shadowsocks-libev@[config] + # systemctl enable --now shadowsocks-rust-local@[config] + +---- + +—— Jack Wu diff --git a/content/news/2021-03-28-switch-to-shadowsocks-rust.zh-cn.md b/content/news/2021-03-28-switch-to-shadowsocks-rust.zh-cn.md new file mode 100644 index 00000000..88c02ecb --- /dev/null +++ b/content/news/2021-03-28-switch-to-shadowsocks-rust.zh-cn.md @@ -0,0 +1,21 @@ +--- +categories: + - advisories +title: 上游建议迁移至 `shadowsocks-rust` +date: 2021-03-28T09:51:00+08:00 +important: false +--- + +`shadowsocks-libev` 上游已宣布进入了[“只修复 Bug 状态”](https://github.com/shadowsocks/shadowsocks-libev), +并建议用户尽快转到 `shadowsocks-rust` 上。 + + # apt update && apt install shadowsocks-rust + +若您曾启用 `shadowsocks-libev` 本地代理服务,可以使用以下命令转移到 `shadowsocks-rust` 的服务。 + + # systemctl disable --now shadowsocks-libev@[config] + # systemctl enable --now shadowsocks-rust-local@[config] + +---- + +—— Mag Mell diff --git a/content/news/2021-04-06-gnome-40-gdm-not-working.md b/content/news/2021-04-06-gnome-40-gdm-not-working.md new file mode 100644 index 00000000..63dcef28 --- /dev/null +++ b/content/news/2021-04-06-gnome-40-gdm-not-working.md @@ -0,0 +1,29 @@ +--- +categories: + - advisories +title: "[SOLVED] GDM Not Working on GNOME 40" +date: 2021-04-06T18:34:00+08:00 +important: false +--- + +The GNOME 40 update is now available for testing via the `gnome-40` topic. You may enable this topic in +[ATM](https://github.com/AOSC-Dev/atm/) to receive the updates. However, GDM would fail to start due to +incorrect PAM authentication configuration. You may use LightDM or SDDM for now as an workaround, and +start GNOME 40 via the "GNOME" / "GNOME on Xorg" session. + +We will release a fix for GDM soon to address this issue. + +---- + +2021-04-07 Update +----------------- + +The following updates are now available to address the issue above: + + gnome-40-main amd64 + ^ [gdm](https://packages.aosc.io/packages/gdm) 40~rc ⇒ 40.0 + ^ [gdm-dbg](https://packages.aosc.io/packages/gdm-dbg) 40~rc ⇒ 40.0 + +---- + +— Jack Wu (Original Author: Mingcong Bai) diff --git a/content/news/2021-04-06-gnome-40-gdm-not-working.zh-cn.md b/content/news/2021-04-06-gnome-40-gdm-not-working.zh-cn.md new file mode 100644 index 00000000..72e3b233 --- /dev/null +++ b/content/news/2021-04-06-gnome-40-gdm-not-working.zh-cn.md @@ -0,0 +1,26 @@ +--- +categories: + - advisories +title: "[已解决] GNOME 40 上 GDM 不工作" +date: 2021-04-06T18:34:00+08:00 +important: false +--- + +目前 GNOME 40 测试用更新可以通过 [ATM](https://github.com/AOSC-Dev/atm/) 打开 `gnome-40` topic 获取,但是 GDM 目前因为认证配置不正确,无法启动。如果依然想尝鲜,可以考虑使用 LightDM 或 SDDM 启动 GNOME / GNOME on Xorg 会话。 + +该问题修复后,我们会发布针对 gdm 的修复更新。 + +---- + +2021-04-07 更新 +----------------- + +下述的更新解决了上述 GDM 启动失败的问题: + + gnome-40-main amd64 + ^ [gdm](https://packages.aosc.io/packages/gdm) 40~rc ⇒ 40.0 + ^ [gdm-dbg](https://packages.aosc.io/packages/gdm-dbg) 40~rc ⇒ 40.0 + +---- + +— Mingcong Bai diff --git a/content/news/2021-04-10-dracut-trigger-cycle.md b/content/news/2021-04-10-dracut-trigger-cycle.md new file mode 100644 index 00000000..8f51b30c --- /dev/null +++ b/content/news/2021-04-10-dracut-trigger-cycle.md @@ -0,0 +1,25 @@ +--- +categories: + - advisories +title: "Dracut Trigger May Fail with Error while Updating System" +date: 2021-04-10T17:03:31+08:00 +important: false +--- + +If you encounter the following error when updating AOSC OS: + + Setting up xine-lib (1.2.10-2) ... + dpkg: cycle found while processing triggers: + chain of packages whose triggers are or may be responsible: + dracut -> dracut + packages' pending triggers which are or may be unresolvable: + dracut: /usr/lib/modprobe.d + dpkg: error processing package dracut (--configure): + triggers looping, abandoned + +You may re-execute `apt full-upgrade` again, which will allow APT to finish update configuration. +We are still investigating this issue, but this issue appears to only affect `gnome-40` topic testers. + +---- + +— Jack Wu (Original Author: Mag Mell) diff --git a/content/news/2021-04-10-dracut-trigger-cycle.zh-cn.md b/content/news/2021-04-10-dracut-trigger-cycle.zh-cn.md new file mode 100644 index 00000000..851ddeb2 --- /dev/null +++ b/content/news/2021-04-10-dracut-trigger-cycle.zh-cn.md @@ -0,0 +1,25 @@ +--- +categories: + - advisories +title: "Dracut 触发器在更新系统时可能会失效" +date: 2021-04-10T17:03:31+08:00 +important: false +--- + +若你在升级中遇到了此错误: + + 正在设置 xine-lib (1.2.10-2) ... + dpkg: 处理触发器时发现回路: + 包含或可能包含对此有责任的触发器的软件包链: + dracut -> dracut + 无法解决的软件包未决触发器: + dracut: /usr/lib/modprobe.d + dpkg: 处理软件包 dracut (--configure)时出错: + 触发器循环,放弃 + +这是已知问题,暂时的解决方法是再执行一次 `apt full-upgrade` 让它执行完 `dracut` 的步骤。 +我们仍在调查这个问题,不过这个问题似乎只影响到 `gnome-40` 尝鲜主题的测试用户。 + +---- + +— Mag Mell diff --git a/content/news/2021-04-13-rime-base-uninstall-issue.md b/content/news/2021-04-13-rime-base-uninstall-issue.md new file mode 100644 index 00000000..db54b473 --- /dev/null +++ b/content/news/2021-04-13-rime-base-uninstall-issue.md @@ -0,0 +1,41 @@ +--- +categories: + - advisories +title: "[SOLVED] Uninstalling rime-base May Result in Configuration Errors" +date: 2021-04-13T11:49:26+08:00 +important: false +--- + +We are aware of an issue where uninstalling `rime-base` will result in an error. +We will release a fix as soon as possible, and post an update here. +For the meanwhile, please do not uninstall `rime-base`. + +---- + +2021-04-14 Update +----------------- + +The following updates are now available to address the issue above: + + stable-main all + ^ rime-prelude (https://packages.aosc.io/packages/rime-prelude) 20210208 ⇒ 20210208-1 + + stable-main amd64 + + rime-schema-manager (https://packages.aosc.io/packages/rime-schema-manager) 1:0.2.1 + + rime-schema-manager-dbg (https://packages.aosc.io/packages/rime-schema-manager-dbg) 1:0.2.1 + + stable-main arm64 + + rime-schema-manager-dbg (https://packages.aosc.io/packages/rime-schema-manager-dbg) 1:0.2.1 + + rime-schema-manager (https://packages.aosc.io/packages/rime-schema-manager) 1:0.2.1 + + stable-main loongson3 + + rime-schema-manager (https://packages.aosc.io/packages/rime-schema-manager) 1:0.2.1 + + stable-main ppc64el + + rime-schema-manager-dbg (https://packages.aosc.io/packages/rime-schema-manager-dbg) 1:0.2.1 + + rime-schema-manager (https://packages.aosc.io/packages/rime-schema-manager) 1:0.2.1 + + +---- + +— Jack Wu (Original Author: Mag Mell, Translation: Mingcong Bai) diff --git a/content/news/2021-04-13-rime-base-uninstall-issue.zh-cn.md b/content/news/2021-04-13-rime-base-uninstall-issue.zh-cn.md new file mode 100644 index 00000000..9c1e945f --- /dev/null +++ b/content/news/2021-04-13-rime-base-uninstall-issue.zh-cn.md @@ -0,0 +1,38 @@ +--- +categories: + - advisories +title: "[已解决] 卸载 rime-base 可能会导致配置错误" +date: 2021-04-13T11:49:26+08:00 +important: false +--- + +`rime-base` 卸载出错为已知问题,我们将在近期尽快推送修复。在此之前请不要卸载 `rime-base`。 + +---- + +2021-04-14 更新 +--------------- + +以下更新解决了 `rime-base` 卸载出错的问题: + + stable-main all + ^ rime-prelude (https://packages.aosc.io/packages/rime-prelude) 20210208 ⇒ 20210208-1 + + stable-main amd64 + + rime-schema-manager (https://packages.aosc.io/packages/rime-schema-manager) 1:0.2.1 + + rime-schema-manager-dbg (https://packages.aosc.io/packages/rime-schema-manager-dbg) 1:0.2.1 + + stable-main arm64 + + rime-schema-manager-dbg (https://packages.aosc.io/packages/rime-schema-manager-dbg) 1:0.2.1 + + rime-schema-manager (https://packages.aosc.io/packages/rime-schema-manager) 1:0.2.1 + + stable-main loongson3 + + rime-schema-manager (https://packages.aosc.io/packages/rime-schema-manager) 1:0.2.1 + + stable-main ppc64el + + rime-schema-manager-dbg (https://packages.aosc.io/packages/rime-schema-manager-dbg) 1:0.2.1 + + rime-schema-manager (https://packages.aosc.io/packages/rime-schema-manager) 1:0.2.1 + +---- + +— Mag Mell diff --git a/content/news/2021-04-19-general-survey-large-mariadb.md b/content/news/2021-04-19-general-survey-large-mariadb.md new file mode 100644 index 00000000..22654345 --- /dev/null +++ b/content/news/2021-04-19-general-survey-large-mariadb.md @@ -0,0 +1,16 @@ +--- +categories: + - advisories +title: "Unusually Large MariaDB Package in general-survey-20210301" +date: 2021-04-19T19:30:13+08:00 +important: false +--- + +AMD64 updates from the `general-survey-20210301` topic are now available for testing. +This topic includes numerous component updates for databases, development tools and display managers. +At present, we are aware of an issue where `maridab` (MySQL) is unusually large due to incorrect build parameters. +This issue should not affect functionality, but we will release a fix as soon as possible. + +---- + +— Jack Wu, Mingcong Bai diff --git a/content/news/2021-04-19-general-survey-large-mariadb.zh-cn.md b/content/news/2021-04-19-general-survey-large-mariadb.zh-cn.md new file mode 100644 index 00000000..92d6fe9c --- /dev/null +++ b/content/news/2021-04-19-general-survey-large-mariadb.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - advisories +title: "general-survey-20210301 更新中 MariaDB 包大小异常" +date: 2021-04-19T19:30:17+08:00 +important: false +--- + +AMD64 用户现可获取 `general-survey-20210301` topic 的测试更新,本次更新包含大量数据库、开发工具及登录管理器相关的组件更新。 +目前我们留意到 `maridab` (MySQL) 可能由于构建参数有误,需占用的磁盘空间异常大。这一问题不影响系统正常使用,不过近期会推送修复。 + +---- + +— Mingcong Bai diff --git a/content/news/2021-04-19-samba-4.14.2-topic-file-confl.md b/content/news/2021-04-19-samba-4.14.2-topic-file-confl.md new file mode 100644 index 00000000..756d9a1e --- /dev/null +++ b/content/news/2021-04-19-samba-4.14.2-topic-file-confl.md @@ -0,0 +1,26 @@ +--- +categories: + - advisories +title: "[SOLVED] Enabling samba-4.14.2 Topic Updates May Result in File Conflicts" +date: 2021-04-19T19:58:55+08:00 +important: false +--- + +If you encounter the following error when enabling the samba-4.14.2 topic (which fixes media playback over smb with mpv): + + Unpacking perl-parse-yapp (1.21) ... + dpkg: error processing archive /tmp/apt-dpkg-install-PnhW7B/3-perl-parse-yapp_1.21_all.deb (--unpack): + trying to overwrite '/usr/share/perl5/vendor_perl/Parse/Yapp/Driver.pm', which is also in package samba 4.10.17-1 + +You may execute `apt install -f` to complete the installation, we will release a fix as soon as possible. + +---- + +2021-04-22 Update +----------------- + +The fix has already been merged into the stable repository. + +---- + +— Jack Wu, Mingcong Bai diff --git a/content/news/2021-04-19-samba-4.14.2-topic-file-confl.zh-cn.md b/content/news/2021-04-19-samba-4.14.2-topic-file-confl.zh-cn.md new file mode 100644 index 00000000..82e6effc --- /dev/null +++ b/content/news/2021-04-19-samba-4.14.2-topic-file-confl.zh-cn.md @@ -0,0 +1,26 @@ +--- +categories: + - advisories +title: "[已解决] samba-4.14.2 更新可能导致文件冲突" +date: 2021-04-19T19:58:58+08:00 +important: false +--- + +若使用 samba-4.14.2 topic(修复了 mpv 不能播放 smb 中媒体文件的问题)遇到了这个错误: + + Unpacking perl-parse-yapp (1.21) ... + dpkg: error processing archive /tmp/apt-dpkg-install-PnhW7B/3-perl-parse-yapp_1.21_all.deb (--unpack): + trying to overwrite '/usr/share/perl5/vendor_perl/Parse/Yapp/Driver.pm', which is also in package samba 4.10.17-1 + +这是已知问题,请先使用 `apt install -f` 完成安装,最近将会推送修复。 + +---- + +2021-04-22 更新 +--------------- + +该问题的修复已推送至 stable 源。 + +---- + +— Mag Mell diff --git a/content/news/2021-04-30-retro-new-systemd-cause-fcitx-and-audio-not-working.md b/content/news/2021-04-30-retro-new-systemd-cause-fcitx-and-audio-not-working.md new file mode 100644 index 00000000..b6c625f3 --- /dev/null +++ b/content/news/2021-04-30-retro-new-systemd-cause-fcitx-and-audio-not-working.md @@ -0,0 +1,13 @@ +--- +categories: + - advisories +title: "Newer systemd Versions in AOSC OS/Retro May Cause Problems with Fcitx Input and Audio Playback" +date: 2021-04-30T07:38:16+08:00 +important: false +--- + +AOSC OS/Retro users are advised to downgrade systemd to 1:245-5. Newer systemd versions are known to cause problems with Fcitx input and audio playback. + +---- + +— Jack Wu, Mingcong Bai diff --git a/content/news/2021-04-30-retro-new-systemd-cause-fcitx-and-audio-not-working.zh-cn.md b/content/news/2021-04-30-retro-new-systemd-cause-fcitx-and-audio-not-working.zh-cn.md new file mode 100644 index 00000000..6ac6a419 --- /dev/null +++ b/content/news/2021-04-30-retro-new-systemd-cause-fcitx-and-audio-not-working.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - advisories +title: "AOSC OS/Retro 上的新版 systemd 可能导致 Fcitx 及音频无法使用" +date: 2021-04-30T07:38:20+08:00 +important: false + +--- + +AOSC OS/Retro 用户请注意,若遇到 Fcitx 和音頻无法使用的问题,请降级 systemd 至 1:245-5。 + +---- + +— Mag Mell diff --git a/content/news/2021-05-02-samba-4.14.2-dependency-issue.md b/content/news/2021-05-02-samba-4.14.2-dependency-issue.md new file mode 100644 index 00000000..81527b47 --- /dev/null +++ b/content/news/2021-05-02-samba-4.14.2-dependency-issue.md @@ -0,0 +1,22 @@ +--- +categories: + - advisories +title: "[SOLVED] Samba 4.14.2 Update May Cause Dependency Issue" +date: 2021-05-02T15:48:28+08:00 +important: false +--- + +We are aware that users cannot install `gnome-control-center` due to the recent Samba 4.14.2 update. +If you have encountered this issue, please temporarily enable the `samba-fix-gnome-control-install` topic in `atm`. +We will release a fix as soon as possible. + +---- + +2021-05-02 Update +----------------- + +The fix has already been merged into the stable repository. + +---- + +— Jack Wu, Mingcong Bai diff --git a/content/news/2021-05-02-samba-4.14.2-dependency-issue.zh-cn.md b/content/news/2021-05-02-samba-4.14.2-dependency-issue.zh-cn.md new file mode 100644 index 00000000..2101d22d --- /dev/null +++ b/content/news/2021-05-02-samba-4.14.2-dependency-issue.zh-cn.md @@ -0,0 +1,22 @@ +--- +categories: + - advisories +title: "[已解决] Samba 4.14.2 更新可能导致依赖问题" +date: 2021-05-02T15:48:32+08:00 +important: false +--- + +samba 4.14.2 导致 `gnome-control-center` 无法安装的问题已知悉, +若遇到此问题请暂时在 `atm` 启用 `samba-fix-gnome-control-install` topic, +我们将在近期尽快推送修复。 + +---- + +2021-05-02 更新 +--------------- + +该问题的修复已推送至 stable 源。 + +---- + +— Mag Mell diff --git a/content/news/2021-05-15-plasma-5.12.5-inadequate-handling-of-file-transfer.md b/content/news/2021-05-15-plasma-5.12.5-inadequate-handling-of-file-transfer.md new file mode 100644 index 00000000..23d1f5db --- /dev/null +++ b/content/news/2021-05-15-plasma-5.12.5-inadequate-handling-of-file-transfer.md @@ -0,0 +1,29 @@ +--- +categories: + - advisories +title: "[SOLVED] Plasma 5.12.5 Update May Fail to Complete Due to Inadequate File Handling" +date: 2021-05-15T08:32:24+08:00 +important: false +--- + +You may not be able to correctly install the recent Plasma 5.12.5 update due to +inadequate handling of file transfer between `plasma-workspace` and `plasma-desktop`. +We will release a fix as soon as possible. + +For now, as a workaround, you may execute the following command: + + apt -f install + apt full-upgrade + +Once the upgrade finishes, the system should function normally. + +---- + +2021-05-17 Update +----------------- + +The fix has already been merged into the stable repository. + +---- + +— Jack Wu, Mingcong Bai diff --git a/content/news/2021-05-15-plasma-5.12.5-inadequate-handling-of-file-transfer.zh-cn.md b/content/news/2021-05-15-plasma-5.12.5-inadequate-handling-of-file-transfer.zh-cn.md new file mode 100644 index 00000000..93a253d5 --- /dev/null +++ b/content/news/2021-05-15-plasma-5.12.5-inadequate-handling-of-file-transfer.zh-cn.md @@ -0,0 +1,29 @@ +--- +categories: + - advisories +title: "[已解决] Plasma 5.12.5 更新可能由于文件转移处理问题无法安装" +date: 2021-05-15T08:32:27+08:00 +important: false +--- + +最近推送的 Plasma 5.12.5 更新可能无法正确安装, +因为我们没有正确处理 `plasma-workspace` 和 `plasma-desktop` +之间发生的文件转移。我们将尽快推送修复更新。 + +在此之前,您也可以运行: + + apt -f install + apt full-upgrade + +暂时绕过此问题。更新完成后不影响正常使用。 + +---- + +2021-05-17 更新 +--------------- + +该问题的修复已推送至 stable 源。 + +---- + +— Mingcong Bai diff --git a/content/news/2021-06-08-libera-project-registration.md b/content/news/2021-06-08-libera-project-registration.md new file mode 100644 index 00000000..b004ab5b --- /dev/null +++ b/content/news/2021-06-08-libera-project-registration.md @@ -0,0 +1,21 @@ +--- +categories: + - news +title: 'Migrating #aosc to Libera Chat, and IRC Cloaks' +date: '2021-06-08' +important: false +--- + +IRC channels under the AOSC project namespace (#aosc and #aosc-offtopic) are now migrated to [Libera Chat](https://libera.chat/). We will no longer maintain a presence on freenode due to [a hostile takeover by its corporate owner](https://libera.chat/news/welcome-to-libera-chat). If you have been participating in community chats using Telegram or Discord, your experience will not be affected. Messages from these two platforms will continue to be bridged to the new Libera channels. + +Going forward, we will begin taking requests for [IRC cloaks](https://en.wikipedia.org/wiki/Internet_Relay_Chat#Hostmasks) on Libera and requests for freenode cloaks will no longer be processed. Depending your affiliation with the community, these cloak formats will be available: + +- `aosc/dev/` - for [contributors](https://aosc.io/people/) to AOSC that have an @aosc.io account. +- `aosc/user/` - for all other community members. +- `aosc/bot/` - for message bridging bots and other bots in service of our IRC channels. + +To request a cloak, email `cloaks@aosc.io` with your desired cloak and your ChanServ username on Libera. If you have an @aosc.io account, please use that email address when writing. + +---- + +— H.X. diff --git a/content/news/2021-06-08-libera-project-registration.zh-cn.md b/content/news/2021-06-08-libera-project-registration.zh-cn.md new file mode 100644 index 00000000..b004ab5b --- /dev/null +++ b/content/news/2021-06-08-libera-project-registration.zh-cn.md @@ -0,0 +1,21 @@ +--- +categories: + - news +title: 'Migrating #aosc to Libera Chat, and IRC Cloaks' +date: '2021-06-08' +important: false +--- + +IRC channels under the AOSC project namespace (#aosc and #aosc-offtopic) are now migrated to [Libera Chat](https://libera.chat/). We will no longer maintain a presence on freenode due to [a hostile takeover by its corporate owner](https://libera.chat/news/welcome-to-libera-chat). If you have been participating in community chats using Telegram or Discord, your experience will not be affected. Messages from these two platforms will continue to be bridged to the new Libera channels. + +Going forward, we will begin taking requests for [IRC cloaks](https://en.wikipedia.org/wiki/Internet_Relay_Chat#Hostmasks) on Libera and requests for freenode cloaks will no longer be processed. Depending your affiliation with the community, these cloak formats will be available: + +- `aosc/dev/` - for [contributors](https://aosc.io/people/) to AOSC that have an @aosc.io account. +- `aosc/user/` - for all other community members. +- `aosc/bot/` - for message bridging bots and other bots in service of our IRC channels. + +To request a cloak, email `cloaks@aosc.io` with your desired cloak and your ChanServ username on Libera. If you have an @aosc.io account, please use that email address when writing. + +---- + +— H.X. diff --git a/content/news/2021-06-11-discover-fails-to-launch.md b/content/news/2021-06-11-discover-fails-to-launch.md new file mode 100644 index 00000000..4c5e6689 --- /dev/null +++ b/content/news/2021-06-11-discover-fails-to-launch.md @@ -0,0 +1,21 @@ +--- +categories: + - advisories +title: "[SOLVED] Discover Fails to Launch Due to Missing Runtime Library" +date: 2021-06-11T12:24:09+08:00 +important: false +--- + +We are aware that Discover currently fails to launch due to missing `libDiscoverCommon.so`. +A fix will be released shortly with the Plasma 5.22 update. + +---- + +2021-06-11 Update +----------------- + +The fix has already been merged into the stable repository. + +---- + +— Jack Wu, Mingcong Bai diff --git a/content/news/2021-06-11-discover-fails-to-launch.zh-cn.md b/content/news/2021-06-11-discover-fails-to-launch.zh-cn.md new file mode 100644 index 00000000..8a8737c6 --- /dev/null +++ b/content/news/2021-06-11-discover-fails-to-launch.zh-cn.md @@ -0,0 +1,20 @@ +--- +categories: + - advisories +title: "[已解决] Discover 因运行时库缺失无法启动" +date: 2021-06-11T12:24:11+08:00 +important: false +--- + +Discover 无法打开的问题(缺少 `libDiscoverCommon.so`)已知悉,将随 Plasma 5.22 更新推送修复。 + +---- + +2021-06-11 更新 +--------------- + +该问题的修复已推送至 stable 源。 + +---- + +— Mag Mell diff --git a/content/news/2021-06-11-fwupd-missing-lib.md b/content/news/2021-06-11-fwupd-missing-lib.md new file mode 100644 index 00000000..23ae3bdc --- /dev/null +++ b/content/news/2021-06-11-fwupd-missing-lib.md @@ -0,0 +1,22 @@ +--- +categories: + - advisories +title: "[SOLVED] fwupd May Not Be Able to Update and Install Device Firmwares" +date: 2021-06-11T14:09:42+08:00 +important: false +--- + +Currently `fwupd` is unable to use the LVFS (Linux Vendor Firmware Service) +update checking and installation feature due to missing `libsmbios_c.so.2`. +We will release a fix as soon as possible. + +---- + +2021-06-16 Update +----------------- + +The fix has already been merged into the stable repository. + +---- + +— Jack Wu, Mingcong Bai diff --git a/content/news/2021-06-11-fwupd-missing-lib.zh-cn.md b/content/news/2021-06-11-fwupd-missing-lib.zh-cn.md new file mode 100644 index 00000000..4f2316b7 --- /dev/null +++ b/content/news/2021-06-11-fwupd-missing-lib.zh-cn.md @@ -0,0 +1,22 @@ +--- +categories: + - advisories +title: "[已解决] fwupd 可能无法更新及安装设备固件" +date: 2021-06-11T14:09:45+08:00 +important: false +--- + +目前 `fwupd` 因为缺少 `libsmbios_c.so.2` 无法使用 +LVFS (Linux Vendor Firmware Service) 更新检查和安装功能。 +我们将尽快推送修复。 + +---- + +2021-06-16 更新 +--------------- + +该问题的修复已推送至 stable 源。 + +---- + +— Mingcong Bai diff --git a/content/news/2021-06-30-kde-brightness-control-not-functional.md b/content/news/2021-06-30-kde-brightness-control-not-functional.md new file mode 100644 index 00000000..a60edfe5 --- /dev/null +++ b/content/news/2021-06-30-kde-brightness-control-not-functional.md @@ -0,0 +1,15 @@ +--- +categories: + - advisories +title: "[SOLVED] KDE Brightness Control May Not Function Due to D-Bus Permission Issue" +date: 2021-06-30T08:34:30+08:00 +important: false +--- + +Currently, laptop users with KDE may not be able to adjust the monitor +brightness. We have released an update to address this issue. Please +take note of an update to the `dbus` package with version `2:1.22.20-1`. + +---- + +— Mingcong Bai diff --git a/content/news/2021-06-30-kde-brightness-control-not-functional.zh-cn.md b/content/news/2021-06-30-kde-brightness-control-not-functional.zh-cn.md new file mode 100644 index 00000000..85145f83 --- /dev/null +++ b/content/news/2021-06-30-kde-brightness-control-not-functional.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - advisories +title: "[已解决] D-Bus 权限问题可能导致 KDE 屏幕亮度控制故障" +date: 2021-06-30T08:34:30+08:00 +important: false +--- + +目前使用笔记本电脑 KDE 用户可能发现无法调整屏幕亮度,我们目前已推送修复解决该 +问题。请留意获取版本为 `2:1.22.20-1` 的 `dbus` 包。 + +---- + +— Mingcong Bai diff --git a/content/news/2021-06-30-rnnoise-not-as-advertised.md b/content/news/2021-06-30-rnnoise-not-as-advertised.md new file mode 100644 index 00000000..a568c5fa --- /dev/null +++ b/content/news/2021-06-30-rnnoise-not-as-advertised.md @@ -0,0 +1,19 @@ +--- +categories: + - advisories +title: "[SOLVED] Incorrect Software Packaged in rnnoise" +date: 2021-06-30T08:28:30+08:00 +important: false +--- + +Due to a mistake, the rnnoise package in the community repository does not +contain the advertised software (but instead +[noise-suppression-for-voice](https://github.com/werman/noise-suppression-for-voice/)). + +We have now released an update to the `rnnoise` package, containing RNNoise +from [Xiph.org](https://gitlab.xiph.org/xiph/rnnoise). The current `rnnoise` +is now replaced with a new package, `noise-suppression-for-voice`. + +---- + +— Mingcong Bai diff --git a/content/news/2021-06-30-rnnoise-not-as-advertised.zh-cn.md b/content/news/2021-06-30-rnnoise-not-as-advertised.zh-cn.md new file mode 100644 index 00000000..9970f18e --- /dev/null +++ b/content/news/2021-06-30-rnnoise-not-as-advertised.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - advisories +title: "[已解决] rnnoise 包含的软件不正确" +date: 2021-06-30T08:28:30+08:00 +important: false +--- + +由于工作上的食物,目前源内 `rnnoise` 包并不包含真正的 RNNoise 软件, +而是 [noise-suppression-for-voice](https://github.com/werman/noise-suppression-for-voice/)。 +我们稍后将推送修复。 + +当前的 `rnnoise` 包更新后将使用来自 [Xiph.org](https://gitlab.xiph.org/xiph/rnnoise) 的源码, +而当前的 `rnnoise` 将以新包 `noise-suppression-for-voice` 代替。 + +---- + +— Mag Mell, Mingcong Bai diff --git a/content/news/2021-06-30-xrdp-emergency-update.md b/content/news/2021-06-30-xrdp-emergency-update.md new file mode 100644 index 00000000..d46a7f02 --- /dev/null +++ b/content/news/2021-06-30-xrdp-emergency-update.md @@ -0,0 +1,22 @@ +--- +categories: + - advisories +title: "[SOLVED] EMERGENCY UPDATE: xrdp Contains Pre-generated Private Keys" +date: 2021-06-30T08:28:30+08:00 +important: false +--- + +In a report from Void Linux maintainer "Chocimier [\](mailto:chocimier@tlen.pl)," +our `xrdp` packages contained build-time-generated private keys. **This is a +serious security issue, and we have since taken action to release an emergency +update.** If you have installed `xrdp` in your system, please make sure that +the package now has a version of at least `0.9.14-1`. + +In this emergency update, we have re-generated all `xrdp` private keys. As a +result, your client and server applications may inform you of mis-matched +public keys. Our sincerest apologies for any inconvenience that this may +have caused. + +---- + +— Mingcong Bai diff --git a/content/news/2021-06-30-xrdp-emergency-update.zh-cn.md b/content/news/2021-06-30-xrdp-emergency-update.zh-cn.md new file mode 100644 index 00000000..4ed76f3c --- /dev/null +++ b/content/news/2021-06-30-xrdp-emergency-update.zh-cn.md @@ -0,0 +1,19 @@ +--- +categories: + - advisories +title: "[已解决] 紧急更新:xrdp 包含预生成私钥" +date: 2021-06-30T08:28:30+08:00 +important: false +--- + +据 Void Linux 维护者 Chocimier [\](mailto:chocimier@tlen.pl) +报告,我们的 xrdp 软件包内包含了构建时生成的私钥。 **这属于严重安全问题,我们已 +就此推送了紧急修复。** 如果你的系统中安装了 `xrdp`,请确保你的 `xrdp` 版本为 +至少 `0.9.14-1`。 + +因该更新将重新生成 `xrdp` 的私钥,客户 / 服务端可能会提示公钥不匹配,我们为此 +带来的不便表示诚挚的歉意。 + +---- + +— Mingcong Bai diff --git a/content/news/2021-07-03-apt-dracut-trigger-looping.md b/content/news/2021-07-03-apt-dracut-trigger-looping.md new file mode 100644 index 00000000..6f2d7fdf --- /dev/null +++ b/content/news/2021-07-03-apt-dracut-trigger-looping.md @@ -0,0 +1,26 @@ +--- +categories: + - advisories +title: "Trigger Looping While Upgrading the System" +date: 2021-07-03T19:48:57+08:00 +important: false +--- + +If you encountered the following error when upgrading the system: + + dpkg: cycle found while processing triggers: + chain of packages whose triggers are or may be responsible: + dracut -> dracut + packages' pending triggers which are or may be unresolvable: + dracut: /usr/lib/modprobe.d + dpkg: error processing package dracut (--configure): + triggers looping, abandoned + Errors were encountered while processing: + dracut + E: Sub-process /usr/bin/dpkg returned an error code (1) + +Please execute `apt install -f` to work around the issue. + +--- + +— Kaiyang Wu, Mag Mell diff --git a/content/news/2021-07-03-apt-dracut-trigger-looping.zh-cn.md b/content/news/2021-07-03-apt-dracut-trigger-looping.zh-cn.md new file mode 100644 index 00000000..53c557f5 --- /dev/null +++ b/content/news/2021-07-03-apt-dracut-trigger-looping.zh-cn.md @@ -0,0 +1,26 @@ +--- +categories: + - advisories +title: "升级系统时可能遇到触发器循环" +date: 2021-07-03T19:48:54+08:00 +important: false +--- + +若在升级时遇到此错误: + + dpkg: cycle found while processing triggers: + chain of packages whose triggers are or may be responsible: + dracut -> dracut + packages' pending triggers which are or may be unresolvable: + dracut: /usr/lib/modprobe.d + dpkg: error processing package dracut (--configure): + triggers looping, abandoned + Errors were encountered while processing: + dracut + E: Sub-process /usr/bin/dpkg returned an error code (1) + +请执行 `apt install -f` 来暂时解决问题。 + +--- + +— Mag Mell diff --git a/content/news/2021-07-21-rpi-kernel-update-policy-changed.md b/content/news/2021-07-21-rpi-kernel-update-policy-changed.md new file mode 100644 index 00000000..d159c496 --- /dev/null +++ b/content/news/2021-07-21-rpi-kernel-update-policy-changed.md @@ -0,0 +1,15 @@ +--- +categories: + - advisories +title: "Updating Kernel on Raspberry Pi Requires Manual Intervention" +date: 2021-07-21T16:26:57+08:00 +important: true +--- + +The mainline kernel and boot firmware for Raspberry Pi have been updated, and we added a LTS kernel flavor (5.10). +Because we have switched to the mainstream kernel update policy, please uninstall `linux-kernel-rpi64` and install +`linux+kernel+rpi64` (or `linux+kernel+rpi64+lts` if you want to use LTS kernel) before updating the kernel. + +--- + +— Kaiyang Wu, Xinhui Yang diff --git a/content/news/2021-07-21-rpi-kernel-update-policy-changed.zh-cn.md b/content/news/2021-07-21-rpi-kernel-update-policy-changed.zh-cn.md new file mode 100644 index 00000000..03e8f180 --- /dev/null +++ b/content/news/2021-07-21-rpi-kernel-update-policy-changed.zh-cn.md @@ -0,0 +1,15 @@ +--- +categories: + - advisories +title: "在树莓派上更新内核时需要手动干预" +date: 2021-07-21T16:27:01+08:00 +important: true +--- + +目前树莓派的主线内核以及启动用固件已经更新完毕,并新增了 LTS 内核(5.10)。 +由于现在切换到了主流的内核更新策略,请在更新内核时先卸载 `linux-kernel-rpi64` 软件包,然后再安装 `linux+kernel+rpi64` +(或 `linux+kernel+rpi64+lts`,如果要使用 LTS 内核)。 + +--- + +— Xinhui Yang diff --git a/content/news/2021-08-18-comm-repo-server-maintenance.md b/content/news/2021-08-18-comm-repo-server-maintenance.md new file mode 100644 index 00000000..6c12f009 --- /dev/null +++ b/content/news/2021-08-18-comm-repo-server-maintenance.md @@ -0,0 +1,13 @@ +--- +categories: + - advisories +title: "Community Repository Server Maintenance" +date: 2021-08-18T15:42:32+08:00 +important: true +--- + +Due to the host of [the community repository server](https://repo.aosc.io/) needs to re-configure hardware, the server will be offline at 2021-8-19 19:00 (UTC) for 1 - 2 hours. In the meantime, you will not be able to download AOSC OS, and the synchronisation of mirrors will be affected. + +--- + +— Mingcong Bai, Kaiyang Wu diff --git a/content/news/2021-08-18-comm-repo-server-maintenance.zh-cn.md b/content/news/2021-08-18-comm-repo-server-maintenance.zh-cn.md new file mode 100644 index 00000000..f12c270d --- /dev/null +++ b/content/news/2021-08-18-comm-repo-server-maintenance.zh-cn.md @@ -0,0 +1,13 @@ +--- +categories: + - advisories +title: "社区源服务器维护" +date: 2021-08-18T15:42:26+08:00 +important: true +--- + +社区[源服务器](https://repo.aosc.io/)因托管方需要调整硬件,将于 UTC 时间 2021 年 8 月 19 日 19:00 下线 1 - 2 小时,届时无法下载 AOSC OS,且镜像源同步将受影响。 + +--- + +— Mingcong Bai diff --git a/content/news/2021-09-02-vscode-update.md b/content/news/2021-09-02-vscode-update.md new file mode 100644 index 00000000..8346e465 --- /dev/null +++ b/content/news/2021-09-02-vscode-update.md @@ -0,0 +1,15 @@ +--- +categories: + - advisories +title: "VSCode 1.59.1 Update May Require Manual Intervention" +date: 2021-09-02T16:52:14+08:00 +important: false +--- + +VSCode users please be advised: If you received the VSCode 1.59.1 update, +please delete `~/.vscode/args.json`. Otherwise, you may not be able to launch VSCode. +Users who freshly installed VSCode are not affected. + +--- + +— Mag Mell, Kaiyang Wu diff --git a/content/news/2021-09-02-vscode-update.zh-cn.md b/content/news/2021-09-02-vscode-update.zh-cn.md new file mode 100644 index 00000000..f9ee2076 --- /dev/null +++ b/content/news/2021-09-02-vscode-update.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - advisories +title: "VSCode 1.59.1 更新或需人为干预" +date: 2021-09-02T16:52:16+08:00 +important: false +--- + +VSCode 用户请注意: +若你接收到了 VSCode 1.59.1 的更新,请在更新后删除 `~/.vscode/args.json`,否则可能会遇到 VSCode 不能启动的问题。新装 VSCode 的用户不受影响。 + +--- + +— Mag Mell diff --git a/content/news/2021-09-04-cutefish-kde-confl.md b/content/news/2021-09-04-cutefish-kde-confl.md new file mode 100644 index 00000000..07718372 --- /dev/null +++ b/content/news/2021-09-04-cutefish-kde-confl.md @@ -0,0 +1,18 @@ +--- +categories: + - advisories +title: "Cutefish Configuration Files May Interfere with KDE User Configurations" +date: 2021-09-04T16:34:31+08:00 +important: false +--- + +Users who would like to test Cutefish (topic: cutefish-survey-new) please be advised: + +Currently, Cutefish contains configuration files that conflict with KDE. +Moreover, since the configuration files are shared with KDE in the home directory, +it is not possible for our package manager to handle this conflict. +Please backup your KDE configuration files in `~/.config` before installing Cutefish. + +--- + +— Mag Mell, Mingcong Bai, OriginCode diff --git a/content/news/2021-09-04-cutefish-kde-confl.zh-cn.md b/content/news/2021-09-04-cutefish-kde-confl.zh-cn.md new file mode 100644 index 00000000..21d4c568 --- /dev/null +++ b/content/news/2021-09-04-cutefish-kde-confl.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - advisories +title: "Cutefish 配置文件可能影响 KDE 用户配置" +date: 2021-09-04T16:34:35+08:00 +important: false +--- + +有准备尝试 Cutefish (topic: cutefish-survey-new) 的用户请注意: + +目前 Cutefish 组件包含了与 KDE 冲突的配置文件,由于它需要安装到用户目录,我们没法处理这点,所以安装前请备份 +`~/.config` 下的 KDE 配置文件。 + +--- + +— Mag Mell diff --git a/content/news/2021-09-15-aoscc-2021-info.md b/content/news/2021-09-15-aoscc-2021-info.md new file mode 100644 index 00000000..91e53aa6 --- /dev/null +++ b/content/news/2021-09-15-aoscc-2021-info.md @@ -0,0 +1,18 @@ +--- +categories: + - news +title: AOSCC 2021 This Weekend! +date: '2021-09-15' +important: true +--- + +As we continue to cope with the COVID-19 pandemic, this year's AOSCC will be +held online at our [Discord server](https://discord.gg/VYPHgt9) between +September 19th and 20th (UTC +8 time). You may find detailed agenda and +attendance information at our [AOSCC 2021 Page](https://wiki.aosc.io/community/aoscc/2021/). + +We hope to see you there! + +---- + +— Mingcong Bai diff --git a/content/news/2021-09-15-aoscc-2021-info.zh-cn.md b/content/news/2021-09-15-aoscc-2021-info.zh-cn.md new file mode 100644 index 00000000..91e53aa6 --- /dev/null +++ b/content/news/2021-09-15-aoscc-2021-info.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - news +title: AOSCC 2021 This Weekend! +date: '2021-09-15' +important: true +--- + +As we continue to cope with the COVID-19 pandemic, this year's AOSCC will be +held online at our [Discord server](https://discord.gg/VYPHgt9) between +September 19th and 20th (UTC +8 time). You may find detailed agenda and +attendance information at our [AOSCC 2021 Page](https://wiki.aosc.io/community/aoscc/2021/). + +We hope to see you there! + +---- + +— Mingcong Bai diff --git a/content/news/2021-09-24-remove-brise.md b/content/news/2021-09-24-remove-brise.md new file mode 100644 index 00000000..df8035f2 --- /dev/null +++ b/content/news/2021-09-24-remove-brise.md @@ -0,0 +1,24 @@ +--- +categories: + - advisories +title: "Brise Users May Need to Migrate to Schema Packages" +date: 2021-09-24T07:51:01+08:00 +important: false +--- + +Brise users be advised: + +We have recently split our Rime schema package (`brise`) into several packages, +and we will remove the old `brise` package will from the repository soon. +If you're still using Brise, please migrate to the new schema packages as soon as possible. + +You may simply migrate with the following commands: + +``` +apt remove brise # Uninstall brise +apt install rime-base # If you don't mind installing unused schemas, you can simply install rime-base. Otherwise you can install specific schemas, such as rime-luna-pinyin. +``` + +--- + +— Mag Mell, Kaiyang Wu, Mingcong Bai diff --git a/content/news/2021-09-24-remove-brise.zh-cn.md b/content/news/2021-09-24-remove-brise.zh-cn.md new file mode 100644 index 00000000..60ab5541 --- /dev/null +++ b/content/news/2021-09-24-remove-brise.zh-cn.md @@ -0,0 +1,22 @@ +--- +categories: + - advisories +title: "Brise 用户可能需要手动迁移至分拆后的 Rime 方案包" +date: 2021-09-24T07:51:04+08:00 +important: false +--- + +使用 Brise 的用戶请注意: + +目前我们的 rime 方案已经拆包许久,老的 Brise 近期将会从源中删除,若你还在使用 Brise 请尽快完成迁移。 + +迁移方法: + +``` +apt remove brise # 卸载 brise +apt install rime-base # 若想省事,可直接安装 rime-base,若嫌这个方法安装了用不到的方案,可直接安装其方案,如 rime-luna-pinyin,安装后用戶不需要做其他步骤便迁移完成 +``` + +--- + +— Mag Mell diff --git a/content/news/2021-09-27-lets-encrypt-cert-expire.md b/content/news/2021-09-27-lets-encrypt-cert-expire.md new file mode 100644 index 00000000..98f4a26d --- /dev/null +++ b/content/news/2021-09-27-lets-encrypt-cert-expire.md @@ -0,0 +1,33 @@ +--- +categories: + - advisories +title: "Usability Notes on Let's Encrypt's Primary Root Certificate Migration" +date: 2021-09-27T09:54:21-07:00 +important: true +--- + +Let's Encrypt's former primary root certificate, DST Root CA X3, will expire on September 30th. +To prevent connection issues with sites using their new certificates, Let's Encrypt has taken +numerous measures. + +One of such measures, however, has rendered applications linked to older OpenSSL and GnuTLS +libraries incapable of accessing secure sites using Let's Encrypt certificates. AOSC OS had to +blacklist the DST Root CA X3 root certificate in the `ca-certs` 20210907 update to workaround this +issue. + +Even though DST Root CA X3 will remain valid until the end of this month, if you have updated +`ca-certs`, you may not be able to access secure sites signed __**exclusively**__ with this +certificate. Such sites are rare, though if you ran into such a site, you may manually downgrade +`ca-certs` to 20201201-1 with the following command as a temporary workaround: + + sudo apt install ca-certs=20211201-1 + +This announcement remains valid until September 30, 2021 - after this date, this update should not +cause any further issue. + +For further details and discussions regarding this issue, please refer to +[aosc-os-abbs #3473](https://github.com/AOSC-Dev/aosc-os-abbs/discussions/3473). + +--- + +— Kexy Biscuit, Zixing Liu, Mingcong Bai diff --git a/content/news/2021-09-27-lets-encrypt-cert-expire.zh-cn.md b/content/news/2021-09-27-lets-encrypt-cert-expire.zh-cn.md new file mode 100644 index 00000000..fc93d792 --- /dev/null +++ b/content/news/2021-09-27-lets-encrypt-cert-expire.zh-cn.md @@ -0,0 +1,23 @@ +--- +categories: + - advisories +title: "有关 Let's Encrypt 主要根证书迁移的注意事项" +date: 2021-09-27T09:54:24-07:00 +important: true +--- + +由于 Let's Encrypt 先前的主要根证书 DST Root CA X3 将于 2021 年 9 月 30 日过期,Let's Encrypt 在更换根证书后采取了一系列补救措施,以避免老设备和系统无法正常访问由新证书保护的站点。 + +而由于其中一个措施导致使用旧版 OpenSSL 和 GnuTLS 库的应用无法连接任何受 Let's Encrypt 保护的站点,AOSC OS 被迫通过 `ca-certs` 20210907 更新禁用 DST Root CA X3 根证书来避免这一状况发生。 + +尽管 DST Root CA X3 在本月末前仍然有效,如果更新了 `ca-certs`,你可能无法访问仅由其保护的站。这样的站点非常少见,但如果你不幸遇上这样的站点,可以使用如下命令手动回滚 `ca-certs` 至 20201201-1 来暂时恢复访问: + + sudo apt install ca-certs=20211201-1 + +该预警将于 2021 年 9 月 30 日失效,届时你可放心升级至新版。 + +欲知更多详情及讨论,请参阅 [aosc-os-abbs #3473](https://github.com/AOSC-Dev/aosc-os-abbs/discussions/3473) 。 + +--- + +— Kexy Biscuit, Zixing Liu diff --git a/content/news/2021-10-21-chromium-95-pkg-issue.md b/content/news/2021-10-21-chromium-95-pkg-issue.md new file mode 100644 index 00000000..d9ff62a9 --- /dev/null +++ b/content/news/2021-10-21-chromium-95-pkg-issue.md @@ -0,0 +1,21 @@ +--- +categories: + - advisories +title: "[SOLVED] Chromium 95.0.4638.54 Fails to Launch" +date: 2021-10-21T21:20:15-07:00 +important: false +--- + +Chromium 95.0.4638.54 in the repository fails to launch due to a packaging issue: + + FATAL:double_fork_and_exec.cc(131)] execv /usr/lib/chromium/chrome_crashpad_handler: No such file or directory (2) + +Please look up the previous version by executing apt list chromium -a, and downgrade using the following command: + + sudo apt install chromium/ + +Please replace the placeholder with the version you found. There are several security updates in Chromium 95, therefore we will release a fix within a day. + +--- + +— Mingcong Bai, Kaiyang Wu diff --git a/content/news/2021-10-21-chromium-95-pkg-issue.zh-cn.md b/content/news/2021-10-21-chromium-95-pkg-issue.zh-cn.md new file mode 100644 index 00000000..b5077502 --- /dev/null +++ b/content/news/2021-10-21-chromium-95-pkg-issue.zh-cn.md @@ -0,0 +1,21 @@ +--- +categories: + - advisories +title: "[已解决] Chromium 95.0.4638.54 无法正常启动" +date: 2021-10-21T21:20:18-07:00 +important: false +--- + +目前源内的 Chromium 95.0.4638.54 存在打包问题,会导致浏览器无法正常启动: + + FATAL:double_fork_and_exec.cc(131)] execv /usr/lib/chromium/chrome_crashpad_handler: 没有那个文件或目录 (2) + +请暂时通过 apt list chromium -a 查询上个版本并使用如下命令降级: + + sudo apt install chromium/ + +请使用查询到的版本替代占位符。因 Chromium 95 带有多个安全更新,我们会在一天内发布修复更新。 + +--- + +— Mingcong Bai diff --git a/content/news/2021-11-05-removing-lightcord.md b/content/news/2021-11-05-removing-lightcord.md new file mode 100644 index 00000000..36e75eb8 --- /dev/null +++ b/content/news/2021-11-05-removing-lightcord.md @@ -0,0 +1,21 @@ +--- +categories: + - advisories +title: "Removal of Lightcord from the Community Repository" +date: 2021-11-05T12:12:11-07:00 +important: true +--- + +Lightcord users be advised: + +As the Lightcord upstream has terminated maintenance and development on the project, we will remove the lightcord package from our community repository soon. + +The upstream developers had recently made an announcement that [Lightcord has been abandoned and will no longer receive support or updates](https://github.com/Lightcord/Lightcord#lightcord-has-been-abandoned-and-no-longer-receives-support-or-updates), and recommends that users remove Lightcord from your systems to ensure the security of your account (as Discord may ban accounts logging in from Lightcord) and personal information. Please execute the following command to remove Lightcord: + + apt purge lightcord + +If you would like to use a 3rd party client for Discord, the Lightcord developers has made a [website](https://lightcord.site/) showcasing various alternative clients. + +--- + +— Kaiyang Wu, Mingcong Bai, Liushuyu diff --git a/content/news/2021-11-05-removing-lightcord.zh-cn.md b/content/news/2021-11-05-removing-lightcord.zh-cn.md new file mode 100644 index 00000000..a3e5e1bd --- /dev/null +++ b/content/news/2021-11-05-removing-lightcord.zh-cn.md @@ -0,0 +1,21 @@ +--- +categories: + - advisories +title: "Lightcord 即将从源中移除" +date: 2021-11-05T12:12:05-07:00 +important: true +--- + +Lightcord 用户请注意: + +由于上游已放弃维护 Lightcord,AOSC OS 将会在近期从源中删除此软件包。 +上游开发者近日发布了[公告](https://github.com/Lightcord/Lightcord#lightcord-has-been-abandoned-and-no-longer-receives-support-or-updates),建议用户从其系统中删除 Lightcord 以确保帐号及电脑安全。 +请运行下面的命令从你的设备上删除 Lightcord: + + apt purge lightcord + +如果你需要替代品,上游开发者准备了一个[网站](https://lightcord.site/)展示替代客户端 + +--- + +— Liushuyu diff --git a/content/news/2021-11-19-codeweavers-and-github-suponsorship.md b/content/news/2021-11-19-codeweavers-and-github-suponsorship.md new file mode 100644 index 00000000..21d8d4db --- /dev/null +++ b/content/news/2021-11-19-codeweavers-and-github-suponsorship.md @@ -0,0 +1,22 @@ +--- +categories: + - news +title: CodeWeavers Sponsorship and GitHub Sponsors +date: '2021-11-19' +important: false +--- + +With sincere gratitude, I would like to announce our new sponsor - [CodeWeavers](https://www.codeweavers.com/)! +CodeWeavers works with [Wine](https://www.winehq.org/) to create +application-specific solutions and consultant services for running Windows +applications on Linux and macOS. Earlier today, we received a one-time $500 +donation from CodeWeavers to fund our new [Mac mini M1 build server](https://wiki.aosc.io/community/crowdsourcing/mac-mini-m1/). + +We have also just launched our [GitHub Sponsors page](https://github.com/sponsors/AOSC-Dev), +intended for use in AOSC's hardware and service purchases. Due to the lack +of financial account or management infrastructure (as intended), we require +pre-designated usage for all donations in the form of Crowdsourcing. + +---- + +— Mingcong Bai diff --git a/content/news/2021-11-19-codeweavers-and-github-suponsorship.zh-cn.md b/content/news/2021-11-19-codeweavers-and-github-suponsorship.zh-cn.md new file mode 100644 index 00000000..21d8d4db --- /dev/null +++ b/content/news/2021-11-19-codeweavers-and-github-suponsorship.zh-cn.md @@ -0,0 +1,22 @@ +--- +categories: + - news +title: CodeWeavers Sponsorship and GitHub Sponsors +date: '2021-11-19' +important: false +--- + +With sincere gratitude, I would like to announce our new sponsor - [CodeWeavers](https://www.codeweavers.com/)! +CodeWeavers works with [Wine](https://www.winehq.org/) to create +application-specific solutions and consultant services for running Windows +applications on Linux and macOS. Earlier today, we received a one-time $500 +donation from CodeWeavers to fund our new [Mac mini M1 build server](https://wiki.aosc.io/community/crowdsourcing/mac-mini-m1/). + +We have also just launched our [GitHub Sponsors page](https://github.com/sponsors/AOSC-Dev), +intended for use in AOSC's hardware and service purchases. Due to the lack +of financial account or management infrastructure (as intended), we require +pre-designated usage for all donations in the form of Crowdsourcing. + +---- + +— Mingcong Bai diff --git a/content/news/2021-11-29-python-3-10-update.md b/content/news/2021-11-29-python-3-10-update.md new file mode 100644 index 00000000..a4050fac --- /dev/null +++ b/content/news/2021-11-29-python-3-10-update.md @@ -0,0 +1,18 @@ +--- +categories: + - advisories +title: "Python 3.10 Availability and Possible Issues" +date: 2021-11-29T22:41:40-08:00 +important: true +--- + +Here comes the Python 3.10 update! This update affects over 20% of all packages in the repository. +Due to the sheer volume of updates, we could not possibly test every single update, and certain +issues may have fallen through the cracks. If you encounter usability issues and other bugs with +certain applications after the update, please consider reporting them via our +[Telegram Group](https://t.me/+QVkNCQXYd_kAOMTX), [Discord Server](https://discord.gg/VYPHgt9), +IRC (#aosc @ Libera.Chat) or [GitHub Issues](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&template=bug-report.yml). + +--- + +— Mingcong Bai, Kaiyang Wu diff --git a/content/news/2021-11-29-python-3-10-update.zh-cn.md b/content/news/2021-11-29-python-3-10-update.zh-cn.md new file mode 100644 index 00000000..0245d85a --- /dev/null +++ b/content/news/2021-11-29-python-3-10-update.zh-cn.md @@ -0,0 +1,13 @@ +--- +categories: + - advisories +title: "关于 Python 3.10 更新潜在问题的说明" +date: 2021-11-29T22:41:42-08:00 +important: true +--- + +Python 3.10 更新即将抵达软件源,更新及重构波及超过全源 20% 的软件包。由于软件包变动范围之广,尽管前两周开发者们进行了一定量的测试,难免会有疏漏。如果您在更新系统后发现某些软件不可用或出现问题,请通过 [Telegram 社区频道](https://t.me/+QVkNCQXYd_kAOMTX)、[Discord 服务器](https://discord.gg/VYPHgt9)、IRC (#aosc @ Libera.Chat) 或 [GitHub Issues](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&template=bug-report.yml) 报告问题。 + +--- + +— Mingcong Bai diff --git a/content/news/2021-12-01-decennial-thesis-prologue.md b/content/news/2021-12-01-decennial-thesis-prologue.md new file mode 100644 index 00000000..c47f4482 --- /dev/null +++ b/content/news/2021-12-01-decennial-thesis-prologue.md @@ -0,0 +1,38 @@ +--- +categories: + - news +title: 'Decennial Thesis: Prologue' +date: '2021-12-01' +important: false +--- + +Ten years has thus passed since we named our collective “Anthon,” a +transliteration of 安同, in a hope to find our place in collaboration as +classmates. Since then, many of the founding members, once middle and high +school students, have embarked on their quest for professional careers. +However, we have not yet parted ways, and “classmate” has taken on broader +meanings. Today, we continue to learn what a community means, how to find our +place in a community, and where we situate ourselves on the broader FOSS +ecosystem. + +Here, we propose a thesis based on what we have learned so far as a community. +We have certainly made our share of mistakes, but not without a treasure of +prideful moments. In this thesis, we present our shared history and +understandings, as well as what made our community one of a kind. With this +thesis, we do not intend to boast our achievements or to lay blame - we leave +the judgments up to you. + +This Decennial Thesis, drafted by our community’s contributors, is dedicated +first and foremost to all of us who devoted our own time and passion for none +other than a belief in our community’s capacity to serve the open-source +ecosystem. We also dedicate this thesis to all our friends who supported us +on this decade-long journey – AOSC will never become what it is today without +your kind words, thoughtful critiques, and contribution. Building software for +the masses entails tremendous mental and financial resources. For this reason, +we are also deeply indebted to our numerous individual, corporate, and +institutional sponsors that provided monetary, hardware, and professional +training for our community projects. + +---- + +— AOSC Contributors diff --git a/content/news/2021-12-01-decennial-thesis-prologue.zh-cn.md b/content/news/2021-12-01-decennial-thesis-prologue.zh-cn.md new file mode 100644 index 00000000..029314fd --- /dev/null +++ b/content/news/2021-12-01-decennial-thesis-prologue.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - news +title: '十年论安同:序' +date: '2021-12-01' +important: false +--- + +十年前,我们将社区命名为“安同”,取义“安于同学合作”。时光荏苒,许多曾是中学生的社区成员们已经参加工作,但他们中的许多人依然积极参与在社区工作和生活中。如今,“同学”一词也有了更加广泛和深刻的含义——我们继续探索着社区的含义和自身在社区体现的价值。同样地,如何定位我们社区在自由及开源软件生态系统中的位置也是我们探索至今的问题。 + +我们希望以十周年这一契机总结十年来的一些教训和认识,谈谈过去的是非功过,结论则交由各位读者自行钧裁。十年以来,我们犯了不少错误,也有不少值得骄傲的成就。总地来说,我们计划借本文介绍我们社区的历史,并阐述对我们社区独特性的若干理解。 + +这篇回顾谨献给多年来为社区贡献时间和热情的各位贡献者。我们也希望将这篇文章献给所有在这十年旅程中关注我们的朋友们,没有你们的关注和批评,我们社区不会走到今天。我们十年来的发展也离不开一直以来为社区贡献资金、设备和专业培训的个人、企业和院校,在此向各位赞助者表示由衷的感谢。 + + +---- + +— 安同开源社区贡献者 diff --git a/content/news/2021-12-14-10-year-anniversary-wallpapers.md b/content/news/2021-12-14-10-year-anniversary-wallpapers.md new file mode 100644 index 00000000..0130c0bf --- /dev/null +++ b/content/news/2021-12-14-10-year-anniversary-wallpapers.md @@ -0,0 +1,19 @@ +--- +categories: + - news +title: "10th Anniversary Trailer and Wallpapers" +date: 2021-12-14T23:49:28-08:00 +important: false +--- + +Happy birthday, AOSC! For the past few weeks, [@Megabits](https://megabits.xyz/) actively worked with us on designing our 10th anniversary [trailer](https://www.youtube.com/watch?v=4oD7kVIjCyw) and wallpapers (see below, click the thumbnails to view and download the original images), we are very excited to see these beautiful artwork. + +10 year is only a starting point. We will work along side you in the future to provide a stable and elegant Linux experience. + +[![Dark Wallpaper](/assets/gallery/thumbs/aosc10-dark.png.jpg)](/assets/gallery/aosc10-dark.png) + +[![Light Wallpaper](/assets/gallery/thumbs/aosc10-light.png.jpg)](/assets/gallery/aosc10-light.png) + +--- + +— Kaiyang Wu, Mingcong Bai diff --git a/content/news/2021-12-14-10-year-anniversary-wallpapers.zh-cn.md b/content/news/2021-12-14-10-year-anniversary-wallpapers.zh-cn.md new file mode 100644 index 00000000..1bb3ac72 --- /dev/null +++ b/content/news/2021-12-14-10-year-anniversary-wallpapers.zh-cn.md @@ -0,0 +1,19 @@ +--- +categories: + - news +title: "十周年纪念壁纸及视频" +date: 2021-12-15T02:05:13-08:00 +important: false +--- + +生日快乐,安同!过去几周我们与 [@Megabits](https://megabits.xyz/) 制作了周年壁纸(见下,点击缩略图可查看并下载原图)和壁纸的[概念视频](https://www.youtube.com/watch?v=4oD7kVIjCyw),希望能以优美的壁纸为您留下美好记忆。 + +十年,是一个新的开始。我们将始终伴您左右,为您提供稳定而优雅的 Linux 体验。 + +[![暗色背景](/assets/gallery/thumbs/aosc10-dark.png.jpg)](/assets/gallery/aosc10-dark.png) + +[![亮色背景](/assets/gallery/thumbs/aosc10-light.png.jpg)](/assets/gallery/aosc10-light.png) + +--- + +— Kaiyang Wu, Mingcong Bai diff --git a/content/news/2022-01-13-firefox-http3-issue.md b/content/news/2022-01-13-firefox-http3-issue.md new file mode 100644 index 00000000..be2cd223 --- /dev/null +++ b/content/news/2022-01-13-firefox-http3-issue.md @@ -0,0 +1,23 @@ +--- +categories: + - advisories +title: "HTTP3 Feature in Firefox May Cause Usability Issues" +date: 2022-01-13T10:42:39-08:00 +important: true +--- + +At present, Firefox browser may suddenly stop loading when browsing web pages, or get stuck while loading pages, accompanied by high CPU usage. +This issue may be related to [Firefox's HTTP3 Sockets feature](https://bugzilla.mozilla.org/show_bug.cgi?id=1749908). + +You may temporarily workaround this issue by disabling Firefox's HTTP3 features. +Begin by accessing Firefox's advanced configurations page by entering `about:config` in the address bar, +search for `network.http.http3.enabled` and set it to `false`. After which, restart the browser, +and Firefox should load pages normally. Alternatively, you may workaround this issue by unchecking +"Allow Firefox to send technical information and interaction data to Mozilla" in Settings - Privacy & Security. + +We will soon push a Firefox update to address this issue, +disabling the Firefox feature to upload "technical information and interaction data" to Mozilla by default. + +--- + +— WhiredPlank, Mingcong Bai diff --git a/content/news/2022-01-13-firefox-http3-issue.zh-cn.md b/content/news/2022-01-13-firefox-http3-issue.zh-cn.md new file mode 100644 index 00000000..ebdaa6cf --- /dev/null +++ b/content/news/2022-01-13-firefox-http3-issue.zh-cn.md @@ -0,0 +1,17 @@ +--- +categories: + - advisories +title: "Firefox 的 HTTP3 特性可能导致可用性问题" +date: 2022-01-13T10:37:33-08:00 +important: true +--- + +目前源内的 Firefox 浏览器可能会出现浏览网页时突然停止加载,或一直处于正在加载的状态,并伴随高 CPU 占用率。此问题可能与 [Firefox 的 HTTP3 Socket 功能有关](https://bugzilla.mozilla.org/show_bug.cgi?id=1749908)。 + +临时解决方案是关闭 HTTP3 功能,方法为地址栏输入 `about:config`,搜索 `network.http.http3.enabled`,设置为 `false`,重启浏览器后方可正常加载网页。亦可通过在“设置” > “隐私和安全”页面中取消勾选“允许 Firefox 向 Mozilla 发送技术信息及交互数据”来暂时解决问题。 + +我们将在近期的 Firefox 更新中修复此问题并默认关闭向 Mozilla 发送技术信息及交互数据的功能。 + +--- + +— Mingcong Bai diff --git a/content/news/2022-01-16-aosc-os-9.md b/content/news/2022-01-16-aosc-os-9.md new file mode 100644 index 00000000..fb671d79 --- /dev/null +++ b/content/news/2022-01-16-aosc-os-9.md @@ -0,0 +1,17 @@ +--- +categories: + - advisories +title: "AOSC OS Core 9 is Now Available" +date: 2022-01-16T23:14:38-08:00 +important: false +--- + +AOSC OS Core 9 (Codename "Icenowy") will see availability in the stable repository today. +It mainly includes updates for core system runtime and toolchain, including the GNU C Library (Glibc) 2.34, GCC 11, and Binutils 2.37. + +Though we have done plenty of testing with the Core 9 runtime updates, should you encounter any issues after the update, +please consider joining our [AOSC Community Channel](https://t.me/+QVkNCQXYd_kAOMTX) or open a bug report at our [aosc-os-abbs](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new/choose) repository. + +--- + +— Mingcong Bai, Kaiyang Wu diff --git a/content/news/2022-01-16-aosc-os-9.zh-cn.md b/content/news/2022-01-16-aosc-os-9.zh-cn.md new file mode 100644 index 00000000..007bafff --- /dev/null +++ b/content/news/2022-01-16-aosc-os-9.zh-cn.md @@ -0,0 +1,15 @@ +--- +categories: + - advisories +title: "AOSC OS Core 9 发布" +date: 2022-01-16T23:14:41-08:00 +important: false +--- + +AOSC OS Core 9(代号“Icenowy”)将于今日推送至稳定源,主要更新系统基本运行时及工具链,包括 GNU C Library (Glibc) 2.34,GCC 11 及 Binutils 2.37。 + +尽管 Core 9 基本属于运行时更新,并已经过相当量的测试,但如果您在更新后发现使用问题,请前往 [AOSC 社区频道](https://t.me/+QVkNCQXYd_kAOMTX) 或 [aosc-os-abbs](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new/choose) 仓库报告问题。 + +--- + +— Mingcong Bai diff --git a/content/news/2022-01-26-glib-fam-ff-stability.md b/content/news/2022-01-26-glib-fam-ff-stability.md new file mode 100644 index 00000000..46a0f305 --- /dev/null +++ b/content/news/2022-01-26-glib-fam-ff-stability.md @@ -0,0 +1,22 @@ +--- +categories: + - advisories +title: "[SOLVED] GLib's FAM Module May Cause Stability Issues in Firefox" +date: 2022-01-26T14:58:13-08:00 +important: false +--- + +It recently came to our attention that with the Core 9 update, Firefox suffered +from stability issues. Firefox plugins may often crash, and browser tabs could +crash when dragging and dropping objects. We have since identified that FAM +(File Access Monitoring) module in GLib led to the aforementioned issues, but we +have yet to pin point the cause. Considering the upstream has +[removed the module](https://gitlab.gnome.org/GNOME/glib/-/commit/7427bb71), we +chose to workaround said issue by turning the FAM module off. + +`glib` v2.70.2-1, which includes the fix for the issue, will soon become available +from the stable repository. + +--- + +— Mingcong Bai, Kaiyang Wu diff --git a/content/news/2022-01-26-glib-fam-ff-stability.zh-cn.md b/content/news/2022-01-26-glib-fam-ff-stability.zh-cn.md new file mode 100644 index 00000000..f6f269b7 --- /dev/null +++ b/content/news/2022-01-26-glib-fam-ff-stability.zh-cn.md @@ -0,0 +1,15 @@ +--- +categories: + - advisories +title: "[已解决] GLib 的 FAM 模块可能导致 Firefox 稳定性问题" +date: 2022-01-26T14:58:15-08:00 +important: false +--- + +Core 9 更新后,我们留意到 Firefox 的稳定性欠佳,尤其是插件会经常崩溃;拖动页面对象也可能会导致标签页崩溃。我们发现这是 GLib 中的 FAM 模块导致的,但目前尚未了解清楚该模块为何会导致问题。考虑到上游目前已[移除该模块](https://gitlab.gnome.org/GNOME/glib/-/commit/7427bb71),我们选择通过关闭 FAM 特性解决问题。 + +该问题已在 `glib` v2.70.2-1 中修复,此更新会在近期进入稳定源。 + +--- + +— Mingcong Bai diff --git a/content/news/2022-04-27-nvidia-32.md b/content/news/2022-04-27-nvidia-32.md new file mode 100644 index 00000000..041d0942 --- /dev/null +++ b/content/news/2022-04-27-nvidia-32.md @@ -0,0 +1,25 @@ +--- +categories: + - advisories +title: "Recent NVIDIA Proprietary Driver Update May Report File Conflict Errors" +date: 2022-04-27T12:54:47-07:00 +important: true +--- + +A recent update to our NVIDIA proprietary driver package integrated both AMD64 +and optenv32 (i686) runtimes to help configure and run 32-bit software like +Steam more easily. However, a slight oversight in the package's metadata +resulted in `nvidia` 510.60.02 failing to replace files from the previous +`nvidia+32` package. + +We're currently working on a fix. If you encounter file conflict errors with +`nvidia` and `nvidia+32` when upgrading AOSC OS, please re-run the upgrade +command: + + sudo apt full-upgrade + +to work around the issue. No need to wait for a fixed package. + +--- + +— Mingcong Bai, Kaiyang Wu diff --git a/content/news/2022-04-27-nvidia-32.zh-cn.md b/content/news/2022-04-27-nvidia-32.zh-cn.md new file mode 100644 index 00000000..d007aaad --- /dev/null +++ b/content/news/2022-04-27-nvidia-32.zh-cn.md @@ -0,0 +1,21 @@ +--- +categories: + - advisories +title: "NVIDIA 专有驱动更新可能导致文件冲突问题" +date: 2022-04-27T12:54:52-07:00 +important: true +--- + +近期的 NVIDIA 专有驱动更新调整了软件包内容,同时包含 AMD64 及 optenv32 (i686) +运行时,以便配置和运行 32 位软件,如 Steam。但本次更新包含一处元信息错误,导致 +`nvidia` 510.60.02 无法正确替代先前 `nvidia+32` 的文件。 + +我们目前正在着手修复这一问题。如果您更新 AOSC OS 时遇到 `nvidia` 及 `nvidia+32` 的文件冲突错误,再次执行更新命令: + + sudo apt full-upgrade + +即可绕过这一问题,无需等待修复。 + +--- + +— Mingcong Bai diff --git a/content/news/2022-04-28-year-of-the-pc-110.md b/content/news/2022-04-28-year-of-the-pc-110.md new file mode 100644 index 00000000..8851c58e --- /dev/null +++ b/content/news/2022-04-28-year-of-the-pc-110.md @@ -0,0 +1,32 @@ +--- +categories: + - news +title: "Year of the PC 110!" +date: 2022-04-28T02:37:28-08:00 +important: false +--- + +Do you have a server or desktop computer with uptimes longer than a year? Well, +[Kevin](https://www.yyzkevin.com/) certainly has one. + +A year ago today, Kevin installed AOSC OS/Retro on his [IBM Palm Top PC 110](https://en.wikipedia.org/wiki/IBM_Palm_Top_PC_110) +and deployed a simple BusyBox Web server on it. The [website](http://pc110.yyzkevin.com) +hosts a simple message, a picture of the server in question, and a "CGI"-based +system status page... All on a 33MHz Intel 486SL processor and 20MiB of RAM. + +*And guess what, it's still up!* + +Besides a celebratory [Wayback Machine snapshot](https://web.archive.org/web/20220428112321/http://pc110.yyzkevin.com/), +here are some screenshots before it goes down in flames, now that it made the news... + +---- + +![homepage](https://i.imgur.com/4D0f5Qp.png) +Homepage + +![status-page](https://i.imgur.com/q7mGgcB.png) +Bash "CGI"-based Status Page + +--- + +— Mingcong Bai diff --git a/content/news/2022-04-28-year-of-the-pc-110.zh-cn.md b/content/news/2022-04-28-year-of-the-pc-110.zh-cn.md new file mode 100644 index 00000000..2656853f --- /dev/null +++ b/content/news/2022-04-28-year-of-the-pc-110.zh-cn.md @@ -0,0 +1,25 @@ +--- +categories: + - news +title: "一台 486 服务器的三百六十五天" +date: 2022-04-28T02:37:28-08:00 +important: false +--- + +在 Linux 爱好者圈子里,我们时常喜欢炫耀自己设备的连续在线时间 (uptime)。今天,来自加拿大的古董计算机爱好者 [Kevin](https://www.yyzkevin.com/) 的一台服务器也达成了连续在线一年的成就。 + +这台服务器可不一般。一年前,Kevin 在他的 [IBM Palm Top PC 110](https://en.wikipedia.org/wiki/IBM_Palm_Top_PC_110) 上安装了 AOSC OS/Retro 并部署了一个基于 BusyBox 的 Web 服务器。在这台搭载 33MHz 英特尔 486SL 处理器和 20MiB 内存的掌上电脑托管着一个 [简易网站](http://pc110.yyzkevin.com):主页展示着托管网站的服务器,另有一个基于 Bash 的 "CGI" 页面,实时展示机器的各项性能指标。 + +为庆祝这一壮举,笔者在 Wayback Machine 上保存了[该网站在这历史性的一天的快照](https://web.archive.org/web/20220428112321/http://pc110.yyzkevin.com/)。 + +---- + +![homepage](https://i.imgur.com/4D0f5Qp.png) +主页 + +![status-page](https://i.imgur.com/q7mGgcB.png) +基于 Bash 的 "CGI" 状态页面 + +--- + +— Mingcong Bai diff --git a/content/news/2022-05-05-mesa-update.md b/content/news/2022-05-05-mesa-update.md new file mode 100644 index 00000000..c3049487 --- /dev/null +++ b/content/news/2022-05-05-mesa-update.md @@ -0,0 +1,40 @@ +--- +categories: + - advisories +title: "Device Support Changes in the Upcoming Mesa 22.0.2 Update" +date: 2022-05-05T23:31:07-07:00 +important: true +--- + +AOSC OS will soon ship the Mesa 22.0.2 graphics stack. This version includes +driver modules for older devices re-written against the Gallium framework and +also dropped support for some devices. + +Among these devices: + +- Intel GMA 915/945 series integrated graphics (often found on devices with +Intel Pentium 4/Core/Core 2 CPUs) +- Intel GMA 960/X3100 integrated graphics, up to Intel Haswell/4th Gen Core +graphics (often found on devices with Intel Core 2 and up to 4th Gen Intel Core +CPUs) + +Will switch to use the new Gallium-based drivers named i915g and Crocus. Since +the drivers are relatively new, you may encounter usability or performance +issues. Should you encounter any problems or have questions about your device's +hardware support, please get in touch by +[reporting an issue](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&template=bug-report.yml). + +The new Mesa version also dropped OpenGL support for graphic cards based on the +ATI Radeon [R100](https://en.wikipedia.org/wiki/Radeon_R100_series) (a.k.a. +Radeon 7000 series) and [R200](https://en.wikipedia.org/wiki/Radeon_R200_series) +(a.k.a. Radeon 8000/9000 series) cores dropped. If you use these graphic cards +on your devices, you may experience degraded graphical performance (especially +when using the desktop environments with OpenGL composition and effects), most +OpenGL games will also fallback to software rendering. + +AOSC OS/Retro will continue to provide the old drivers for the devices listed +above by switching to Mesa's Long Term Support (LTS) branch + +--- + +— Mingcong Bai, Kaiyang Wu diff --git a/content/news/2022-05-05-mesa-update.zh-cn.md b/content/news/2022-05-05-mesa-update.zh-cn.md new file mode 100644 index 00000000..09ef10c9 --- /dev/null +++ b/content/news/2022-05-05-mesa-update.zh-cn.md @@ -0,0 +1,24 @@ +--- +categories: + - advisories +title: "Mesa 22.0.2 设备支持变更预报" +date: 2022-05-05T23:31:12-07:00 +important: true +--- + +AOSC OS 将于近期引入 Mesa 22.0.2 图形栈。该版本中基于 Gallium 框架重写了大多数老设备支持模块,也有一部分设备支持被丢弃。 + +其中: + +- Intel GMA 915/945 系列集成显卡(多见于搭载 Intel Pentium 4/Core/Core 2 系列处理器的设备) +- Intel GMA 960/X3100 至 Intel Haswell/四代酷睿处理器的集成及核心显卡(多见于搭载 Intel Core 2 至四代酷睿处理器的设备) + +将分别换用名为 i915g 及 Crocus 的新 Mesa OpenGL 驱动。由于该驱动相对较新,您可能会在使用过程中遇到一些可用性或性能问题。如遇到问题或有其他相关疑问,请[报告问题](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&template=bug-report.yml) 。 + +该版本还废弃了基于 ATI Radeon [R100](https://en.wikipedia.org/wiki/Radeon_R100_series)(即 Radeon 7000 系列)及 [R200](https://en.wikipedia.org/wiki/Radeon_R200_series)(即 Radeon 8000/9000 系列)核心的显卡的 OpenGL 支持。如果您的设备目前搭载这些显卡,您的图形体验可能会有一定恶化(尤其在使用包含 OpenGL 混成特效的桌面环境时),绝大多数 OpenGL 游戏也将回退到软件渲染。 + +AOSC OS/Retro 后续将换用 Mesa 的长期支持分支,继续提供上述设备的老驱动。 + +--- + +— Mingcong Bai diff --git a/content/news/2022-05-13-elvish-update.md b/content/news/2022-05-13-elvish-update.md new file mode 100644 index 00000000..c18b1c3e --- /dev/null +++ b/content/news/2022-05-13-elvish-update.md @@ -0,0 +1,32 @@ +--- +categories: + - advisories +title: "Cautions and Considerations Regarding the Upcoming Elvish 0.18.0 Update" +date: 2022-05-13T11:28:14-07:00 +important: true +--- + +An upcoming Elvish update from 0.14.1 to 0.18.0 may contain program behavior +changes. If you are currently using Elvish, you may encounter problems caused +by these behavior and feature changes after the update. + +Please consider consulting the Elvish release notes [^1] for changes contained +in the update. Should you encounter any problem after the update, you may find +corresponding sample issues and solutions in the "Breaking changes" and +"Deprecated features" sections, found in the release notes [^1]. + +We have uploaded the aforementioned update to the go-1.18-survey-20220401 topic +repository. You may test the update by enabling the topic using atm. Should you +encounter any issue or have other related questions/comments, please +[report an issue](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&template=bug-report.yml) +or get in touch with us via our IRC or Telegram channels. + +[^1]: Release notes +- 0.17 -> 0.18 [0.18.0-release-notes.md](https://github.com/elves/elvish/blob/v0.18.0/0.18.0-release-notes.md) +- 0.16 -> 0.17 [0.17.0-release-notes.md](https://github.com/elves/elvish/blob/v0.18.0/website/blog/0.17.0-release-notes.md) +- 0.15 -> 0.16 [0.16.0-release-notes.md](https://github.com/elves/elvish/blob/v0.18.0/website/blog/0.16.0-release-notes.md) +- 0.14 -> 0.15 [0.15.0-release-notes.md](https://github.com/elves/elvish/blob/v0.18.0/website/blog/0.15.0-release-notes.md) + +--- + +— Xuanning "Camber" Huang, Mingcong Bai diff --git a/content/news/2022-05-13-elvish-update.zh-cn.md b/content/news/2022-05-13-elvish-update.zh-cn.md new file mode 100644 index 00000000..9bf721ef --- /dev/null +++ b/content/news/2022-05-13-elvish-update.zh-cn.md @@ -0,0 +1,23 @@ +--- +categories: + - advisories +title: "Elvish 0.18.0 更新说明及预警" +date: 2022-05-13T11:28:17-07:00 +important: true +--- + +AOSC OS 将于近期的更新中将 Elvish 从版本 0.14.1 更新至版本 0.18.0。因本次更新版本跨度较大且包括较多行为改变。如果您正在使用 Elvish,可能会在更新后遇到程序行为更改或特性增减等变化导致的问题。 + +您可以通过通过 Elvish 发行注记了解本次更新的详细修改日志。[^1] 如果在版本更新后遇到因为行为改变而发生的问题,您可以在发行注记 [^1] 中 Breaking changes 与 Deprecated features 两节中找到对应的问题案例和解决方法。 + +目前该包已经上传至 go-1.18-survey-20220401 测试源中,您可以考虑使用 atm 工具测试这一更新。如遇到问题或有其他相关疑问,请考虑[报告问题](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&template=bug-report.yml) 或在社区 IRC 或 Telegram 群组中提出。 + +[^1]: 发行注记(英文) +- 0.17 -> 0.18 [0.18.0-release-notes.md](https://github.com/elves/elvish/blob/v0.18.0/0.18.0-release-notes.md) +- 0.16 -> 0.17 [0.17.0-release-notes.md](https://github.com/elves/elvish/blob/v0.18.0/website/blog/0.17.0-release-notes.md) +- 0.15 -> 0.16 [0.16.0-release-notes.md](https://github.com/elves/elvish/blob/v0.18.0/website/blog/0.16.0-release-notes.md) +- 0.14 -> 0.15 [0.15.0-release-notes.md](https://github.com/elves/elvish/blob/v0.18.0/website/blog/0.15.0-release-notes.md) + +--- + +— Xuanning "Camber" Huang diff --git a/content/news/2022-06-14-power-port-reboot.md b/content/news/2022-06-14-power-port-reboot.md new file mode 100644 index 00000000..2e6fbdd8 --- /dev/null +++ b/content/news/2022-06-14-power-port-reboot.md @@ -0,0 +1,24 @@ +--- +categories: + - advisories +title: "AOSC OS POWER (ppc64el) Port Reboot" +date: 2022-06-14T16:50:06-07:00 +important: true +--- + +In order to transition to the more upstream compliant 128-bit IEEE long double +ABI, AOSC OS will now reboot its POWER (`ppc64el`) port. For more details on +the rationales and caveats for this change, Fedora's Project Wiki offers a +[page](https://fedoraproject.org/wiki/Changes/PPC64LE_Float128_Transition) +detailing this change. Due to constraints with our build server's performance, +effective today and until the conclusion of this port reboot, we will suspend +all maintenance work on our current POWER port - this means no more feature, +bugfix, or security updates. If you are currently using our POWER port, we +advise that you switch to another POWER distribution for the meanwhile in order +to ensure your productivity and security. + +We apologise for any inconvenience and will update with port reboot status. + +--- + +— Mingcong Bai diff --git a/content/news/2022-06-14-power-port-reboot.zh-cn.md b/content/news/2022-06-14-power-port-reboot.zh-cn.md new file mode 100644 index 00000000..145381fa --- /dev/null +++ b/content/news/2022-06-14-power-port-reboot.zh-cn.md @@ -0,0 +1,15 @@ +--- +categories: + - advisories +title: "AOSC OS POWER (ppc64el) 架构移植重启" +date: 2022-06-14T16:50:06-07:00 +important: true +--- + +AOSC OS 将于近期重启 POWER (ppc64el) 架构移植,以便切换到更符合上游方向的 128-bit IEEE long double ABI(技术细节等详见 [Fedora Wiki 上的描述](https://fedoraproject.org/wiki/Changes/PPC64LE_Float128_Transition))。由于构建设备性能制约,在架构重启期间(即日起),POWER 架构将暂停维护——一切特性、维护及安全更新将不再提供。如果您正在使用 AOSC OS 的 POWER 移植,我们建议您在此期间切换到其他发行版以便保证生产力稳定及信息安全。 + +我们为此造成的一切不便表示歉意,并将及时更新移植重启状态。 + +--- + +— 白铭骢 diff --git a/content/news/2022-07-02-critical-shadow-security-fix.md b/content/news/2022-07-02-critical-shadow-security-fix.md new file mode 100644 index 00000000..452d3f85 --- /dev/null +++ b/content/news/2022-07-02-critical-shadow-security-fix.md @@ -0,0 +1,19 @@ +--- +categories: + - advisories +title: "Critical Shadow Security Fix" +date: 2022-07-02T17:14:19-07:00 +important: true + +--- + +It has recently came to our attention that `/etc/shadow` in all recent AOSC OS +installations are [readable for all users](https://github.com/AOSC-Dev/aosc-os-abbs/issues/4045). +To address this critical security vulnerability, we have now released a +security update. + +Please ensure that your system is updated to `shadow >= 4.10-1`. + +--- + +— Mingcong Bai diff --git a/content/news/2022-07-02-critical-shadow-security-fix.zh-cn.md b/content/news/2022-07-02-critical-shadow-security-fix.zh-cn.md new file mode 100644 index 00000000..dea9108a --- /dev/null +++ b/content/news/2022-07-02-critical-shadow-security-fix.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - advisories +title: "紧急安全更新:Shadow" +date: 2022-07-02T17:14:19-07:00 +important: true + +--- + +近日,AOSC OS 维护者发现系统中的 `/etc/shadow` 文件为[全用户可读](https://github.com/AOSC-Dev/aosc-os-abbs/issues/4045)。该问题属于严重安全漏洞,我们已为此推送安全更新。 + +请尽快将 shadow 更新至 `>= 4.10-1` 版本。 + +--- + +— Mingcong Bai diff --git a/content/news/2022-07-27-multimc5-migrate-to-polymc.md b/content/news/2022-07-27-multimc5-migrate-to-polymc.md new file mode 100644 index 00000000..9308539c --- /dev/null +++ b/content/news/2022-07-27-multimc5-migrate-to-polymc.md @@ -0,0 +1,34 @@ +--- +categories: + - advisories +title: "Recent Update Introduces PolyMC as Replacement for MultiMC 5" +date: 2022-07-27T15:23:41-07:00 +important: false +--- + +Due to issues with MultiMC 5's +[redistribution and copyright policies](https://github.com/MultiMC/Launcher#forkingredistributingcustom-builds-policy), +we could no longer provide branded MultiMC 5 package (multimc5). After the +removal of the package, please consider replacing MultiMC 5 with PolyMC (a +community driven launcher based on MultiMC 5). + +Please execute the following command to install PolyMC: + +``` +sudo apt install polymc +``` + +After installing PolyMC, please follow the +[migration guide](https://polymc.org/wiki/getting-started/migrating-multimc/#migrating-instances-from-multimc) +to migrate your Minecraft instances from MultiMC 5 to PolyMC. + +You may now remove MultiMC using the following command after migrating all +instances: + +``` +sudo apt remove multimc5 +``` + +--- + +— Kaiyang Wu diff --git a/content/news/2022-07-27-multimc5-migrate-to-polymc.zh-cn.md b/content/news/2022-07-27-multimc5-migrate-to-polymc.zh-cn.md new file mode 100644 index 00000000..72239e20 --- /dev/null +++ b/content/news/2022-07-27-multimc5-migrate-to-polymc.zh-cn.md @@ -0,0 +1,27 @@ +--- +categories: + - advisories +title: "近期更新引入 PolyMC 作为 MultiMC 5 替代" +date: 2022-07-27T15:23:43-07:00 +important: false +--- + +因 MultiMC 5 [重分发及版权政策](https://github.com/MultiMC/Launcher#forkingredistributingcustom-builds-policy) 问题,我们将不再提供 MultiMC 5 的软件包(`multimc5`)。在该软件包移除后,请使用 PolyMC(社区维护的基于 MultiMC 5 的启动器)替代 MultiMC 5。 + +请执行下列命令安装 PolyMC: + +``` +sudo apt install polymc +``` + +安装 PolyMC 后,请参考[迁移指南](https://polymc.org/wiki/getting-started/migrating-multimc/#migrating-instances-from-multimc)将 MultiMC 5 中保存的 Minecraft 实例迁移到 PolyMC 中。 + +在迁移完毕后便可执行下列命令移除 MultiMC 5: + +``` +sudo apt remove multimc5 +``` + +--- + +— Kaiyang Wu diff --git a/content/news/2022-08-26-recent-kernel-update-breaks-kvm.md b/content/news/2022-08-26-recent-kernel-update-breaks-kvm.md new file mode 100644 index 00000000..2a2d712b --- /dev/null +++ b/content/news/2022-08-26-recent-kernel-update-breaks-kvm.md @@ -0,0 +1,53 @@ +--- +categories: + - advisories +title: "Recent Kernel Update May Break Virtual Machines on Intel 11th Gen (or Newer) Platforms" +date: 2022-08-26T11:49:37-07:00 +important: true + +--- + +The Kernel 5.19.3 update, which recently made available, may result in boot +failures with virtual machines using BIOS/UEFI CSM boot modes. This issue has +been reproduced on Qemu and VirtualBox. In some cases, it may also result in +the host system freezing. + +Based on our preliminary investigation, this issue is possibly resulted from +the Intel IBT (Indirect Branch Tracking) feature, enabled with this Kernel +update. This feature is an effort to improve platform security with newer Intel +processors. The aforementioned issue has been fixed in Kernel 5.19.4 update, +which we will make available in the immediate future (see Reference 3). + +In the mean time, you may workaround this issue by appending the `ibt=off` +Kernel parameter. To do so, please edit `/etc/default/grub` with superuser +permission. For instance: + +``` +sudo nano /etc/default/grub +``` + +On the line starting with `GRUB_CMDLINE_LINUX_DEFAULT=`, append `ibt=off` +between the quotation marks. Please take care to separate this parameter with +others with one or more spaces. As follows: + +GRUB_CMDLINE_LINUX_DEFAULT="quiet rw rd.auto rd.auto=1 splash ibt=off" + +After which, execute: + +``` +sudo grub-mkconfig -o /boot/grub/grub.cfg +``` + +And reboot your device to apply changes. + +--- + +References: + +1. [User Report](https://bbs.archlinux.org/viewtopic.php?id=276699) on the Arch Linux forum (bug report attached within). +2. [Upstream Kernel bug report](https://bugzilla.kernel.org/show_bug.cgi?id=216332) (virtual machine boot failure). +3. Upstream Kernel patches ([1](https://lore.kernel.org/lkml/20220823080128.867380224@linuxfoundation.org/), [2](https://lore.kernel.org/lkml/20220823080128.907850538@linuxfoundation.org/)). + +--- + +— Mingcong Bai diff --git a/content/news/2022-08-26-recent-kernel-update-breaks-kvm.zh-cn.md b/content/news/2022-08-26-recent-kernel-update-breaks-kvm.zh-cn.md new file mode 100644 index 00000000..570a6d57 --- /dev/null +++ b/content/news/2022-08-26-recent-kernel-update-breaks-kvm.zh-cn.md @@ -0,0 +1,44 @@ +--- +categories: + - advisories +title: "近期内核更新可能导致虚拟机在 Intel 11 代(或更新)平台上不可用" +date: 2022-08-26T11:49:37-07:00 +important: true + +--- + +今日推送的 5.19.3 内核更新在 Intel 11 代或更新的处理器可能会导致使用 BIOS/UEFI CSM 模式启动的 KVM 虚拟机无法启动,该问题可以在 Qemu 及 VirtualBox 上复现。在某些情况下,甚至可能导致宿主机锁死。 + +经初步调查,该问题可能是本次更新开启的 Intel IBT (Indirect Branch Tracking) 功能导致的。该功能可用于改善平台安全性。内核 5.19.4 已解决该问题,我们将在近期推送该内核更新(见引用 3)。 + +在此之前,您可以通过追加内核参数 `ibt=off` 以便暂时解决问题。请编辑 `/etc/default/grub`: + +``` +sudo nano /etc/default/grub +``` + +并于该文件的 `GRUB_CMDLINE_LINUX_DEFAULT=` 行的双引号之间加入 `ibt=off` 参数,并注意与前一个参数用至少一个空格间隔开来。见下例: + +``` +GRUB_CMDLINE_LINUX_DEFAULT="quiet rw rd.auto rd.auto=1 splash ibt=off" +``` + +而后,请执行如下命令: + +``` +sudo grub-mkconfig -o /boot/grub/grub.cfg +``` + +并重启您的设备以应用更改。 + +--- + +引用: + +1. Arch Linux 论坛上的[用户报告](https://bbs.archlinux.org/viewtopic.php?id=276699)(内附发行版问题报告) +2. 内核[上游报告](https://bugzilla.kernel.org/show_bug.cgi?id=216332)(虚拟机启动失败) +3. 内核上游补丁([之一](https://lore.kernel.org/lkml/20220823080128.867380224@linuxfoundation.org/),[之二](https://lore.kernel.org/lkml/20220823080128.907850538@linuxfoundation.org/)) + +--- + +— Mingcong Bai diff --git a/content/news/2022-09-01-critical-design-flaw-in-livekit-installer.md b/content/news/2022-09-01-critical-design-flaw-in-livekit-installer.md new file mode 100644 index 00000000..4b06d62e --- /dev/null +++ b/content/news/2022-09-01-critical-design-flaw-in-livekit-installer.md @@ -0,0 +1,21 @@ +--- +categories: + - advisories +title: "Critical Design Flaw in LiveKit Installer" +date: 2022-08-31T23:12:55-07:00 +important: true + +--- + +We have discovered a critical design flaw in our current LiveKit Installer - +DeployKit ([aoscdk-rs](https://github.com/AOSC-Dev/aoscdk-rs)). This issue could +lead to destruction of metadata for devices without partition maps, which is +especially fatal for LUKS and MD-based soft RAID devices, rendering data +inaccessible on these devices. + +A new LiveKit release will be made available very soon. **Consider LiveKit +releases before 20220901 dangerous and unusable.** + +--- + +— Mingcong Bai diff --git a/content/news/2022-09-01-critical-design-flaw-in-livekit-installer.zh-cn.md b/content/news/2022-09-01-critical-design-flaw-in-livekit-installer.zh-cn.md new file mode 100644 index 00000000..e943421c --- /dev/null +++ b/content/news/2022-09-01-critical-design-flaw-in-livekit-installer.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - advisories +title: "LiveKit 安装程序存在严重问题" +date: 2022-08-31T23:12:55-07:00 +important: true + +--- + +我们在 LiveKit 中附带的安装程序 DeployKit ([aoscdk-rs](https://github.com/AOSC-Dev/aoscdk-rs)) 中发现一个严重问题,可能会导致无分区表数据设备中的元数据被意外销毁。这一问题可能导致 LUKS 及 MD 软 RAID 设备中的数据损毁。 + +我们即将推送带有修复 LiveKit 版本更新,请勿继续使用 20220901 前版本的 LiveKit! + +--- + +— Mingcong Bai diff --git a/content/news/2022-09-03-issues-with-thunderbird-102-2-0.md b/content/news/2022-09-03-issues-with-thunderbird-102-2-0.md new file mode 100644 index 00000000..f5a18c11 --- /dev/null +++ b/content/news/2022-09-03-issues-with-thunderbird-102-2-0.md @@ -0,0 +1,22 @@ +--- +categories: + - advisories +title: "Issues with Thunderbird 102.2.0" +date: 2022-09-02T23:12:55-07:00 +important: true + +--- + +We recently updated Thunderbird to version 102.2.0, but unfortunately, +we discovered an issue where Thunderbird may crash when opening an HTML email under certain circumstances. +We had determined the cause to be an incorrect optimization applied by LLVM compiler infrastructure when building with cross-program-language optimization enabled. +We plan to correct this issue in an upcoming update to the Thunderbird package update. +Stay tuned. + +We also changed the OpenPGP implementation in Thunderbird with sequoia-pgp to make Thunderbird more secure when encrypting and decrypting emails. +Since this is a new implementation, it has a very low chance of corrupting your Thunderbird PGP keyring storage. +Nevertheless, we strongly recommend you back up your Thunderbird personal profile to be safe. + +--- + +— Zixing Liu diff --git a/content/news/2022-09-03-issues-with-thunderbird-102-2-0.zh-cn.md b/content/news/2022-09-03-issues-with-thunderbird-102-2-0.zh-cn.md new file mode 100644 index 00000000..597480a9 --- /dev/null +++ b/content/news/2022-09-03-issues-with-thunderbird-102-2-0.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - advisories +title: "Thunderbird 102.2.0 有问题需要关注" +date: 2022-09-02T23:12:55-07:00 +important: true + +--- + +我们最近将 Thunderbird 软件更新到了 102.2.0 版本,但是我们发现在某些情况下,Thunderbird 可能会在打开 HTML 富文本邮件时崩溃。我们目前已确定此问题的原因是 LLVM 编译器设施在启用了跨语言优化时存在代码优化错误。不过我们计划在之后的 Thunderbird 更新中修正该优化错误,敬请期待! + +另外,我们在该版本中将 Thunderbird 的 PGP 密码学实现替换成了 sequoia-pgp。这样可以提高您在加密或解密 PGP 邮件时的安全性。由于这是一个较新的实现,该实现有非常低的概率会损坏您的 Thunderbird 密钥存储区。我们强烈建议您在更新前备份您的 Thunderbird 个人档案文件夹。 + +--- + +— Zixing Liu diff --git a/content/news/2022-09-13-aoscc-2022-info.md b/content/news/2022-09-13-aoscc-2022-info.md new file mode 100644 index 00000000..b6f0d478 --- /dev/null +++ b/content/news/2022-09-13-aoscc-2022-info.md @@ -0,0 +1,19 @@ +--- +categories: + - news +title: "Join Us Online at AOSCC 2022 This Weekend!" +date: 2022-09-13T17:32:21-07:00 +important: true + +--- + +As we continue to cope with the COVID-19 pandemic, this year's AOSCC will be +held online at our [Discord server](https://discord.gg/bzYDZkbw?event=1013262604002672641) on September 17th +(UTC +8 time). You may find detailed agenda and attendance information on our +[AOSCC 2022 Page](https://wiki.aosc.io/community/aoscc/2021/). + +We hope to see you there! + +---- + +— Mingcong Bai diff --git a/content/news/2022-09-13-aoscc-2022-info.zh-cn.md b/content/news/2022-09-13-aoscc-2022-info.zh-cn.md new file mode 100644 index 00000000..d123e16e --- /dev/null +++ b/content/news/2022-09-13-aoscc-2022-info.zh-cn.md @@ -0,0 +1,25 @@ +--- +categories: + - news +title: "AOSCC 2022 本周末开幕!" +date: 2022-09-13T17:32:27-07:00 +important: true + +--- + +AOSCC 2022 将于 UTC +8 本周六(9 月 17 日)早十时开幕,届时欢迎加入 Discord [#general 语音频道](https://discord.gg/bzYDZkbw?event=1013262604002672641) 参与 AOSCC 相关活动及讨论。 + +议程概览: + +— 社区项目开发报告及展示 +— 项目开发者闪电秀 +— 有关开源项目社区及生态系统的对话及讨论 +— 项目计划、工作流及开发工具相关讨论 + +由于新冠疫情的持续影响,本年度 AOSCC 将于线上举行。议程于 UTC +8 时间早十时开始,并持续至晚间。欢迎各位在各城市/地区组织线下活动。 + +具体议程请见 Wiki 站点的 [AOSCC 2022 页面](https://wiki.aosc.io/zh/community/aoscc/2022/)。 + +---- + +— Mingcong Bai diff --git a/content/news/2022-10-14-reboot-your-system-after-libffi-3.4.2-update.md b/content/news/2022-10-14-reboot-your-system-after-libffi-3.4.2-update.md new file mode 100644 index 00000000..747d8fb4 --- /dev/null +++ b/content/news/2022-10-14-reboot-your-system-after-libffi-3.4.2-update.md @@ -0,0 +1,19 @@ +--- +categories: + - advisories +title: "System Reboot May Be Required After libffi 3.4.2 Update to Prevent Stability Issues" +date: 2022-10-14T09:14:20-07:00 +important: false + +--- + +Based on our experience with the recent `libffi` 3.4.2 update, we suggest that +you reboot AOSC OS at your earliest convenience. After updating this package, +you may experience lock-ups when attempting to copy and paste texts and/or +other objects, or while trying to attach files in an e-mail client. + +Should you experience such issues, consider rebooting AOSC OS. + +--- + +— Mingcong Bai diff --git a/content/news/2022-10-14-reboot-your-system-after-libffi-3.4.2-update.zh-cn.md b/content/news/2022-10-14-reboot-your-system-after-libffi-3.4.2-update.zh-cn.md new file mode 100644 index 00000000..af451cb2 --- /dev/null +++ b/content/news/2022-10-14-reboot-your-system-after-libffi-3.4.2-update.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - advisories +title: "安装 libffi 3.4.2 更新后若不重启系统可能造成可靠性问题" +date: 2022-10-14T09:14:20-07:00 +important: false + +--- + +基于更新体验,我们建议在安装近期推送的 `libffi` 3.4.2 更新后尽快重启 AOSC OS,否则在复制文本、对象或在邮件客户端中尝试插入文件时可能会造成应用程序锁死及数据丢失。此时,重启系统可以解决该问题。 + +--- + +— Mingcong Bai diff --git a/content/news/2022-10-15-libffi-3.4.2-gnome-breakage.md b/content/news/2022-10-15-libffi-3.4.2-gnome-breakage.md new file mode 100644 index 00000000..8036c1b7 --- /dev/null +++ b/content/news/2022-10-15-libffi-3.4.2-gnome-breakage.md @@ -0,0 +1,31 @@ +--- +categories: + - advisories +title: "[SOLVED] GNOME May Be Unusable After libffi 3.4.2 Updates" +date: 2022-10-16T01:04:48-07:00 +important: true +--- + +We have discovered that the recent `libffi` 3.4.2 updates may cause issues with GDM and GNOME components/applications, and may render the GNOME desktop unusable. It is not yet clear which packages are affected, but we suspect that any GLib/GTK+-based applications are susceptible to this issue. We are currently investigating this issue and are actively working on a fix. If you are using such applications, please refrain from updating your system before further notice. + +**Update on 20221016 15:30 UTC+8: We have now made a fix available. See below.** + +--- + +Based on further investigation, we have found that this issue is caused by incompatibility between `gjs` 1.72.0 and `libffi` 3.4.2. This issue affects GDM and other GNOME applications that makes use of GJS. We have now made several updates available to address this issue. You may now safely update your system. + +If you are affected by this issue or are unable to perform the update in a graphical environment, please execute the following commands under TTY (accessed via Ctrl+Alt+Fx) after logging in with your account: + +``` +sudo apt update && sudo apt upgrade +``` + +In order to update your system. We suggest that you reboot your system after the update. + +Please note that depending on your selected mirror(s), updates may not be available until your specified mirrors have synchronised the relevant updates. You may have to wait several hours for the new updates to become available. + +Should you run into any further issues, please contact us at our [Telegram/IRC channels](https://aosc.io/zh-cn/contact/) or [open an issue](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&template=bug-report.yml) at our GitHub repository. + +--- + +— Camber Huang, Edited by Mingcong Bai diff --git a/content/news/2022-10-15-libffi-3.4.2-gnome-breakage.zh-cn.md b/content/news/2022-10-15-libffi-3.4.2-gnome-breakage.zh-cn.md new file mode 100644 index 00000000..96bb323d --- /dev/null +++ b/content/news/2022-10-15-libffi-3.4.2-gnome-breakage.zh-cn.md @@ -0,0 +1,31 @@ +--- +categories: + - advisories +title: "[已解决] libffi 3.4.2 相关更新可能导致 GNOME 不可用" +date: 2022-10-16T01:04:58-07:00 +important: false +--- + +我们发现近期推送的 `libffi` 3.4.2 相关更新可能会导致 GDM 或 GNOME 组件异常,并可能导致 GNOME 桌面无法启动。目前受到影响的软件范围未知,任何使用 GLib/GTK+ 组件的软件都有可能受到影响。我们已知悉相关问题并正在尝试解决。如果您正在使用相关套件,在进一步通知前请暂时不要更新系统。 + +**更新消息 20221016 15:30 UTC+8:该问题已修复,详阅下文** + +--- + +经调查,我们该问题是因为 `gjs` 1.72.0 与 `libffi` 3.4.2 存在兼容性问题而导致的。该问题波及 GDM 及使用 GJS 的部分 GNOME 组件。目前已针对该问题推送更新,现在您应该可以正常地更新系统了。 + +如果您受到该问题波及或无法正常在图形界面下进行系统更新,可以通过在 TTY 文本终端(通常通过 Ctrl+Alt+Fx 访问)下登录后执行: + +``` +sudo apt update && sudo apt upgrade +``` + +更新系统。我们建议您在更新后重启系统。 + +取决于您所使用的镜像源,上述更新可能需要在镜像源同步后才可用。这可能需要数小时时间。 + +如果您在更新后遇到任何问题,欢迎前往我们的 [Telegram/IRC 社区频道](https://aosc.io/zh-cn/contact/)报告,或在我们的 GitHub 仓库[新建问题报告](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&template=bug-report.yml)。 + +--- + +— Camber Huang, Edited by Mingcong Bai diff --git a/content/news/2023-02-10-amdgpu-mesa-llvm15-glitches.md b/content/news/2023-02-10-amdgpu-mesa-llvm15-glitches.md new file mode 100644 index 00000000..03e45ede --- /dev/null +++ b/content/news/2023-02-10-amdgpu-mesa-llvm15-glitches.md @@ -0,0 +1,34 @@ +--- +categories: + - advisories +title: "[SOLVED] AMD GPUs May Suffer from Display Artifacts After LLVM 15 Update" +date: 2023-02-09T22:55:48-07:00 +important: true + +--- + +This issue, caused by incompatibilities between Mesa and Link-Time +Optimisation (LTO), has been resolved with `mesa` v1:22.3.1-2. + +Ref: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6911 + +--- + +One of our AOSC OS maintainers has recently discovered that, after the LLVM +15.0.7 update, characters went missing in certain SDDM and KDE applications. +We are currently investigating this issue. If you use an AMD GPU, please do +not update your system until further notice. + +If you have already updated your system and are affected by this issue, please +downgrade your system using the following command: + +``` +sudo apt install mesa=1:22.3.1 +``` + +This should at least make your system usable. We apologise for any +inconvenience this may have caused. + +--- + +— Mingcong Bai diff --git a/content/news/2023-02-10-amdgpu-mesa-llvm15-glitches.zh-cn.md b/content/news/2023-02-10-amdgpu-mesa-llvm15-glitches.zh-cn.md new file mode 100644 index 00000000..23ebdb90 --- /dev/null +++ b/content/news/2023-02-10-amdgpu-mesa-llvm15-glitches.zh-cn.md @@ -0,0 +1,28 @@ +--- +categories: + - advisories +title: "[已解决] 更新至 LLVM 15 后 AMD 显卡可能出现显示错误" +date: 2023-02-10T22:58:58-07:00 +important: false + +--- + +该问题已通过早前推送的 `mesa` v1:22.3.1-2 修复。该问题是 Mesa 和链接时优化 (LTO, Link-Time Optimisation) 存在相容性问题造成的。 + +Ref: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6911 + +--- + +近日,有使用 AMD Ryzen APU 笔记本的开发者发现在更新 LLVM 15.0.7 后,SDDM 和 KDE 等界面出现了缺字的问题。我们目前正在调查这一问题,如果您在使用 AMD 显卡,在有进一步消息前请不要更新系统。 + +如果您已经更新系统,请通过如下命令降级系统: + +``` +sudo apt install mesa=1:22.3.1 +``` + +以暂时解决可用性问题,但届时 GL 将不可用。我们为此造成的不便表示歉意。 + +--- + +— Mingcong Bai diff --git a/content/news/2023-02-12-package-retirement-20230211.md b/content/news/2023-02-12-package-retirement-20230211.md new file mode 100644 index 00000000..db0cc140 --- /dev/null +++ b/content/news/2023-02-12-package-retirement-20230211.md @@ -0,0 +1,59 @@ +--- +categories: + - advisories +title: "700+ Packages Retired - What You Should Know" +date: 2023-02-11T22:55:48-07:00 +important: true + +--- + +Rationale +--------- + +Here's a little known fact, AOSC OS has been built upon the same source tree +since 2014. That's almost ten years worth of accumulated packages and code! + +Impressive, right? Well, not quite in the long run. As we examined our +maintenance statistics, we found at a not insignificant proportion of our +[ABBS Tree](https://github.com/AOSC-Dev/aosc-os-abbs) hasn't received any +update for more than two years. This has prompted us to start retiring +packages. How might this benefit users like you? + +1. Less unmaintained (orphaned) packages means less packages that may come + broken from the repository. You can be more confident about packages + working right out of the box. +2. Less work for us means more time to polish existing packages. Merely + compiling and packaging software is not enough for a good experience. Take + for example our KDE packages, we took time to discuss and test each + pre-installed component, [finding numerous areas for improvement](https://wiki.aosc.io/developer/minutes/20230204/). + It takes hours to work through each affected packages and implement fixes, + less time spent on seldom used packages means more time to spend on more + frequently used ones. + +Effect +------ + +What does this mean? This means that some packages that you may be using could +be removed from repository and will receive no further updates and fixes. +Continue using these package may potentially be risky, as security +vulnerabilities will no longer be addressed. To help you be aware of what +packages were retired, we have developed [Hunter](https://github.com/AOSC-Dev/hunter). + +Unless you removed `util-base` at some point, a system update should install +this tool automatically. Otherwise, execute the following command to do so: + +``` +# sudo apt install hunter +``` + +Then, simply run `hunter` to see a list of affected packages. + +Re-introducing Packages +----------------------- + +Want a package back in the repository? No problem, just let us know by filing +a [bug report](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&template=bug-report.yml). + +--- + +— Mingcong Bai diff --git a/content/news/2023-02-12-package-retirement-20230211.zh-cn.md b/content/news/2023-02-12-package-retirement-20230211.zh-cn.md new file mode 100644 index 00000000..c6249cc4 --- /dev/null +++ b/content/news/2023-02-12-package-retirement-20230211.zh-cn.md @@ -0,0 +1,40 @@ +--- +categories: + - advisories +title: "通知:软件源中移除了超过 700 个软件包" +date: 2023-02-11T22:55:48-07:00 +important: true + +--- + +导言 +---- + +您可能不知道,AOSC OS 的源码树从 2014 年开始维护至今已有接近十年。十年间,软件包和编译脚本不断累积,软件包仓库亦不断丰富。 + +根据我们最近对 [ABBS 树](https://github.com/AOSC-Dev/aosc-os-abbs) 的调查统计,有相当一部分软件在最近两年间没有过任何维护操作。这一现象说明了我们源码树维护不平均和不充分的事实,因此,我们决定将这些软件包从仓库中移除。那么,我们的这一行动对你有什么好处呢? + +1. 不受关注的软件包越少,坏包就越少。总地来说,我们仓库中的软件包可用性将有显著提升。 +2. 要维护的软件包越少,我们可用于仔细打磨每个软件包的时间和精力就越多。以 KDE 系列软件包为例,我们会定期对这些软件包的可用性和体验进行测试和调整,时常能找到[许多可以改进的地方](https://wiki.aosc.io/developer/minutes/20230204/)。修改和测试这类软件包非常耗时耗力,通过移除使用率较低的软件包,我们可以集中更多时间和精力去关注常用软件包的可用性和体验。 + +影响 +---- + +这次移除的软件包中可能有一部分是您正在使用的,而这些软件包将不会收到任何后续更新和修复。考虑到这些软件包在未来可能出现安全漏洞,我们不推荐继续使用这些软件包。为方便您辨识这些问题,我们开发了一个名为 [Hunter](https://github.com/AOSC-Dev/hunter) 的小工具。 + +Hunter 会随着 `util-base` 更新自动安装。如果您移除了这一软件包,则可以手动安装: + +``` +# sudo apt install hunter +``` + +而后,运行 `hunter` 以列出受影响的软件包。 + +重新引入软件包 +-------------- + +如果您希望 AOSC OS 重新引入某个软件包,请向我们[报告问题](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&template=bug-report.yml)。 + +--- + +— Mingcong Bai diff --git a/content/news/2023-02-25-omakase-preview.md b/content/news/2023-02-25-omakase-preview.md new file mode 100644 index 00000000..63b74aeb --- /dev/null +++ b/content/news/2023-02-25-omakase-preview.md @@ -0,0 +1,22 @@ +--- +categories: + - advisories +title: "Experimental AOSC OS Package Manager \"Omakase\" Now Available for Testing" +date: 2023-02-25T00:55:48-07:00 +important: false + +--- + +Our experimental package manager, Omakase (`oma`) is now available in our +testing (topic) repository. You may obtain Omakase by enabling the `oma-preview` +topic in `atm`, and executing the following command: + +``` +# apt install oma +``` + +We look forward to your feedback and suggestions. + +--- + +— Mag Mell diff --git a/content/news/2023-02-25-omakase-preview.zh-cn.md b/content/news/2023-02-25-omakase-preview.zh-cn.md new file mode 100644 index 00000000..c1d7bff6 --- /dev/null +++ b/content/news/2023-02-25-omakase-preview.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - advisories +title: "AOSC OS 实验性软件包管理器 Omakase 可供测试" +date: 2023-02-25T00:55:48-07:00 +important: false + +--- + +AOSC OS 的实验性包管理 Omakase (`oma`) 目前已进入测试源 (topic) ,使用 `atm` 选中 `oma-preview` 并执行 `apt install oma` 即可使用。 + +欢迎提供建议和反馈。 + +--- + +— Mag Mell diff --git a/content/news/2023-03-09-mozilla-xdg-desktop-portal.md b/content/news/2023-03-09-mozilla-xdg-desktop-portal.md new file mode 100644 index 00000000..31798658 --- /dev/null +++ b/content/news/2023-03-09-mozilla-xdg-desktop-portal.md @@ -0,0 +1,16 @@ +--- +categories: + - advisories +title: "Firefox and Thunderbird Update May Require System Reboot" +date: 2023-03-09T01:30:48-07:00 +important: true + +--- + +With the upcoming Firefox 110.0.1 and Thunderbird 102.8.0 updates, we have began to make use of XDG Desktop Portal to allow using desktop-environment-native file dialogs. This change should improve the experience while using both applications in KDE. + +However, as XDG Desktop Portal support needs to start with desktop environment sessions, you may need to restart AOSC OS. Otherwise, file dialogs may stop working. + +--- + +— Mingcong Bai diff --git a/content/news/2023-03-09-mozilla-xdg-desktop-portal.zh-cn.md b/content/news/2023-03-09-mozilla-xdg-desktop-portal.zh-cn.md new file mode 100644 index 00000000..097081de --- /dev/null +++ b/content/news/2023-03-09-mozilla-xdg-desktop-portal.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - advisories +title: "Firefox 及 Thunderbird 更新后需要重新启动系统" +date: 2023-03-09T01:30:48-07:00 +important: true + +--- + +我们即将推送的 Firefox 110.0.1 和 Thunderbird 102.8.0 中包含一项更改,即利用 XDG Desktop Portal 技术让上述两个应用使用桌面环境原生的文件对话框等。这一更改将明显提升 KDE 上使用 Firefox 和 Thunderbird 的体验。 + +因为各桌面的 XDG Desktop Portal 支持需要配合桌面会话启动,在更新后,请重启 AOSC OS 。在重启前,上述软件的文件对话框等可能无法使用。 + +--- + +— 白铭骢 diff --git a/content/news/2023-04-03-sddm-failed-to-remember-recently-used-session.md b/content/news/2023-04-03-sddm-failed-to-remember-recently-used-session.md new file mode 100644 index 00000000..330dd883 --- /dev/null +++ b/content/news/2023-04-03-sddm-failed-to-remember-recently-used-session.md @@ -0,0 +1,16 @@ +--- +categories: + - advisories +title: "[SOLVED] SDDM Does Not Remember Recently Used Session" +date: 2023-04-03T15:43:01+08:00 +important: true + +--- + +It has recently came to our attention that SDDM default to the first session type available and was unable to remember the last used session. If you have another package containing X11 session configuration(s), especially those ranked higher alphabetically than "Plasma", you may find that SDDM would start a desktop session that is not consistent with the last one you have used. + +This issue has been resolved with a recent update, please update `sddm` to `0.19.0-7` or newer. + +--- + +— Cyan diff --git a/content/news/2023-04-03-sddm-failed-to-remember-recently-used-session.zh-cn.md b/content/news/2023-04-03-sddm-failed-to-remember-recently-used-session.zh-cn.md new file mode 100644 index 00000000..fe41cc05 --- /dev/null +++ b/content/news/2023-04-03-sddm-failed-to-remember-recently-used-session.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - advisories +title: "[已解决] SDDM 无法记住上次登录使用的会话" +date: 2023-04-03T01:30:48+08:00 +important: true + +--- + +最近有维护者发现 SDDM 会默认选用第一个会话登录,且无法记住上次登录所使用的会话。如果您安装了其他带有 X11 会话的软件包,特别是该会话排列在 "Plasma" 前面的时候,输入密码后按回车登录可能无法启动您期望的桌面会话。 + +该问题已经通过最近的更新修复:将 `sddm` 更新到版本 `0.19.0-7` 即可。 + +--- + +— Cyan diff --git a/content/news/2023-04-05-mcfly-residual-config.md b/content/news/2023-04-05-mcfly-residual-config.md new file mode 100644 index 00000000..6567d68c --- /dev/null +++ b/content/news/2023-04-05-mcfly-residual-config.md @@ -0,0 +1,35 @@ +--- +categories: + - advisories +title: "Residual Configuration After McFly Update May Cause Errors" +date: 2023-04-05T13:43:01+08:00 +important: false + +--- + + +In our recent update to McFly, we deprecated a default setting to override the +Ctrl-R with McFly by removing `/etc/profile.d/mcfly.bash` from the package. +However, as this file was registered as a configuration file (`conffile`), it +will not be removed automatically. With this residual configuration, you may +encounter the following error while starting a shell session: + +``` +error: a value is required for '--append-to-histfile ' but none was supplied + +For more information, try '--help'. +``` + +You may resolve this issue by removing the residual file with the following +command: + +``` +sudo rm -v /etc/profile.d/mcfly.bash +``` + +After which, restart your shell or terminal, and the above error should no +longer occur. + +--- + +— Mingcong Bai diff --git a/content/news/2023-04-05-mcfly-residual-config.zh-cn.md b/content/news/2023-04-05-mcfly-residual-config.zh-cn.md new file mode 100644 index 00000000..785c37c1 --- /dev/null +++ b/content/news/2023-04-05-mcfly-residual-config.zh-cn.md @@ -0,0 +1,29 @@ +--- +categories: + - advisories +title: "McFly 更新后残留的命令行配置文件可能导致报错" +date: 2023-04-05T13:43:01+08:00 +important: false + +--- + + +近期的 McFly 更新中,我们通过删除 `/etc/profile.d/mcfly.bash` 废弃了 McFly 替代默认 Ctrl-R 界面的行为,但是由于这个文件属于配置文件,更新软件包后不会默认删除。因此,您可能会在启动命令行时看到如下错误: + +``` +error: a value is required for '--append-to-histfile ' but none was supplied + +For more information, try '--help'. +``` + +此时,请使用如下命令删除残留文件: + +``` +sudo rm -v /etc/profile.d/mcfly.bash +``` + +而后重启命令行或终端即可。 + +--- + +— 白铭骢 diff --git a/content/news/2023-06-23-hook-uname-residual-config.md b/content/news/2023-06-23-hook-uname-residual-config.md new file mode 100644 index 00000000..61fd99d4 --- /dev/null +++ b/content/news/2023-06-23-hook-uname-residual-config.md @@ -0,0 +1,23 @@ +--- +categories: + - advisories +title: "Recent `devel-base` Update May Require Manual Intervention" +date: 2023-06-23T21:00:00+08:00 +important: false + +--- + +A recent update to `devel-base` removed the `hook-uname` dependency, which +contains the shell configuration `/etc/profile.d/hook_uname.sh`. If you decide +to remove `hook-uname` as an unused package, you will need to also run... + +``` +sudo apt purge hook-uname +``` + +To ensure that its configuration files are removed. After which, please log-off +and login your user account to apply the configuration changes. + +--- + +— Mingcong Bai diff --git a/content/news/2023-06-23-hook-uname-residual-config.zh-cn.md b/content/news/2023-06-23-hook-uname-residual-config.zh-cn.md new file mode 100644 index 00000000..50e9178b --- /dev/null +++ b/content/news/2023-06-23-hook-uname-residual-config.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - advisories +title: "近期更新 `devel-base` 后可能需要手动干预" +date: 2023-06-23T21:00:00+08:00 +important: false + +--- + +近期更新的 `devel-base` 包中删除的 `hook-uname` 依赖中包含一处 Bash 配置 `/etc/profile.d/hook_uname.sh`。在更新软件包后如果自动卸载了这个包,请使用 `sudo apt purge hook-uname` 确保其配置文件已正确删除。 + +在完成此操作后,请重新登录当前用户。 + +--- + +— Mingcong Bai diff --git a/content/news/2023-07-06-aoscc-2023.md b/content/news/2023-07-06-aoscc-2023.md new file mode 100644 index 00000000..cb23ed82 --- /dev/null +++ b/content/news/2023-07-06-aoscc-2023.md @@ -0,0 +1,49 @@ +--- +categories: + - news +title: "AOSCC 2023 @ ShanghaiTech University: July 15 - 16th!" +date: 2023-07-06T10:00:00+08:00 +important: false + +--- + +AOSCC 2023 is coming up in less than two weeks. This year's AOSCC boasts a +featureful two-day schedule, with community project showcases, discussions, +and polls. Representatives from the FOSS industry will also join us to share +their stories and answer your questions. + +See: [AOSCC 2023 Agenda](https://wiki.aosc.io/zh/community/aoscc/2023/). + +## Call for Questions: "Of Loongson and You: Ask Us Anything" + +The recently released Loongson 5000-series chips based on the LoongArch +architecture demonstrated tangible performance gains and therefore attention +from the open source communities. At the same time, however, the contestations +and collaborations between the LoongArch community and the first-party became +a focal point. For this year's AOSCC, we have the fortune to have invited both +community contributors and employees from Loongson Technology to answer your +questions. + +In observation of the time period alloted to this session, please submit +your questions to [this questionnaire](https://forms.gle/QgdzPmcXqjwitmQm7) +**before this Sunday (July 9th).** + +## Lodging Guide + +We have announced a [lodging guide](https://wiki.aosc.io/community/aoscc/2023/#zhu-su-zhi-nan) +on our Wiki site, for your reference. + +## Attendee Registration + +As requested by the ShanghaiTech University, we will need to collect your +personal information prior to your entry. If you would like to attend AOSCC +in-person, please **fill in the [attendee registration form](https://forms.gle/vc8sd3yah7eMNmoP7) +before July 13th.** + +Note: Responses of this form is to be accessed only by AOSC representative +(Mingcong Bai) and ShanghaiTech's GeekPie representative (Feiran Qin), and +submitted to the university authorities. + +--- + +— Mingcong Bai diff --git a/content/news/2023-07-06-aoscc-2023.zh-cn.md b/content/news/2023-07-06-aoscc-2023.zh-cn.md new file mode 100644 index 00000000..e00f2403 --- /dev/null +++ b/content/news/2023-07-06-aoscc-2023.zh-cn.md @@ -0,0 +1,32 @@ +--- +categories: + - news +title: "AOSCC 2023:7 月 15 至 16 日,上科大见!" +date: 2023-07-06T10:00:00+08:00 +important: false + +--- + +距离今年 AOSCC 还有不到两周,本次聚会的日程繁多,不仅有社区项目相关的展示、讨论和投票,还有许多来自开源业界的代表们将会到场分享经验,回答问题。 + +详见:[活动日程](https://wiki.aosc.io/zh/community/aoscc/2023/) 。 + +## “龙芯与你:你问我答”问题征集 + +近年来,由 LoongArch 架构驱动的龙芯 5000 系列处理器展现出了相当可观的性能提升,亦在开源社区中收获了不少人气;与此同时,社区与企业的新旧世界之争与在上游的碰撞与交流也成为了最近几年 LoongArch 生态参与者们时刻关注的事情。本次 AOSCC 我们有幸邀请到了来自 LoongArch 社区的上游贡献者和龙芯中科的工程师们来一同介绍和解答各位的问题和疑惑。 + +考虑到日程安排较为紧凑,我们决定提前收集社区提问,请使用 [本问卷](https://forms.gle/QgdzPmcXqjwitmQm7) 提交您希望得到解答的问题。**请于本周日(7 月 9 日)前提交您的问题!** + +## 住宿指南 + +我们在 AOSCC 2023 的 Wiki 页面上发布了 [住宿指南](https://wiki.aosc.io/zh/community/aoscc/2023/#zhu-su-zhi-nan),供各位与会者参考。 + +## 与会者登记 + +由于本次 AOSCC 线下活动在上海科技大学举行,校方安保要求来访者登记个人信息。**有意参加线下活动的,请于 7 月 13 日前 [填写登记问卷](https://forms.gle/vc8sd3yah7eMNmoP7)。** + +注:本表格仅由社区代表(白铭骢)和 GeekPie 对接代表(秦斐然)查阅,并交由校方录入。 + +--- + +— Mingcong Bai diff --git a/content/news/2023-07-06-tmux-behavior-change.md b/content/news/2023-07-06-tmux-behavior-change.md new file mode 100644 index 00000000..87df2b67 --- /dev/null +++ b/content/news/2023-07-06-tmux-behavior-change.md @@ -0,0 +1,23 @@ +--- +categories: + - advisories +title: "Recent tmux Update May Change Its Default Behaviors" +date: 2023-07-06T16:00:00+08:00 +important: false + +--- + +Tmux (package name `tmux`) is an open-source terminal multiplexer pre-installed with all AOSC OS distributions. + +In a recent update (verson `3.3a`), we introduced a distribution configuration for Tmux which enables mouse mode by default. However, we found that this particular configuration is very unpopular and decided to revert it to upstream default (mouse mode off). This behavior change is introduced with package version 3.3a-1. + +If you are an active Tmux user using the default configuration, you may notice the aforementioned behavior change after a system upgrade. To keep mouse mode on after system upgrade, uncomment the following line in tmux's system-wide configuration file `/etc/tmux.conf` as instructed: + +```conf +# Turn on mouse mode +#set -g mouse on +``` + +--- + +— Camber Huang diff --git a/content/news/2023-07-06-tmux-behavior-change.zh-cn.md b/content/news/2023-07-06-tmux-behavior-change.zh-cn.md new file mode 100644 index 00000000..8be0bdab --- /dev/null +++ b/content/news/2023-07-06-tmux-behavior-change.zh-cn.md @@ -0,0 +1,23 @@ +--- +categories: + - advisories +title: "tmux 更新可能导致默认行为变化" +date: 2023-07-06T16:00:00+08:00 +important: false + +--- + +tmux 是一款终端复用器,预装于所有 AOSC OS 发行上。 + +在近期的更新(版本号 `3.3a`)中,我们引入了一个发行版默认配置,默认启用鼠标模式 (mouse mode)。然而,我们发现这一默认配置十分不受欢迎,并因此决定将其回滚至上游默认行为(即关闭鼠标模式)。该行为变化已于版本 `3.3a-1` 引入。 + +如果您使用 tmux 且使用我们的默认配置,您可能会在系统升级后注意到上述行为变化。若要在系统升级后保持鼠标模式开启,请按照指示在 tmux 的全局配置文件 `/etc/tmux.conf` 中取消下述注释: + +```conf +# Turn on mouse mode +#set -g mouse on +``` + +--- + +— Camber Huang diff --git a/content/news/2023-07-22-aoscc-2023-re-cap.md b/content/news/2023-07-22-aoscc-2023-re-cap.md new file mode 100644 index 00000000..3c193b4e --- /dev/null +++ b/content/news/2023-07-22-aoscc-2023-re-cap.md @@ -0,0 +1,95 @@ +--- +categories: + - news +title: "Back in Person! An AOSCC 2023 Recap" +date: 2023-07-22T10:00:00+08:00 +important: false + +--- + +After several years of pandemic and lockdowns, in 2023, AOSCC, our annual conference has finally returned to in-person format. Thanks to the support from ShanghaiTech University's GeekPie Association and university staff members, AOSCC 2023 was held at the university's Pudong campus between July 15 and 16th. This marks AOSCC's return to this venue since 2016. + +What a conference it was. This year, we were joined by over 120 attendees from different organizations, schools, and enterprises - a multi-fold increase over our last in-person conference in 2019. Amongst the attendees, we invited Wu Wei 吴伟 from the PLCT Lab, Chen Huacai 陈华才 from Loongson, Su Yunqinag 苏运强 from CIP United, Yu Changyuan 喻昌远 from the Shanghai Linux User Group (hereafter SHLUG), Zhang Yichi 张亦弛 from GeekPie, as well as our very own Liu Zixing 刘子兴 from Canonical. The event was also livestreamed on YouTube and Bilibili, with many interactions from our virtual attendees. + +![image: AOSCC 2023 Poster](/assets/news/poster.jpg "AOSCC 2023 Poster") + +AOSCC 2023 attendees were presented with a packed two-day schedule. Mingcong Bai 白铭骢, our community founder, delivered a keynote which offered recaps and outlooks for community works from aspects of culture, outreach, infrastructure, as well as the various community projects. Community contributor Fu Xiaoyuan 傅孝元 demoed AOSC OS's next-generation package management frontend, Omakase, and responded to questions from the audience. Contributors Liu Zixing 刘子兴 and Yang Xinhui 杨欣辉, along with Mingcong Bai 白铭骢 presented on automation infrastructures for AOSC OS maintenance, as well as porting and support update for various domestic Chinese microprocessors. + +The invited speakers also presented on a plethora of topics. Representatives and employees from the PLCT Lab, CIP United, GeekPie, SHLUG, and Canonical delivered presentations on a variety of topics and responded to questions from the audience. Given the high interest and popularity Loongson's latest 5000-series processors based on the LoongArch architecture enjoyed in-and-out of the open source circle, we assembled a Q&A session titled "Of Loongson and You: Ask Us Anything." There, Chen Huacai 陈华才 from Loongson sat down with Revy and Wang "xen0n" Xuerui 王雪瑞 to respond to community questions on the future of Loongson's hardware and software ecosystems. This marks the first time Loongson's corporate and community representatives conversed in a public sestting. We believe that such an occassion will not only help community understanding for Loongson's product and technical agendas, but also foster trust and mutual understanding between the two parties. + +![image: Loongson AMA](/assets/news/loongson.jpg "Loongson AMA") + +Outside of formal presentations, we also planned multiple lucky draws, assembled free discussion sessions, and distributed event souvenirs. We also set up a demo stand for domestic Chinese and Retro hardware. The line-up included a Loongson 3A5000-based desktop computer running AOSC OS's "New World" LoongArch port, an AArch64-based Phytium D2000/8 desktop computer, as well as an IBM ThinkPad X41 and a Vaio UX-58 running AOSC OS/Retro. + +![image: Retro device](/assets/news/vaio.jpg "Sony Vaio UX-58 Running AOSC OS/Retro") + +If you missed this year's AOSCC or would like to relish some of the highlights, we have uploaded replays on our community YouTube channel. [^1] All slide decks from the event is now available from [repo.aosc.io](https://repo.aosc.io/aosc-documentation/aoscc-2023/). We are working on editing recordings for presentation sessions and will upload them to our official Bilibili[^2] and YouTube[^3] channels, please stay tuned. Here, we would like to offer our utmost gratitude for our livestreaming workgroup. We will also release text transcripts for some of the sessions in the near future. + +For those who would like to obtain event souvenirs but did not make it in-person or did not get a set in time due to the sheer volume of attendees, we are currently planning a re-run for all souvenirs in the coming weeks. Please watch out for announcements and updates from the various community chat channels. + +AOSCC 2023 would not happen without the support from ShanghaiTech University's GeekPie Association and university staffs, as well as community donors and our peers from the aforementioned corporations. Thank you. We will begin planning for AOSCC 2024 in the coming months, we hope to see you again next year! + +![image: Photo of day 2](/assets/news/day_2.jpg "Group Photo") + +--- + +### About GeekPike + +ShanghaiTech University's GeekPie Association, or simply GeekPie, is a student group founded upon the principles of open source and sharing in 2014. GeekPie focuses on eight main areas - high-performance computing (HPC), blockchain, robotics, FPGA, systems and DevOps, application and Web development, informational security, as well graphics and imaging. GeekPie is the most geek-y student group in the whole of Shanghai. + +[GeekPie's Open Source Software Mirror](https://mirrors.shanghaitech.edu.cn/) is a public open source software mirror site operated by GeekPie. The mirror service include AOSC OS and tens of other open source software repositories. + +GeekPie has graciously supported AOSCC 2023 with venue, device, and instrumentations, their crucial contribution to the success of this year's AOSCC is much appreciated. + +- GeekPie's GitHub Homepage: + +### About the PLCT Lab + +The PLCT Lab, or Programming Language and Compiler Technology Lab, aims to become an open source leader in compiler technologies. PLCT Lab pushes for technical advancements in open source compilers and foundational system runtimes with its leadership in development, maintenance, and management of key basic infrastructural projects. + +The Tarsier Group is led by the PLCT Lab, with a goal to improve Linux distribution support for RISC-V to a level that equals or exceeds AArch64 platforms. Thanks to the hard work from interns and mentors from various communities, including that of our own, the project has seen significant achievements since its founding. AOSC OS has seen improvements to the quality of its RISC-V (`riscv64`) port thanks to this project. + +The PLCT Lab has sponsored several lucky draw items during AOSCC 2023, thank you. + +- The PLCT Lab's GitHub Homepage: +- The PLCT Lab's Internship Information Page: + +### About Loongson Technology + +Loongson Technology is the companhy behind the Loongson microprocessors, as well as its peripheral chip designs, sales, and services. + +AOSC OS supports MIPS-cored Loongson-based systems as a Tier 2 port. An experimental port for LoongArch-based systems is currently underway, we anticipate that it will become a Tier 1 port, amongst x86_64 (`amd64`) and AArch64 (`arm64`) in the coming year. + +- Loongson Technology's Homepage: +- Loongson Technology's GitHub Organization: + +### About CIP United + +CIP United is the sole licensor of MIPS IPs in China (including Hong Kong S.A.R. and Macau S.A.R.) and an IC design service. CIP United is currently working actively to improve the software and hardware ecosystems for the MIPS Revision 6 (MIPS R6) instruction set architecture. + +- CIP United's Homepage: + +### About Canonical + +Canonical is one of the key contributors to the open source software ecosystem. It is also the developer and maintainer of the popular Linux distribution, Ubuntu, providing enterprise-class support for the distribution and the company's various software solutions. Canonical is a London-based firm with offices in over 30 countries. + +- Canonical's Homepage: + +### About Shanghai Linux User Group (SHLUG) + +Shanghai Linux User Group (often abbreviated as SHLUG) is a local community assembled by Linux users in the Shanghai metropolitan area. SHLUG aims to promote Linux software, free software culture, software skills, forming a local support group for local Linux enthusiasts. + +SHLUG holds [Hacking Thursdays](https://www.shlug.org/about/#hacking-thursday) every Thursday, mainly driven by free-flow conversation. Every month, the group also holds [monthly meetups](https://www.shlug.org/about/#%E6%9C%88%E5%BA%A6%E8%AE%B2%E5%BA%A7monthly-meetup) where guest speakers presents on popular topics on free software and open source technologies, practical skills, as well as other topics contributive to fostering geek cultures. The group also has a mailing list, WeChat group, and Telegram channel for online communications, staying fast to its "promote, propagate, communicate, support" motto. + +- SHLUG's Homepage: +- SHLUG's Mailing List: +- SHLUG's Telegram Channel: + +--- + +Author: Camber Huang \<\> +Editor: Mingcong Bai \<\> + +[^1]: https://www.youtube.com/@aosc8526/streams +[^2]: https://space.bilibili.com/3494371531950426 +[^3]: https://www.youtube.com/@aosc8526 diff --git a/content/news/2023-07-22-aoscc-2023-re-cap.zh-cn.md b/content/news/2023-07-22-aoscc-2023-re-cap.zh-cn.md new file mode 100644 index 00000000..41df566a --- /dev/null +++ b/content/news/2023-07-22-aoscc-2023-re-cap.zh-cn.md @@ -0,0 +1,95 @@ +--- +categories: + - news +title: "重返线下:AOSCC 2023 回顾" +date: 2023-07-22T10:00:00+08:00 +important: false + +--- + +经历了数年的冠病大流行和疫情管控,安同开源社区的年度聚会 AOSCC 四年以来首次回到了线下。得益于上海科技大学 GeekPie 社团(以下简称 GeekPie)和相关老师的大力支持,AOSCC 2023 于 7 月 15 日至 16 日在上海科技大学浦东校区举行,并于 16 日下午圆满落幕。这也是 AOSCC 在时隔 7 年后再次回到上科大。 + +![image: AOSCC 2023 海报](/assets/news/poster.jpg "AOSCC 2023 海报") + +本次 AOSCC 在两天内共接待了来自不同社会团体、院校与企业共约 120 人参加,这一数字是往年与会人数的数倍。其中,我社也邀请到了来自 PLCT Lab 的吴伟老师、来自龙芯中科的陈华才老师、上海芯联芯的苏运强老师、上海 Linux 用户组(以下简称 SHLUG)的喻昌远老师、GeekPie 社团的张亦弛同学以及来自我社的 Canonical 职工刘子兴分享工作和技术经验。此外,活动全程在 YouTube 和哔哩哔哩等流媒体平台上进行直播,收到了大量来自观众的互动。 + +本次 AOSCC 活动类型多样:社区创始人白铭骢在第一天的主旨演讲中介绍了聚会日程安排并对我社过去一年的社区文化建设、外联、基础设施和项目等工作进行了回顾和展望;社区开发者傅孝元(宇宙眼镜人)对 AOSC OS 的下一代包管理器前端 Omakase 进行了展示,并回答了与会人员的相关提问;社区开发者刘子兴、杨欣辉和白铭骢在第二天的社区项目展示中对 AOSC OS 的自动化设施和信创硬件支持进行了简短介绍。 + +本次聚会中亦通过邀请嘉宾的形式进行了丰富的外联活动:来自 PLCT 实验室、芯联芯、GeekPie、SHLUG 和 Canonical 的代表和职工发表了相关主旨演讲并解答了在场观众的疑问。另一方面,考虑到 LoongArch 架构及龙芯 5000 系列处理器近期在开源社区内外受到高度关注和大量讨论,AOSCC 2023 特别组织了“龙芯与你:你问我答”环节,邀请来自龙芯中科的陈华才老师以及来自社区的 Revy 和王雪瑞 (xen0n) 两位活跃贡献者在会上就社区有关龙芯软硬件发展路线的提问进行了解答。本次问答环节代表着龙芯官方与社区代表首次在公开场合的对话,在丰富社区对龙芯的产品和技术部署了解的同时,也积极地促进了官方与社区之间的理解与互信。 + +![image: Loongson AMA](/assets/news/loongson.jpg "“龙芯与你:你问我答” 照片") + +在演讲活动以外,本次聚会亦进行了数场抽奖和吐槽会,并分发了纪念品。我们也在会场内设立了信创设备和古董 (Retro) 设备展示区,展出设备包括运行 AOSC OS 的龙芯 3A5000 台式机(LoongArch 新世界)和飞腾 D2000/8 台式机,以及运行 AOSC OS/Retro 的 IBM ThinkPad X41 和索尼 Vaio UX-58 等设备。 + +![image: Retro device](/assets/news/vaio.jpg "运行 AOSC OS/Retro 的索尼 Vaio UX-58") + +若您错过了本次 AOSCC 或想要回顾本次聚会的精彩瞬间,我们在社区的 YouTube[^1] 频道提供了本次活动的回播。本次聚会的所有幻灯片也均已在 [repo.aosc.io](https://repo.aosc.io/aosc-documentation/aoscc-2023/) 发布。相关演说剪辑亦将会在未来数日内陆续发布于我社哔哩哔哩[^2] 和 YouTube[^3] 官方频道中,届时请留意相关频道动态。在这里,我们就 AOSCC 直播组成员的努力表示衷心感谢。此外,部分演说的文字稿件也将在同一时间发布,敬请期待。 + +对于未能现场参会或是没能领取到纪念品的朋友,我们计划在近期对包括纪念衫在内的各类纪念品进行再版。如有意愿进行订购,请留意各社区频道的通知。 + +![image: Photo of day 2](/assets/news/day_2.jpg "合影") + +AOSCC 2023 的成功举办离不开上海科技大学 GeekPie 社团与校方各负责老师,以及相关企业和社区友人们的支持,在这里对这些组织和个人表示由衷感谢。接下来数月,我们将开展 AOSCC 2024 的初步筹备,希望届时与您再次相见! + +--- + +### 关于上海科技大学 GeekPie 社团 + +上海科技大学 GeekPie 学生社团,通称 GeekPie,是一个秉承开源共享理念的综合性科创社团,由上科大首届本科生创立于 2014 年。社团方向涵盖高性能运算、区块链、机器人、FPGA、运维架构、应用与 Web 开发、信息安全、图形图像八个领域,被评选为上海市最极客的社团。 + +[上海科技大学 GeekPie 开源镜像站](https://mirrors.shanghaitech.edu.cn/) 是一个由 GeekPie 社团运营维护的,面向公众的开源软件镜像站,镜像了包括 AOSC OS 在内的数十个开源软件源。 + +GeekPie 在 AOSCC 2023 中为我社提供了场地支持和部分设备支持。感谢 GeekPie 成员对本次活动的关键贡献。 + +- GeekPie 学生社团的 GitHub 主页: + +### 关于 PLCT 实验室 + +PLCT 实验室,全称程序语言与编译技术实验室。PLCT 致力于成为编译技术领域的开源领导者,推进开源工具链及运行时系统等软件基础设施的技术革新,具备主导开发和维护重要基础设施的技术及管理能力。 + +Tarsier 项目组由 PLCT 实验室主导,促进社区主流 Linux 发行版对于 RISC-V 平台的支持,以期达到或超过 AArch64 平台的支持程度。得益于来自包括我社在内的各社区实习生以及导师的支持,该项目已在各发行版中取得了显著成果,AOSC OS 亦在该项目的支持下,改善了 RISC-V (`riscv64`) 平台发行质量。 + +PLCT 实验室在本次 AOSCC 2023 中赞助了部分抽奖奖品。感谢 PLCT 实验室的对我社活动的支持。 + +- PLCT 实验室的 GitHub 主页: +- PLCT 实验室的实习生招募信息: + +### 关于龙芯中科技术股份有限公司 + +龙芯中科技术股份有限公司,简称“龙芯中科”,其主营业务为龙芯处理器及配套芯片的研制、销售及服务。 + +AOSC OS 对基于 MIPS 的龙芯 (`loongson3`) 实现了 Tier 2 的支持,此外正推进对 LoongArch 的实验性支持,有望在未来一年内成为与 x86_64 (`amd64`) 和 AArch64 (`arm64`) 平台同级的 AOSC OS 的 Tier 1 支持平台。 + +- 龙芯中科的主页: +- 龙芯中科的官方 Github 组织地址: + +### 关于上海芯联芯智能科技有限公司 + +上海芯联芯智能科技有限公司,简称芯联芯或 CIP United,其主营业务为 MIPS 在中国区的商业经营,以及相关 IP 供应和 IC 设计。目前芯联芯正在积极推动 MIPS Revision 6(简称 MIPS R6)相关软硬件生态的支持。 + +- 芯联芯的主页: + +### 关于科能 (Canonical) + +科能 (Canonical) 是开源软件生态的主要贡献者之一,也是主流 Linux 发行版 Ubuntu 的开发者和维护者,主营业务包括 Ubuntu 及相关软件的付费企业级支持。其总部位于英国伦敦,办公室遍布全球 30 余个国家。 + +- Canonical 的主页: + +### 关于上海 Linux 用户组 (SHLUG) + +上海 Linux 用户组 (Shanghai Linux User Group, SHLUG) ,是一个上海地区 Linux 用户自发组成的群体,立志于在上海地区推广 Linux 软件、宣传自由软件文化、交流 Linux 技术、帮助 Linux 爱好者。 + +SHLUG 目前组织的定期活动包括:每周四线下举行的 [Hacking Thursday](https://www.shlug.org/about/#hacking-thursday),主要内容以随意的聊天讨论为主;每月不定期举行的[月度分享或月度讲座](https://www.shlug.org/about/#%E6%9C%88%E5%BA%A6%E8%AE%B2%E5%BA%A7monthly-meetup),主题包括热门的自由软件和开源技术,或者大家比较关心的一些实用技巧,或者其他符合极客精神的内容。此外 SHLUG 也开通了电子邮件列表、微信群与 Telegram 频道供 LUG 成员进行线上交流,不断延续着“推广、宣传、交流、帮助”的创立初心。 + +- SHLUG 的主页: +- SHLUG 的邮件列表: +- SHLUG 的电报群: + +--- + +编辑:Camber Huang \<\> +校对:Mingcong Bai \<\> + +[^1]: +[^2]: +[^3]: diff --git a/content/news/2023-08-11-coffee-break.md b/content/news/2023-08-11-coffee-break.md new file mode 100644 index 00000000..1394af11 --- /dev/null +++ b/content/news/2023-08-11-coffee-break.md @@ -0,0 +1,163 @@ +--- +categories: + - journals +title: "Coffee Break: August Issue 1/2" +date: 2023-08-11T12:00:00+08:00 +important: false + +--- + +> "What would y'all like to drink today?" + +Thank you for reading "Coffee Break," AOSC's semi-monthly newsletter! Here, you will find summaries of development updates, community matters, and upcoming events in an accessible and fun fashion. This column is also used to publish interview transcripts with individuals and representatives from various groups, clubs, and industries and will be published as special issues. This column does not contain op-ed-type contents. + +AOSC OS Updates +--------------- + +In the past two months, besides routine maintenance on [AOSC OS](https://aosc.io/downloads), community developers also introduced many updates and fixes, as well as the accompanying applications and components. We hope that these updates will bring you enjoyment and productivity. + +### Introducing: Omakase + +Recently, [Omakase](https://github.com/AOSC-Dev/oma), the package manager we've tailor-made for AOSC OS, has been introduced to the community repository and will be installed automatically with an `admin-base` (administrative tools suite) update. Omakase is designed with the following goals in mind: + +- **Improving APT's interface:** Simplifying and clarifying user interfaces and administrative operations. +- **Protection against user errors:** By implementing clearer text prompts and undo/redo functionalities, Omakase can help prevent user-induced system malfunctions from occuring, saving time and energy. +- **Optimizing networking performance:** With support for HTTP/2 and a multi-threaded downloader, Omakase can update and install packages much more efficiently. +- **Enhancing user experience:** Re-organizing various subcommands and augmenting the search function to help you get stuff done more quickly. + +![oma-screenshot](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230811/imgs/omakase.png) + +Update your system today to test out `oma`, our brand-new package manager! As Omakase's is still very much a young project, there are many [new features and designs](https://repo.aosc.io/aosc-documentation/aoscc-2023/magmell/omakase.pdf) that are yet to be implemented. If you have any questions and suggestions, or have run into problems, please do [file an issue](https://github.com/AOSC-Dev/oma/issues/new)! + +Omakase is built upon Debian's [APT](https://wiki.debian.org/Apt) and remains functionally compatible with it. To help ease the transition, we will continue to pre-install APT along side Omakase with AOSC OS. + +### Stripping the LiveKit + +It's no news to anyone that AOSC OS is a heavy distribution. But as it is a price we paid for full feature sets and simplified dependency tree, downsizing the system where appropriate is also one way to improve user experience. + +Earlier this month, Yang Xinhui (GitHub: [@Cyanoxygen](https://github.com/Cyanoxygen)) submitted [an improvement](https://github.com/AOSC-Dev/aosc-mklive/commit/8339e1879cfe113bedcc3b30539057be50315677) to LiveKit's generation script to strip out rarely used fonts and man pages. After this change, we expect future LiveKit ISO images to be 200 – 300 MiB smaller. + +![livekit-screenshot](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230811/imgs/livekit.png) + +### AOSC OS/Retro is Now Considered Stable + +If you have any old (and even vintage) computers that you could not bear to throw away, our AOSC OS/Retro distribution can help you keep them running as useful devices. Late in July, we announced the stable releases for 32-bit x86 devices. With just 128 MiB of RAM, 3 GiB of storage space, and a VGA card, AOSC OS/Retro's full desktop is ready for you to enjoy. Oh - if you would care to install the system manually, AOSC OS/Retro's base system will run on just 32 MiB of RAM, 500 MiB of storage space, and an 486-class machine. + +![retro-screenshot](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230811/imgs/retro.png) + +AOSC OS/Retro's various other architectural ports will be made available later this year to help you keep more machines running. Stay tuned! + +### At a Glance: AOSC OS Updates + +A good number of updates made it into AOSC OS in the past two weeks, here are a few items of note: + +- Linux Kernel was updated to 6.4, improving compatibility with newer hardware, along with a fix for the issue where NVIDIA hybrid graphics on 12th generation Intel hardware would fail to start the graphical environment; Huawei's Qinyun desktop computers also saw usability improvement. +- Neofetch was updated to 7.3.9, fixing an issue where AArch64 processor models were displayed as "Yes." +- WPS Office now launches correctly on AArch64. +- The RIME input method engine is now usable on AArch64. +- Fixed an issue where htop miscounts core counts on processors with offlined cores. +- Fcitx's Moegirl Wiki dictionary ([fcitx-pinyin-moegirl](https://github.com/outloudvi/mw2fcitx)) was updated to 20230714, introducing new phrases. +- FeelUOwn music player was updated to 3.8.13, also introducing the Bilibili plugin. +- Blender was updated to 3.6 with user interface enhancements and new features. +- VirtualBox was updated to 7.0.10 to fix compatibility with Linux Kernel 6.4. +- [Ouch](https://github.com/ouch-org/ouch) was introduced to the repository as a one-stop command-line de/compression utility. + +### In the Oven + +To help testing our system updates, we created various "topic" repositories to deliver them to our users and maintainers. The following topic repositories were created earlier this week: + +- **AOSC OS Core 11 (`core-k`):** Updating the core system runtime: Glibc 2.37, GCC 13.2.0, Linux API Headers 6.4.7, and Zstd 1.5.5. +- **LLVM 16 and Rust 1.71 (`llvm-16.0.4`):** Introducing LLVM 16 and Rust 1.71, along with their new features and fixes, improving support for Loongson 1000 - 4000 series systems, as well as introducing D language support for IBM POWER systems. +- **OpenSSL 3.1.1 (`openssl-3.1.1`):** Introducing OpenSSL 3.1.1 to replaced the ageing OpenSSL 1.1 runtime. + +Changes from these topics will also make it to our work-in-progress LoongArch port, helping adopting LoongArch as an officially supported architecture. + +You may enable and test out the aforementioned updates with the following command: + +``` +sudo oma topics +``` + +Should you run into issues while using the topic repositories, please don't hesitate to get in touch for assistance. + +Community Updates +----------------- + +### New AArch64 Build Servers + +Thanks to generous donations from the friends from our community, we will deploy two new AArch64 build servers in the near future: + +- Lenovo ThinkSystem SR358F V2 with a 64-core Phytium FT2000+ processor and 128 GiB of RAM. +- Huawei TaiShan 200 with a 64-core Kunpeng 920 processor and 256 GiB of RAM. + +These new servers will tremendously ease our maintenance efforts towards AOSC OS for AArch64. + +![kp920](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230811/imgs/kp920.png) + +### Rebooting Our Outreaching Efforts + +Ever since we caught ourselves in a conflict at Baidu Tieba's Linux community, we have effectively halted all outreaching and promotional campaigns. Now that our projects and community are both maturing, we have decided to re-double our outreach and promotional efforts to expand our networks for friends and collaborators. + +The semimonthly issue you are reading right now is part of the aforementioned effort. So far, we have planned the following columns: + +- Coffee Break: Semimonthly Newsletters +- SIGILL: Rare and Unusual Hardware +- Retro: Retro Software and Hardware +- Live: In-Person Events + +"Coffee Break" issues are published every second and fourth Fridays at 12 P.M. UTC+8 time. Other columns are published irregularly per content and editing schedules. The English version of the aforementioned materials are published on the following platforms: + +- Our community portal +- Twitter/X: @aosc_dev + +We are also seeking coverage from Linux-related media to help spread the word. + +### AOSCC 2023 Souvenirs + +We are currently planning another batch for this year's AOSCC souvenirs - sticker packs, tote bags, and commemorative shirts. Please stay tuned for updates on our chat groups. + +Now "Hiring" +------------ + +AOSC is a community driven by volunteers, with many ideas but little manpower. The following are projects we plan to tackle in the near future. If you are interested in lending a hand, please join us via the QR codes listed below to get in touch. + +### New Community Portal + +Now that our current community portal has been deployed for over three years, its design issues are beginning to show - low space efficiency, poor visibility for news updates and downloads, etc. To address these problems, we commenced work to redesign the community portal. The image below showcases a mock-up for our new community portal for reference and constructive criticism. + +![portal](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230811/imgs/new-portal.png) + +The design characteristics of the new portal are as follows: + +- Inspired by [the original Windows XP homepage](https://web.archive.org/web/20011103050531/http://www.microsoft.com/windows/default.asp), the new design learns from its strong space efficiency and adapts the old design for the modern Web. +- More emphasis on community projects and news items, as well as commonly used links. +- Multi-dimensional navigation - quick navigation to the top-right, with links to the download and "about" page, as well as language settings; an always-visible navigation bar to the left; main content body to the right. +- A three-paned banner to help promote key items, below which lists news items, system downloads, and frequently-used links; to the bottom left is a variable section, also dedicated for key promotional items (e.g., AOSC OS feature showcase, or as needed, polls, crowdsourcing campaigns, and upcoming events). +- The website changes its colour schemes seasonally; color schemes can be specified for specific languages and during specific periods. + +We have now began to plan for implementation - join the discussion at our community chat groups! + +### Community Forum + +Though "old-fashioned," a forum can be a valuable platform for more serious discussions. Please get in touch with us if you are interested in moderating our forum. + +Come Chat! +---------- + +Most of our work are conducted over the Internet, come chat and work with us! Please note that most members of the following chat groups are Chinese speakers, but please feel free to ask for assistance and translation. + +### WeChat + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230811/imgs/wechat.jpg) + +### Tencent QQ + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230811/imgs/qq.jpg) + +### Telegram + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230811/imgs/telegram.png) + +### Discord + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230811/imgs/discord.png) diff --git a/content/news/2023-08-11-coffee-break.zh-cn.md b/content/news/2023-08-11-coffee-break.zh-cn.md new file mode 100644 index 00000000..fde71537 --- /dev/null +++ b/content/news/2023-08-11-coffee-break.zh-cn.md @@ -0,0 +1,164 @@ +--- +categories: + - journals +title: "安记冰室・八月上|创刊号" +date: 2023-08-11T12:00:00+08:00 +important: false + +--- + +> “你地饮滴咩呀——” + +欢迎阅读安同开源社区 (AOSC) 双周报《安记冰室》的创刊号!《安记冰室》旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +AOSC OS 快讯 +------------ + +在过去两周中,社区开发者们除继续对 [AOSC OS](https://aosc.io/zh-cn/downloads) 进行日常维护外,还为系统引入了许多更新、修复,推进了系统周边组件的开发,希望这些工作能为您的工作与娱乐生活带来便利。 + +### 初识 Omakase + +我们为 AOSC OS 量身定做的包管理前端 [Omakase](https://github.com/AOSC-Dev/oma) 正式进入主源,并将跟随 `admin-base`(管理套件)软件包的更新自动安装。Omakase 的主要设计目标有: + +- **改善 APT 的界面:** 让界面指引、报错及操作逻辑更为简洁易懂 +- **增强防呆机制:** 通过清晰的指引和操作撤销等机制,助您避免因粗心或其他原因造成系统故障,进而浪费时间和精力 +- **优化网络性能:** 使用 HTTP/2 和多线程下载等技术,大幅度加快软件包安装与更新 +- **提升使用效率:** 优化子命令布局,增强搜索功能,让您的系统管理体验更轻松明晰 + +![oma-screenshot](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230811/imgs/omakase.png) + +快更新系统,输入 `oma` 命令体验 AOSC OS 的全新包管理吧!Omakase 目前处在 1.0 的初期开发阶段,有许多[新特性与设计](https://repo.aosc.io/aosc-documentation/aoscc-2023/magmell/omakase.pdf)仍在规划当中,欢迎您就使用体验或问题,向我们提出批评建议或[提交问题报告](https://github.com/AOSC-Dev/oma/issues/new)! + +Omakase 基于来自 Debian 的 [APT](https://wiki.debian.org/zh_CN/Apt) 开发,并保持与 AOSC OS 先前使用的 APT 功能与行为兼容。为照顾 AOSC OS 老用户的使用习惯,我们将继续在系统中预装 APT,与 Omakase 共存。 + +### LiveKit 尺寸优化 + +虽说 AOSC OS 的丰满尺寸早已“臭名昭著”,但除了确保系统特性齐全和组件简化外,优化系统尺寸亦是改善用户体验的重要一环。 + +月初,杨欣辉 (GitHub: [@Cyanoxygen](https://github.com/Cyanoxygen)) 针对 LiveKit(AOSC OS 标准启动与安装环境)的生成脚本[提交了一项改进](https://github.com/AOSC-Dev/aosc-mklive/commit/8339e1879cfe113bedcc3b30539057be50315677),删除不常用字体和文档数据。通过此项改进,后续发布的 LiveKit 镜像将减重约 200 – 300 MiB。 + +![livekit-screenshot](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230811/imgs/livekit.png) + +### AOSC OS/Retro 正式版系统发布 + +如果您手上还有舍不得扔掉的古董电脑,我们针对老旧设备优化的 AOSC OS/Retro 系统可助您的古董电脑发挥余热,找到新的用途。七月底,我们发布了支持 32 位 x86 设备的 AOSC OS/Retro 正式版,目前,只需 128 MiB 内存、3 GiB 硬盘空间和 VGA 显示卡,您就可以享受完整的 AOSC OS/Retro 体验(小声说一句:如果您愿意手动安装基本系统,AOSC OS/Retro 在搭载 32 MiB 内存、500 MiB 硬盘的 486 机器上就能运行)! + +![retro-screenshot](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230811/imgs/retro.png) + +兼容其他架构的 AOSC OS/Retro 正式版系统亦将于年内陆续发布,为您手上各类稀奇古怪的老旧设备提供持续软件支持,敬请期待! + +### 更新速览 + +过去两周中我们为 AOSC OS 推送了许多更新,这里简要介绍其中几项: + +- Linux 内核更新至 6.4,改进硬件支持;此更新修复了 12 代 Intel/NVIDIA 双显卡无法启动图形界面的问题,并改善了对华为擎云系列台式机的兼容性 +- Neofetch 更新至 7.3.9,修复了 AArch64 设备上处理器型号错误显示为“Yes”的问题 +- 修复了 WPS Office 在 AArch64 设备上无法启动的问题 +- 修复了中州韵 (RIME) 输入法在 AArch64 设备上无法使用的问题 +- 修复了 htop 无法正确处理 CPU 核心下线状态的问题 +- Fcitx 的萌娘百科词库 ([fcitx-pinyin-moegirl](https://github.com/outloudvi/mw2fcitx)) 更新至 20230714,引入许多新词 +- FeelUOwn 播放器更新至 3.8.13,引入 Bilibili 搜索与播放插件 +- Blender 更新至 3.6,包含大量用户界面改进与新功能 +- VirtualBox 更新至 7.0.10,现兼容 Linux Kernel 6.4 +- 新增 [Ouch](https://github.com/ouch-org/ouch),一站式命令行压缩包管理工具 + +### 尝鲜预报 + +为更好地测试我们的系统更新,我们为不同类别的更新创建相应测试源,供用户与贡献者测试。本周,我们新增了如下几个测试源: + +- **AOSC OS Core 11 (`core-k`):** 更新系统核心运行时:Glibc 更新至 2.37,GCC 更新至 13.2.0,Linux API 头更新至 6.4.7,Zstd 更新至 1.5.5 +- **LLVM 16 与 Rust 1.71 (`llvm-16.0.4`):** 引入 LLVM 16 和 Rust 1.71 及其众多新特性,修缮了龙芯 1000~4000 系列支持,并为 IBM POWER 架构新增了 D 语言支持 +- **OpenSSL 3.1.1 (`openssl-3.1.1`):** 引入 OpenSSL 3.1.1 以替代老旧的 OpenSSL 1.1 运行时 + +这些测试源也将同步至我们的龙架构 (LoongArch) 前沿分支,并为引入将龙架构为 AOSC OS 正式支持的架构作准备。 + +输入如下命令方可随时加入或退出测试源: + +``` +sudo oma topics +``` + +如果您在使用如上测试源的过程中遇到问题,请随时联系我们,我们将尽力协助您修复问题。 + +社区快讯 +-------- + +### AArch64 构建服务器增列 + +得益于社区内朋友们的热心捐助,我们即将上线两台 AArch64 构建服务器: + +- 联想 ThinkSystem SR358F V2,搭载 64 核飞腾 FT2000+ 处理器,128 GiB 内存 +- 华为 TaiShan 200,搭载 64 核鲲鹏 920 处理器,256 GiB 内存 + +上线后,这些服务器将大幅度提高 AOSC OS AArch64 架构版本的维护效率。 + +![kp920](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230811/imgs/kp920.png) + +### 社区重启外宣工作 + +自从 2013 年在百度贴吧 Linux 吧引发冲突后,社区基本暂停了所有外联和宣发工作。2023 年,考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周五午间 12 时发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 + +### AOSCC 2023 纪念品 + +2023 年度 AOSCC 贴纸集、编织袋和纪念衫即将再版,请留意各群组讯息。 + +招工启事 +-------- + +AOSC 是由志愿者在业余时间组织和驱动的社区,想法众多但人力不足。以下是我们最近希望完成的一些工作,如果您有兴趣,欢迎通过“一起吹水”栏目中列出的任意方式与我们取得联系: + +### 社区新门户 + +目前的社区门户现已使用三年,一些设计上的问题也开始展现出来,比如布局效率低和新闻资讯、下载页面可见度低等,故近期开始着手设计新门户。下图为新门户页面设计稿,现征求建设性意见供贡献者参考;本次设计的主要目标和思考如下: + +![portal](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230811/imgs/new-portal.png) + +- 设计灵感来自 [Windows XP 的初版主页](https://web.archive.org/web/20011118061922/http://www.microsoft.com/china/windows/),取其空间利用所长,并将布局、配色和呈现内容等适配到现今浏览器技术和浏览习惯等 +- 着重展示社区项目和资讯板块,以及常用链接 +- 浏览逻辑:右上角为快捷导航区,包括下载页面、社区介绍和语言设置;左侧为主导航区,全站通用且全时可见,右侧为内容板块 +- 主页有三版面动态横幅区,展示需要着重宣传的内容,下方为固定的资讯要点、系统方案和常用链接板块,左下角为动态板块,亦用于需要着重展示的内容(如一般情况下展示 AOSC OS 特性,需要时改变为投票、众筹或活动介绍) +- 网站配色根据季节更改,另可根据语言设置,在特定期间显示独特配色(如在春节期间在中文页面上显示春节配色) + +目前我们已开始初步策划实现方式,欢迎来社区群聊一同出力~ + +### 社区论坛 + +论坛也许“老土”,但也不失为用于认真交流问答的好平台。如果您有兴趣参与论坛管理和维护,请联系我们。 + +一起吹水 +-------- + +互联网是我社的主要活动场所,欢迎来社区各群聊及语音频道交流玩耍: + +### 微信群 + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230811/imgs/wechat.jpg) + +### QQ 群 + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230811/imgs/qq.jpg) + +### Telegram 群组 + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230811/imgs/telegram.png) + +### Discord 语音频道 + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230811/imgs/discord.png) diff --git a/content/news/2023-08-25-coffee-break.md b/content/news/2023-08-25-coffee-break.md new file mode 100644 index 00000000..e9237c67 --- /dev/null +++ b/content/news/2023-08-25-coffee-break.md @@ -0,0 +1,194 @@ +--- +categories: + - journals +title: "Coffee Break: August Issue 2/2" +date: 2023-08-25T12:00:00+08:00 +important: false + +--- + +> "What would y'all like to drink today?" + +Thank you for reading "Coffee Break," AOSC's semi-monthly newsletter! Here, you will find summaries of development updates, community matters, and upcoming events in an accessible and fun fashion. This column is also used to publish interview transcripts with individuals and representatives from various groups, clubs, and industries and will be published as special issues. This column does not contain op-ed-type contents. + +AOSC OS Updates +--------------- + +In the past two months, besides routine maintenance on [AOSC OS](https://aosc.io/downloads), community developers also introduced many updates and fixes, as well as the accompanying applications and components. We hope that these updates will bring you enjoyment and productivity. + +### AOSC OS/Retro Renamed "Afterglow" + +AOSC OS/Retro's naming was originally a play on IBM's OS/2. More recently, the distribution's naming was criticized for its lack of creativity and that it is tongue-twisting. After a few rounds of brainstorming with members of the AOSC Retro group, a new name, Afterglow, was chosen to take AOSC OS/Retro's place. Afterglow, taking its name from the last ray of light before nighttime and flashbacks of good memories, will keep your old favorites going. + +![Afterglow running on an IBM ThinkPad X41](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230825/imgs/x41-afterglow.jpg) + +### New Visual IDs for System Distributions + +This week, with input from the community, we have finalized the designs for our system distributions - AOSC OS and Afterglow. + +![New visual IDs for our system distributions](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230825/imgs/new-logos.png) + +- For AOSC OS, we have re-introduced the four colours from our community logo. The logo, employing depth illusions, resembles a pavement, stepping up like a stair case. AOSC OS, with its simplicity and reliability, helps users progress in their everyday work and life. +- For Afterglow, the new logo takes the shape of a meteor shower and makes use of an afterglow-inspired color palette. Staying true to its name, Afterglow will continue to provide support for ageing devices, extracting the last bit of life out of the old classics. + +You may download the aforementioned logos and visual ID designs from our [GitHub repository, AOSC-Dev/logo](https://github.com/AOSC-Dev/logo). + +### Sneak Peek: Omakase 1.1 + +As [Omakase](https://github.com/AOSC-Dev/oma) 1.0 enters our system distribution, [Xiaoyuan "Mag Mell" Fu](https://github.com/eatradish) was already hard at work developing Omakase 1.1. At the time of publicaiton, Omakase 1.1's development is mostly complete and testing will commence this wekeend. + +Omakase 1.1 focuses on bringing improvements on the following fronts: + +- **Modularity** - Clean up project code and componentizing them to help other developers make use of Omakase features +- **System integration** - Omakase will now detect power state and control system power/session management, preventing unexpected failures during package management operations +- **UI improvements** - Introducing an easier-to-understand history and undo interface; confirmation interfaces will now be printed on terminal scrollback for easy review +- **Performance optimisation** - Parallelized download and extraction makes for much quicker metadata refresh operations + +We will demo and review Omakase 1.1's changes during our contributor meetings on Sunday at 2 P.M., UTC+8 time. Join us at our [Discord server](https://discord.gg/VYPHgt9)! + +### At a Glance: AOSC OS Updates + +#### System Components + +A good number of updates made it into AOSC OS in the past two weeks, here are a few items of note: + +- [Omakase](https://github.com/AOSC-Dev/oma) was updated to 1.0.7, fixing an issue where `oma` would fail to fetch metadata from flat (simple) repositories and adds LoongArch build support +- Mesa graphical stack was updated to 23.1.4, optimising performance and usability for various mainstream graphics chips (especially for Steam Deck) +- Rust was updated to 1.71.0 +- LLVM was updated to 16.0.6 and is again usable on MIPS +- LDC was updated to 1.32.2, adding support for our POWER (`ppc64el`) and MIPS-based Loongson 3 (`loongson3`) ports +- curl was updated to 8.1.1, fixing several security vulnerabilities +- yt-dlp was updated to 2023.07.06, fixing and adding support for various streaming sites +- Fcitx's Moegirl Wiki dictionary ([fcitx-pinyin-moegirl](https://github.com/outloudvi/mw2fcitx)) was updated to 20230814, introducing new phrases. +- fail2ban was updated to 1.0.2, fixing an issue where the system service would fail to start +- e2fsprogs was update to 1.47.0, fixing a compatibility issue with ext4 filesystems created with newer versions of the tool, where `fsck.ext4` would complain about a missing feature +- FreeRDP was updated to 2.10.0, fixing random crashes +- Remmina was updated to 1.4.31, fixing an issue where copying from Adobe Acrobat and other WPF-based Windows applications would result in a short hang +- [Bash configuration](https://github.com/AOSC-Dev/bash-config)was updated to 0.4.7.7, fixing an issue where the `cd` command completion returns variable names +- Fixed an issue where VirtualBox references non-existing kernel module versions during updates +- [System installer (DeployKit)](https://github.com/AOSC-Dev/aoscdk-rs) was updated to 0.9.5, fixing an issue where AArch64 devices would fail to boot into GRUB after installation, optimising installation performance for Afterglow, adding LoongArch build support + +#### New Packages + +We introduced a few packages into the AOSC OS repository in the past two weeks: + +- Distrobox (`distrobox`) - Quickly deploy Linux distributions in containers +- EDID Decode (`edid-decode`) - EDID data decoder +- gitoxide (`gitoxide`) - A Git implementation in Rust +- HW PROBE (`hw-probe`) - A device listing and testing utility +- JetBrains Mono (`jetbrains-mono`) - A Monospace font for developers from JetBrains, an IDE developer +- lldpd (`lldpd`) - Tools and libraries for the Link Layer Discovery Protocol (LLDP) +- Taskwarrior (`taskwarrior`) - A command-line personal task manager + +#### Peripheral Projects + +- [aosc-mklive](https://github.com/AOSC-Dev/aosc-mklive) can now generate Afterglow LiveKit images at the size of a single CD (approximately 700 MiB) + +#### Development Tools + +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) was updated to 1.6.94, adding support for dpkg Pre-Depends and improving the Rust build template + +### In the Oven + +To help testing our system updates, we created various "topic" repositories to deliver them to our users and maintainers. The following topic repositories were created earlier this week: + +- **AOSC OS Core 11 (`core-k`):** Updating the core system runtime: Glibc 2.37, GCC 13.2.0, Linux API Headers 6.4.7, and Zstandard 1.5.5 +- **Bash Profile Clean-up Survey (`etc-profile-cleanup-survey-20230614`):** Surveying Bash profile scripts in various packages and moving them to more standardised locations; profile scripts should now apply properly on non-login sessions (such as graphical terminal emulators) +- **Linux Kernel Survey for August(`linux-kernel-survey-20230825`):** Updating the mainline kernel to 6.4.10, Long-Term Support (LTS) kernel to 6.1.45, addressing a recently disclosed security flaw in AMD processors ([CVE-2023-20569](https://www.cve.org/CVERecord?id=CVE-2023-20569)) +- **OpenSSL 3.1.1 (`openssl-3.1.1`):** Introducing OpenSSL 3.1.1 to replaced the ageing OpenSSL 1.1 runtime +- **Security Survey 2023H1/Libtiff (`security-survey-2023h1-libtiff`):** Updating libtiff to 4.5.1, rebuilding and updating affected packages + +Changes from these topics will also make it to our work-in-progress LoongArch port, helping adopting LoongArch as an officially supported architecture. + +You may enable and test out the aforementioned updates with the following command: + +``` +sudo oma topics +``` + +Should you run into issues while using the topic repositories, please don't hesitate to get in touch for assistance. + +Community Updates +----------------- + +### OSPP 2023 Project Updates + +This year, community contributors [Mingcong Bai](https://github.com/MingcongBai) and [Camber Huang](https://github.com/CamberLoid) became mentors for two of our [OSPP 2023](https://summer-ospp.ac.cn/) projects. The projects are moving along nicely. + +In the past month, [Wantao Liu](https://github.com/LWanTao/) worked to improve Simplified Chinese localisation (zh_CN) for the Trinity Desktop Environment and restructured our L10n guide into [a website](https://lwantao.github.io/l10n4zh-cookbook/); Wantao's work will help improve Afterglow's user experience for Simplified Chinese users and provide a nice reference site for our future L10n work. [leedagee](https://github.com/leedagee) developed an automatic package testing framework for Autobuild3, providing essential tools for quality assurance for our maintenance automation effort. + +You may find more details on the aforementioned projects, students, and mentors through the links below: + +- [Autobuild3 Automated Package Testing Framework](https://summer-ospp.ac.cn/org/prodetail/23f3e0033) +- [Chinese Only: Simplified Chinese Free and Open Source Software Localisation](https://summer-ospp.ac.cn/org/prodetail/23f3e0032) + +### Now Taking Orders: AOSCC 2023 Sticker Pack + +The AOSCC sticker pack for 2023 has been re-printed and is now available for order. Each set (with two pages) will be sold at 10 CNY to reimburse the cost of printing and shipping. This batch of stickers should be more durable, thanks to a more scratch-resistant laminate. + +Please order your stickers with [this form](https://forms.gle/Ba8GJoxkVGBqdSEr5). + +Now "Hiring" +------------ + +AOSC is a community driven by volunteers, with many ideas but little manpower. The following are projects we plan to tackle in the near future. If you are interested in lending a hand, please join us via the QR codes listed below to get in touch. + +### New Community Portal + +Now that our current community portal has been deployed for over three years, its design issues are beginning to show - low space efficiency, poor visibility for news updates and downloads, etc. To address these problems, we commenced work to redesign the community portal. The image below showcases a mock-up for our new community portal for reference and constructive criticism. + +![portal](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230825/imgs/new-portal.png) + +The design characteristics of the new portal are as follows: + +- Inspired by [the original Windows XP homepage](https://web.archive.org/web/20011103050531/http://www.microsoft.com/windows/default.asp), the new design learns from its strong space efficiency and adapts the old design for the modern Web. +- More emphasis on community projects and news items, as well as commonly used links. +- Multi-dimensional navigation - quick navigation to the top-right, with links to the download and "about" page, as well as language settings; an always-visible navigation bar to the left; main content body to the right. +- A three-paned banner to help promote key items, below which lists news items, system downloads, and frequently-used links; to the bottom left is a variable section, also dedicated for key promotional items (e.g., AOSC OS feature showcase, or as needed, polls, crowdsourcing campaigns, and upcoming events). +- The website changes its colour schemes seasonally; color schemes can be specified for specific languages and during specific periods. + +We have now began to plan for implementation - join the discussion at our community chat groups! + +### Community Forum + +Though "old-fashioned," a forum can be a valuable platform for more serious discussions. Please get in touch with us if you are interested in moderating our forum. + +Come Chat! +---------- + +Most of our work are conducted over the Internet, come chat and work with us! Please note that most members of the following chat groups are Chinese speakers, but please feel free to ask for assistance and translation. + +### WeChat + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230825/imgs/wechat.jpg) + +### Tencent QQ + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230825/imgs/qq.jpg) + +### Telegram + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230825/imgs/telegram.png) + +### Discord + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230825/imgs/discord.png) + +Community Outreach +------------------ + +Ever since we caught ourselves in a conflict at Baidu Tieba's Linux community, we have effectively halted all outreaching and promotional campaigns. Now that our projects and community are both maturing, we have decided to re-double our outreach and promotional efforts to expand our networks for friends and collaborators. + +The semimonthly issue you are reading right now is part of the aforementioned effort. So far, we have planned the following columns: + +- Coffee Break: Semimonthly Newsletters +- SIGILL: Rare and Unusual Hardware +- Retro: Retro Software and Hardware +- Live: In-Person Events + +"Coffee Break" issues are published every second and fourth Fridays at 12 P.M. UTC+8 time. Other columns are published irregularly per content and editing schedules. The English version of the aforementioned materials are published on the following platforms: + +- Our community portal +- Twitter/X: @aosc_dev + +We are also seeking coverage from Linux-related media to help spread the word. diff --git a/content/news/2023-08-25-coffee-break.zh-cn.md b/content/news/2023-08-25-coffee-break.zh-cn.md new file mode 100644 index 00000000..d25aa7e2 --- /dev/null +++ b/content/news/2023-08-25-coffee-break.zh-cn.md @@ -0,0 +1,195 @@ +--- +categories: + - journals +title: "安记冰室・八月下" +date: 2023-08-25T12:00:00+08:00 +important: false + +--- + +“练绣廉些米?” + +欢迎阅读安同开源社区 (AOSC) 双周报——《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +AOSC OS 快讯 +------------ + +在过去两周中,社区开发者们除继续对 [AOSC OS](https://aosc.io/zh-cn/downloads) 进行日常维护外,还为系统引入了许多更新、修复,推进了系统周边组件的开发,希望这些工作能为您的工作与娱乐生活带来便利。 + +### AOSC OS/Retro 更名:星霞 (Afterglow) + +AOSC OS 的 Retro 版本最初取名仿照 IBM OS/2,即 AOSC OS/Retro。但社区有批评全名读起来拗口、Retro 命名无聊浅显等。AOSC Retro 小组经过数轮头脑风暴,选出了星霞 (Afterglow) 这个新名称,取义“落日余晖”、“晚霞”和“美好回忆”,让您喜爱的老旧设备发挥余热。 + +![运行于 IBM ThinkPad X41 上的 Afterglow](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230825/imgs/x41-afterglow.jpg) + +### 发行版新视觉 ID + +本周,综合社区意见重新设计的 AOSC OS 及 Afterglow(原 AOSC OS/Retro)视觉 ID 上线: + +![社区发行版新视觉 ID 展示](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230825/imgs/new-logos.png) + +- AOSC OS(中译:安同OS)新徽标重新启用社区四色元素,以“街砖”为元素,综合 3D 远近关系展现类似阶梯的视觉效果,体现 AOSC OS 简明及可靠的特质,为用户的工作和生活的进步添砖加瓦。 +- Afterglow(中译:星霞OS)新徽标以流星为视觉元素,配色则以落日余晖为题,体现 Afterglow 为老旧设备持续提供支持,助其发挥余热的本心。 + +我社各种徽标、视觉 ID 设计稿等均可从 [GitHub 仓库 AOSC-Dev/logo](https://github.com/AOSC-Dev/logo) 下载。 + +### Omakase 1.1 展望 + +在 [Omakase](https://github.com/AOSC-Dev/oma) 1.0 进入基本系统之际,开发者[傅孝元](https://github.com/eatradish)已经在同步推进 1.1 分支的开发工作。至截稿时,Omakase 1.1 的开发工作业已基本完成,并将于本周末转入测试调整。 + +Omakase 1.1 的主要开发目标有: + +- **模块化:** 整理代码,方便其他开发者利用 Omakase 特性 +- **系统集成:** 自动检查电源条件,控制系统电源及会话管理,有效避免意外故障 +- **界面进化:** 重新设计历史及撤销功能,操作历史、回放及撤销界面更简明易懂;各项操作确认后,向终端回显操作内容,以便查阅 +- **性能优化:** 优化下载及解压逻辑,源数据刷新大幅度增速 + +我们将于 UTC+8 时间本周日下午二时的贡献者例会中就 Omakase 1.1 的设计进行展示及讨论,届时欢迎来[我社 Discord 语音频道](https://discord.gg/VYPHgt9)参与讨论。 + +### 更新速览 + +#### 系统组件 + +过去两周中我们为 AOSC OS 推送了许多更新,这里简要介绍其中几项: + +- [Omakase](https://github.com/AOSC-Dev/oma) 更新至 1.0.7,修复无法刷新简单软件源 (Flat Repo) 元数据的问题,新增 LoongArch 构建支持 +- Mesa 图形栈更新至 23.1.4,优化各类主流显卡(尤其是 Steam Deck 硬件)的性能和可用性 +- Rust 更新至 1.71.0 +- LLVM 更新至 16.0.6,修复 MIPS 可用性问题 +- LDC 更新至 1.32.2,新增 POWER (`ppc64el`) 及基于 MIPS 的龙芯 3 (`loongson3`) 支持 +- curl 更新至 8.1.1,修复数个安全问题 +- yt-dlp 更新至 2023.07.06,修复及新增流媒体站点支持 +- Fcitx 的萌娘百科词库 ([fcitx-pinyin-moegirl](https://github.com/outloudvi/mw2fcitx)) 更新至 20230814,引入许多新词 +- fail2ban 更新至 1.0.2,修复先前版本服务无法启用的问题 +- e2fsprogs 更新至 1.47.0,修复无法检查使用新工具创建的 ext4 分区的问题 +- FreeRDP 更新至 2.10.0,修复随机崩溃的问题 +- Remmina 更新至 1.4.31,修复从 Adobe Acrobat 等其他基于 WPF 的 Windows 程序中复制时短时卡顿的问题 +- [Bash 配置](https://github.com/AOSC-Dev/bash-config)更新至 0.4.7.7,修复 `cd` 命令补全时列出环境变量名的问题 +- 修复 VirtualBox 更新时无法正确识别内核模块版本的问题 +- [系统安装器 (DeployKit)](https://github.com/AOSC-Dev/aoscdk-rs) 更新至 0.9.5,修复某些 AArch64 SBSA 设备安装系统后无法自动启动 GRUB 引导器的问题,优化 Afterglow 安装性能,新增 LoongArch 构建支持 + +#### 新增组件 + +过去两周,AOSC OS 软件仓库中新增如下软件包: + +- Distrobox (`distrobox`),可用于快速部署各类 Linux 发行版 +- EDID Decode (`edid-decode`),EDID 数据解析工具 +- gitoxide (`gitoxide`),Git 版本控制系统的 Rust 实现 +- HW PROBE (`hw-probe`),设备索引及测试工具 +- JetBrains Mono (`jetbrains-mono`),来自 IDE 开发商 JetBrains 的等宽开发用字体 +- lldpd (`lldpd`),使用 802.1ab(链路层发现协议)探测本地网络中的设备 +- Taskwarrior (`taskwarrior`),命令行终端界面的个人日程管理器 + +#### 周边项目 + +- [aosc-mklive](https://github.com/AOSC-Dev/aosc-mklive/) 工具优化 Afterglow 生成逻辑,将 LiveKit 大小压缩至 CD 尺寸(约 700 MiB) + +#### 开发工具 + +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) 更新至 1.6.94,添加 dpkg Pre-Depends 依赖关系支持,并对 Rust 构建模板进行优化 + +### 尝鲜预报 + +为更好地测试我们的系统更新,我们为不同类别的更新创建相应测试源,供用户与贡献者测试。本周,我们新增了如下几个测试源: + +- **AOSC OS Core 11 (`core-k`):** 更新系统核心运行时:Glibc 更新至 2.37,GCC 更新至 13.2.0,Linux API 头更新至 6.4.7,Zstandard 更新至 1.5.5 +- **Bash 启动配置规范化 (`etc-profile-cleanup-survey-20230614`):** 对各软件包中的 Bash 启动配置进行清理,规范化文件摆放,修复终端模拟器会话中某些功能无法正常使用的问题 +- **Linux 内核八月更新 (`linux-kernel-survey-20230825`):** 更新主线内核至 6.4.10,长期支持版(Long-Term Support,简称 LTS)内核至 6.1.45,修复 AMD 处理器中近期发现的安全漏洞 ([CVE-2023-20569](https://www.cve.org/CVERecord?id=CVE-2023-20569)) +- **OpenSSL 3.1.1 (`openssl-3.1.1`):** 引入 OpenSSL 3.1.1 以替代老旧的 OpenSSL 1.1 运行时 +- **Security Survey 2023H1/Libtiff (`security-survey-2023h1-libtiff`):** 安全更新终于有进展了!更新 libtiff 至 4.5.1,同时涉及大量其他软件包重构和更新 + +这些测试源也将同步至我们的龙架构 (LoongArch) 前沿分支,并为正式引入将龙架构支持作准备。 + +输入如下命令方可随时加入或退出测试源: + +``` +sudo oma topics +``` + +如果您在使用如上测试源的过程中遇到问题,请随时联系我们,我们将尽力协助您修复问题。 + +社区快讯 +-------- + +### 中科院软件所开源之夏 (OSPP) 2023 项目进展 + +由我社贡献者[白铭骢](https://github.com/MingcongBai)和[黄烜宁](https://github.com/CamberLoid)作为导师带领的 [OSPP 2023](https://summer-ospp.ac.cn/) 项目取得显著进展。 + +过去一个多月中,[刘万涛同学](https://github.com/LWanTao/)修缮了 Trinity Desktop Environment 的简中翻译,还将我们的本地化工作指南[改写为网页](https://lwantao.github.io/l10n4zh-cookbook/);相信刘同学的工作成果将显著改善 Afterglow 的简中使用体验,并为社区后续组织本地化工作提供了更好用的参考资料。[leedagee 同学](https://github.com/leedagee)开发的 Autobuild3 自动化打包测试框架也已基本功能完备,为我社后续推进维护自动化提供可靠性保障。 + +上述项目的开发目标、学生及导师信息等请详见: + +- [Autobuild3 自动化打包测试框架](https://summer-ospp.ac.cn/org/prodetail/23f3e0033) +- [自由及开源软件简中本地化工作](https://summer-ospp.ac.cn/org/prodetail/23f3e0032) + +### AOSCC 2023 贴纸集订购 + +2023 年度 AOSCC 贴纸集已完成再版并已到货,我们计划以每套 10 元人民币 + 运费(每版 5 元,共 2 版)贩卖,以便收回再版印刷费用。本版贴纸还改进了覆膜的耐磨度,相信会比之前的贴纸更耐用。 + +请使用[本表](https://forms.gle/Ba8GJoxkVGBqdSEr5)登记订购意向。 + +招工启事 +-------- + +AOSC 是由志愿者在业余时间组织和驱动的社区,想法众多但人力不足。以下是我们最近希望完成的一些工作,如果您有兴趣,欢迎通过“一起吹水”栏目中列出的任意方式与我们取得联系: + +### 社区新门户 + +目前的社区门户现已使用三年,一些设计上的问题也开始展现出来,比如布局效率低和新闻资讯、下载页面可见度低等,故近期开始着手设计新门户。下图为新门户页面设计稿,现征求建设性意见供贡献者参考;本次设计的主要目标和思考如下: + +![portal](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230825/imgs/new-portal.png) + +- 设计灵感来自 [Windows XP 的初版主页](https://web.archive.org/web/20011118061922/http://www.microsoft.com/china/windows/),取其空间利用所长,并将布局、配色和呈现内容等适配到现今浏览器技术和浏览习惯等 +- 着重展示社区项目和资讯板块,以及常用链接 +- 浏览逻辑:右上角为快捷导航区,包括下载页面、社区介绍和语言设置;左侧为主导航区,全站通用且全时可见,右侧为内容板块 +- 主页有三版面动态横幅区,展示需要着重宣传的内容,下方为固定的资讯要点、系统方案和常用链接板块,左下角为动态板块,亦用于需要着重展示的内容(如一般情况下展示 AOSC OS 特性,需要时改变为投票、众筹或活动介绍) +- 网站配色根据季节更改,另可根据语言设置,在特定期间显示独特配色(如在春节期间在中文页面上显示春节配色) + +目前我们已开始初步策划实现方式,欢迎来社区群聊一同出力~ + +### 社区论坛 + +论坛也许“老土”,但也不失为用于认真交流问答的好平台。如果您有兴趣参与论坛管理和维护,请联系我们。 + +一起吹水 +-------- + +互联网是我社的主要活动场所,欢迎来社区各群聊及语音频道交流玩耍: + +### 微信群 + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230825/imgs/wechat.jpg) + +### QQ 群 + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230825/imgs/qq.jpg) + +### Telegram 群组 + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230825/imgs/telegram.png) + +### Discord 语音频道 + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230825/imgs/discord.png) + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周五午间 12 时发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2023-08-27-sjtug-mirror.md b/content/news/2023-08-27-sjtug-mirror.md new file mode 100644 index 00000000..4a2d8ad4 --- /dev/null +++ b/content/news/2023-08-27-sjtug-mirror.md @@ -0,0 +1,15 @@ +--- +categories: + - news + - advisories +title: "Shanghai Jiao Tong University's *NIX User Group Now Mirroring Our Community Repository!" +date: 2023-08-27T22:00:00+08:00 +important: false + +--- + +![SJTUG Mirror Now Live!](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20230827/imgs/new-mirror-sjtug.png) + +Our friends at [Shanghai Jiao Tong University's *NIX User Group (SJTUG)](https://sjtug.org/) have just set up yet another mirror for our community repository. SJTUG's mirror will provide fast and reliable service for our users in mainland China. + +We would like to extend our utmost gratitude for our friends at SJTUG. Thank you! diff --git a/content/news/2023-08-27-sjtug-mirror.zh-cn.md b/content/news/2023-08-27-sjtug-mirror.zh-cn.md new file mode 100644 index 00000000..14b276b4 --- /dev/null +++ b/content/news/2023-08-27-sjtug-mirror.zh-cn.md @@ -0,0 +1,15 @@ +--- +categories: + - news + - advisories +title: "上交大 Linux 用户组新镜像上线!" +date: 2023-08-27T22:00:00+08:00 +important: false + +--- + +![上交大镜像上线!](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20230827/imgs/new-mirror-sjtug.png) + +得益于[上海交通大学 Linux 用户组](https://sjtug.org/)同学们的鼎力相助,我社软件源喜提新镜像。相信该镜像将为中国内地用户们提供高质高速的服务。 + +再次感谢上交大 Linux 用户组的同学们! diff --git a/content/news/2023-08-28-nit-cips-mirror.md b/content/news/2023-08-28-nit-cips-mirror.md new file mode 100644 index 00000000..896a88a1 --- /dev/null +++ b/content/news/2023-08-28-nit-cips-mirror.md @@ -0,0 +1,15 @@ +--- +categories: + - news + - advisories +title: "NIT-CIPS Now Mirroring Our Community Repository!" +date: 2023-08-28T21:00:00+08:00 +important: false + +--- + +![Nanyang Institute of Technology-CIPS Mirror Now Live!](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20230828/imgs/new-mirror-nit-cips.png) + +[Nanyang Institute of Technology's Computer and Information Processing Society (CIPS)](https://mirror.nyist.edu.cn/) mirror for our community repository is now live, with 10Gbps IPv6 bandwidth! This new mirror, powered by a brand-new student society and their brand-new devices, will surely not disappoint. + +We would like to extend our utmost gratitude for our friends at NIT-CIPS. Thank you! diff --git a/content/news/2023-08-28-nit-cips-mirror.zh-cn.md b/content/news/2023-08-28-nit-cips-mirror.zh-cn.md new file mode 100644 index 00000000..a7ee8a23 --- /dev/null +++ b/content/news/2023-08-28-nit-cips-mirror.zh-cn.md @@ -0,0 +1,15 @@ +--- +categories: + - news + - advisories +title: "南阳理工学院 CIPS 新镜像上线!" +date: 2023-08-28T21:00:00+08:00 +important: false + +--- + +![南阳理工学院 CIPS 镜像上线!](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20230828/imgs/new-mirror-nit-cips.png) + +搭载 10Gbps IPv6 带宽的[南阳理工学院计算机与信息化处理协会 (CIPS)](https://mirror.nyist.edu.cn/) 镜像上线啦!新社团,新设备,新镜像,相信南阳理工学院 CIPS 的新镜像将不负众望。 + +感谢南阳理工学院 CIPS 的同学们! diff --git a/content/news/2023-09-08-coffee-break.md b/content/news/2023-09-08-coffee-break.md new file mode 100644 index 00000000..0d5ac728 --- /dev/null +++ b/content/news/2023-09-08-coffee-break.md @@ -0,0 +1,187 @@ +--- +categories: + - journals +title: "Coffee Break: September Issue 1/2" +date: 2023-09-08T12:00:00+08:00 +important: false + +--- + +> "What would y'all like to drink today?" + +Thank you for reading "Coffee Break," AOSC's semi-monthly newsletter! Here, you will find summaries of development updates, community matters, and upcoming events in an accessible and fun fashion. This column is also used to publish interview transcripts with individuals and representatives from various groups, clubs, and industries and will be published as special issues. This column does not contain op-ed-type contents. + +AOSC OS Updates +--------------- + +In the past two months, besides routine maintenance on [AOSC OS](https://aosc.io/downloads), community developers also introduced many updates and fixes, as well as the accompanying applications and components. We hope that these updates will bring you enjoyment and productivity. + +### Core 11 Released (Nya~) + +After months of testing and adjustment, AOSC OS Core 11 update is now available! Core is a collection of core system runtime and toolchains. Its component version and features freezes on a yearly basis. The Core defines AOSC OS's version number, with this release marking the 11.0.0 release cycle for AOSC OS. + +As per usual, community members nominated and voted for this release's codename during our annual conference, AOSCC. The codename was decided to be Koshki (Russian: Кошки), referring to the plural form of the word "cat." + +![Core 11 Nya!](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230908/imgs/core-11-banner.png) + +This AOSC OS Core release brings the following changes: + +- **Glibc 2.37** with many function optimisation and fixes +- **GCC 13.2.0** with enhanced C23/C++23 support and optimizsation support for AMD Zen 4 and LoongArch +- **Linux API Headers 6.4.7** with new features and enhanced compatibility with newer software sources +- **Zstandard 1.5.5** with significant performance boosts for compression and decompression operations +- In our distribution definition files, AOSC OS/Retro has been renamed Afterglow + +Moreover, this Core update brought support for LoongArch, paving the way for an official LoongArch port later this year or early next year. + +### Sneak Peek: Omakase 1.1 + +As [Omakase](https://github.com/AOSC-Dev/oma) 1.0 enters our system distribution, [Xiaoyuan "Mag Mell" Fu](https://github.com/eatradish) was already hard at work developing Omakase 1.1. At the time of publication, Omakase 1.1's development is currently under contributor testing and debugging, holding usability testing sessions during our weekly contributor's meetings. + +Omakase 1.1 focuses on bringing improvements on the following fronts: + +- **Modularity** - Clean up project code and componentizing them to help other developers make use of Omakase features +- **System integration** - Omakase will now detect power state and control system power/session management, preventing unexpected failures during package management operations +- **UI improvements** - Introducing an easier-to-understand history and undo interface; confirmation interfaces will now be printed on terminal scrollback for easy review +- **Performance optimisation** - Parallelized download and extraction makes for much quicker metadata refresh operations +- **Plugin Support** - Enhance Omakase's features by introducing external/third-party extensions. + +We will demo and review Omakase 1.1's changes during our contributor meetings on Sunday at 2 P.M., UTC+8 time. Join us at our [Discord server](https://discord.gg/VYPHgt9)! + +### At a Glance: AOSC OS Updates + +#### System Components + +A good number of updates made it into AOSC OS in the past two weeks, here are a few items of note: + +- The mainline kernel was updated to 6.4.10, the Longterm kernel was updated to 6.1.45, addressing a recently disclosed security flaw in AMD processors ([CVE-2023-20569](https://www.cve.org/CVERecord?id=CVE-2023-20569)) +- Discord voice chat and livestreaming client was updated to 0.0.29 +- Qemu virtualisation and emulation suite was updated to 8.1.0 +- Binutils was updated to 2.41, introducing support for many more LoongArch instructions +- Less was updated to 643, fixing [CVE-2022-46663](https://github.com/advisories/GHSA-5xw7-xf7p-gm82) +- GNU Debugger (GDB) was updated to 13.2 +- PowerShell was updated to 7.3.6 +- Prism Launcher, an open-source Minecraft launcher, was updated to 7.2 +- Zotero bibliography and reference manager was updated to 6.0.26 +- Surveyed Bash profile scripts in various packages and moved them to more standardised locations; profile scripts should now apply properly on non-login sessions (such as graphical terminal emulators) +- [The System Installer (DeployKit)](https://github.com/AOSC-Dev/aoscdk-rs) was updated to 0.9.6, fixing an issue where the installer fails to fetch metadata for the newest system releases + +#### New Packages + +We introduced a few packages into the AOSC OS repository in the past two weeks: + +- canokey-qemu (`canokey-qemu`) - Library for Qemu to provide a virtual canokey to the guest OS +- eza (`eza`) - An enhanced `ls(1)` command implementation +- Feishin (`feishin`) - A music player client for self-hosted streaming services +- libu2f-emu (`libu2f-emu`) - A C library for emulating Universal 2nd Factor (U2F) device +- libblkio (`libblkio`) - A library for block device I/O with support for multi-queue devices +- Lempel-Ziv Finite State Entropy (`lzfse`) - Tools and libraries for Apple Inc.'s lossless compression algorithm + +#### Removed Packages + +We removed the following packages from the AOSC OS repository in the past two weeks: + +- EDK2 (`edk2`) OVMF images - this package is now installed along with Qemu (`qemu`) +- SeaBIOS (`seabios`) BIOS images - this package is now installed along with Qemu (`qemu`) +- exa (`exa`) enhanced `ls(1)` command implementation - this package is no longer maintained; the next system update will install its replacement, eza (`eza`) automatically, keeping the original command name + +#### Peripheral Projects + +- [aoscbootstrap](https://github.com/AOSC-Dev/aoscbootstrap) (our distribution generation toolkit) was updated to fix the verification logic for packages and to improve the error output for `--include-files` + +#### Development Tools + +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) began to see initial work on a package testing framework on the `testing-suite` branch + +### In the Oven + +To help testing our system updates, we created various "topic" repositories to deliver them to our users and maintainers. The following topic repositories were created earlier this week: + +- **OpenSSL 3.1.1 (`openssl-3.1.1`):** Introducing OpenSSL 3.1.1 to replaced the ageing OpenSSL 1.1 runtime +- **Security Survey 2023H1/Libtiff (`security-survey-2023h1-libtiff`):** Updating libtiff to 4.5.1, rebuilding and updating affected packages + +Changes from these topics will also make it to our work-in-progress LoongArch port, helping adopting LoongArch as an officially supported architecture. + +You may enable and test out the aforementioned updates with the following command: + +``` +sudo oma topics +``` + +Should you run into issues while using the topic repositories, please don't hesitate to get in touch for assistance. + +Community Updates +----------------- + +### Coming Soon: *SIGILL's* Inaugural Issue + +In the past few months, a few of our community contributors purchased various Loongson 3A5000/6000-based systems, with different use cases in mind. + +So, how did they fair? Find out in *SIGILL's* inaugural issue! + +![A Loongson 3A5000-based desktop computer at the AOSCC 2023 venue](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230908/imgs/3a5000.jpg) + +Now "Hiring" +------------ + +AOSC is a community driven by volunteers, with many ideas but little manpower. The following are projects we plan to tackle in the near future. If you are interested in lending a hand, please join us via the QR codes listed below to get in touch. + +### New Community Portal + +Now that our current community portal has been deployed for over three years, its design issues are beginning to show - low space efficiency, poor visibility for news updates and downloads, etc. To address these problems, we commenced work to redesign the community portal. The image below showcases a mock-up for our new community portal for reference and constructive criticism. + +![portal](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230908/imgs/new-portal.png) + +The design characteristics of the new portal are as follows: + +- Inspired by [the original Windows XP homepage](https://web.archive.org/web/20011103050531/http://www.microsoft.com/windows/default.asp), the new design learns from its strong space efficiency and adapts the old design for the modern Web. +- More emphasis on community projects and news items, as well as commonly used links. +- Multi-dimensional navigation - quick navigation to the top-right, with links to the download and "about" page, as well as language settings; an always-visible navigation bar to the left; main content body to the right. +- A three-paned banner to help promote key items, below which lists news items, system downloads, and frequently-used links; to the bottom left is a variable section, also dedicated for key promotional items (e.g., AOSC OS feature showcase, or as needed, polls, crowdsourcing campaigns, and upcoming events). +- The website changes its colour schemes seasonally; color schemes can be specified for specific languages and during specific periods. + +We have now began to plan for implementation - join the discussion at our community chat groups! + +### Community Forum + +Though "old-fashioned," a forum can be a valuable platform for more serious discussions. Please get in touch with us if you are interested in moderating our forum. + +Come Chat! +---------- + +Most of our work are conducted over the Internet, come chat and work with us! Please note that most members of the following chat groups are Chinese speakers, but please feel free to ask for assistance and translation. + +### WeChat + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230908/imgs/wechat.jpg) + +### Tencent QQ + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230908/imgs/qq.jpg) + +### Telegram + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230908/imgs/telegram.png) + +### Discord + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230908/imgs/discord.png) + +Community Outreach +------------------ + +Ever since we caught ourselves in a conflict at Baidu Tieba's Linux community, we have effectively halted all outreaching and promotional campaigns. Now that our projects and community are both maturing, we have decided to re-double our outreach and promotional efforts to expand our networks for friends and collaborators. + +The semimonthly issue you are reading right now is part of the aforementioned effort. So far, we have planned the following columns: + +- Coffee Break: Semimonthly Newsletters +- SIGILL: Rare and Unusual Hardware +- Retro: Retro Software and Hardware +- Live: In-Person Events + +"Coffee Break" issues are published every second and fourth Fridays at 12 P.M. UTC+8 time. Other columns are published irregularly per content and editing schedules. The English version of the aforementioned materials are published on the following platforms: + +- Our community portal +- Twitter/X: @aosc_dev + +We are also seeking coverage from Linux-related media to help spread the word. diff --git a/content/news/2023-09-08-coffee-break.zh-cn.md b/content/news/2023-09-08-coffee-break.zh-cn.md new file mode 100644 index 00000000..30b591eb --- /dev/null +++ b/content/news/2023-09-08-coffee-break.zh-cn.md @@ -0,0 +1,187 @@ +--- +categories: + - journals +title: "安记冰室・九月上" +date: 2023-09-08T12:00:00+08:00 +important: false + +--- + +> “饮料呀?喝点啥子不嘛?” + +欢迎阅读安同开源社区 (AOSC) 双周报——《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +AOSC OS 快讯 +------------ + +在过去两周中,社区开发者们除继续对 [AOSC OS](https://aosc.io/zh-cn/downloads) 进行日常维护外,还为系统引入了许多更新、修复,推进了系统周边组件的开发,希望这些工作能为您的工作与娱乐生活带来便利。 + +### Core 11 发布(喵喵喵) + +经过多个月的测试和适配,AOSC OS 的 Core 11 更新终于发布啦!Core 是系统核心运行时及工具链的总称,其组件版本及特性保持一定稳定性,每年更新一次。此外,Core 还定义系统的版本号——本次更新后,AOSC OS 进入 11.0.0 版本周期。同以往一样,Core 11 的代号是本年度 AOSCC 由与会者们提名和选出的,本版本代号为 Koshki(俄:Кошки),代指猫的复数形式喵。 + +![Core 11 喵~](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230908/imgs/core-11-banner.png) + +本次 AOSC OS Core 更新的内容有: + +- **Glibc 更新至 2.37:** 带来众多函数优化及修复 +- **GCC 更新至 13.2.0:** 完善 C23/C++23 支持,新增 AMD Zen 4 及龙架构 (LoongArch) 等处理器的优化支持 +- **Linux API 头更新至 6.4.7:** 引入新特性支持,改善与新软件的兼容性 +- **Zstandard 更新至 1.5.5:** 大幅度提升压缩及解压性能 +- 发行版数据中,AOSC OS/Retro 更名为 Afterglow(星霞) + +此外,AOSC OS Core 还增加了龙架构 (LoongArch) 支持,为今年底至明年初龙架构成为正式支持架构打下基础。 + +### Omakase 1.1 展望 + +在 [Omakase](https://github.com/AOSC-Dev/oma) 1.0 进入基本系统之际,开发者[傅孝元](https://github.com/eatradish)已经在同步推进 1.1 分支的开发工作。至截稿时,Omakase 1.1 已进入最终调整和排错阶段,每周末于贡献者例会进行体验及可用性测试。 + +Omakase 1.1 的主要开发目标有: + +- **模块化:** 整理代码,方便其他开发者利用 Omakase 特性 +- **系统集成:** 自动检查电源条件,控制系统电源及会话管理,有效避免意外故障 +- **界面进化:** 重新设计历史及撤销功能,操作历史、回放及撤销界面更简明易懂;各项操作确认后,向终端回显操作内容,以便查阅 +- **性能优化:** 优化下载及解压逻辑,源数据刷新大幅度增速 +- **插件支持:** 支持功能扩展及第三方特性集成 + +我们将于 UTC+8 时间本周日下午二时的贡献者例会中就 Omakase 1.1 的设计进行展示及讨论,届时欢迎来[我社 Discord 语音频道](https://discord.gg/VYPHgt9)参与讨论。 + +### 更新速览 + +#### 系统组件 + +过去两周中我们为 AOSC OS 推送了许多更新,这里简要介绍其中几项: + +- 主线内核更新至 6.4.10,长期支持版 (Longterm) 内核更新至 6.1.45,修复 AMD 处理器中近期发现的安全漏洞 ([CVE-2023-20569](https://www.cve.org/CVERecord?id=CVE-2023-20569)) +- Discord 聊天、语音及直播软件更新至 0.0.29 +- Qemu 虚拟机及模拟器套件更新至 8.1.0 +- Binutils 更新至 2.41,引入许多龙架构 (LoongArch) 指令支持 +- Less 更新至 643,修复安全漏洞 [CVE-2022-46663](https://github.com/advisories/GHSA-5xw7-xf7p-gm82) +- GNU 调试器 (GDB) 更新至 13.2 +- PowerShell 更新至 7.3.6 +- Prism Launcher 开源 Minecraft 启动器更新至 7.2 +- Zotero 文献管理器更新至 6.0.26 +- 对各软件包中的 Bash 启动配置进行清理,规范化文件摆放,修复终端模拟器会话中某些功能无法正常使用的问题 +- [系统安装器 (DeployKit)](https://github.com/AOSC-Dev/aoscdk-rs) 更新至 0.9.6,修复无法获取最新系统发行列表的问题 + +#### 新增组件 + +过去两周,AOSC OS 软件仓库中新增如下软件包: + +- canokey-qemu (`canokey-qemu`),用于在虚拟机中模拟 Canokey 设备 +- eza (`eza`),增强型 `ls(1)` 命令 +- Feishin (`feishin`),自建流媒体服务客户端 +- libu2f-emu (`libu2f-emu`),用于在虚拟机中模拟通用第二因素 (Universal 2nd Factor,简称 U2F) 设备 +- libblkio (`libblkio`),用于调用块设备 I/O +- Lempel-Ziv Finite State Entropy (`lzfse`),来自苹果公司的无损压缩工具及算法库 + +#### 删除组件 + +过去两周中,我们移除了这些软件包: + +- EDK2 (`edk2`) 虚拟机 EFI 镜像:该包并入到 Qemu (`qemu`) 一同安装 +- SeaBIOS (`seabios`) 虚拟机 BIOS 镜像:该包并入到 Qemu (`qemu`) 一同安装 +- exa (`exa`) 增强型 `ls(1)` 命令:该包已停止维护,系统更新时将自动安装替代品 eza (`eza`),命令名称不变 + +#### 周边项目 + +- [aoscbootstrap](https://github.com/AOSC-Dev/aoscbootstrap) 发行版生成工具修复软件包校验逻辑,增强 `--include-files` 指定软件包列表出错时的提示输出 + +#### 开发工具 + +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) 开始初步实现软件包测试功能,当前代码位于 `testing-suite` 分支 + +### 尝鲜预报 + +为更好地测试我们的系统更新,我们为不同类别的更新创建相应测试源,供用户与贡献者测试。本周,我们新增了如下几个测试源: + +- **OpenSSL 3.1.1 (`openssl-3.1.1`):** 引入 OpenSSL 3.1.1 以替代老旧的 OpenSSL 1.1 运行时 +- **Security Survey 2023H1/Libtiff (`security-survey-2023h1-libtiff`):** 更新 libtiff 至 4.5.1,同时涉及大量其他软件包重构和更新 + +这些测试源也将同步至我们的龙架构 (LoongArch) 前沿分支 (`frontier`),并为正式引入将龙架构支持作准备。 + +输入如下命令方可随时加入或退出测试源: + +``` +sudo oma topics +``` + +如果您在使用如上测试源的过程中遇到问题,请随时联系我们,我们将尽力协助您修复问题。 + +社区快讯 +-------- + +### 预告:《聊斋》创刊号 + +过去几个月中,社区贡献者陆续购买了数台搭载龙芯 3A5000 及 3A6000 设备,用于各种不同场景。 + +那么,龙架构 (LoongArch) 加持的龙芯设备的使用体验如何呢?敬请期待《聊斋》创刊号! + +![AOSCC 2023 会场上的龙芯 3A5000 台式机](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230908/imgs/3a5000.jpg) + +招工启事 +-------- + +AOSC 是由志愿者在业余时间组织和驱动的社区,想法众多但人力不足。以下是我们最近希望完成的一些工作,如果您有兴趣,欢迎通过“一起吹水”栏目中列出的任意方式与我们取得联系: + +### 社区新门户 + +目前的社区门户现已使用三年,一些设计上的问题也开始展现出来,比如布局效率低和新闻资讯、下载页面可见度低等,故近期开始着手设计新门户。下图为新门户页面设计稿,现征求建设性意见供贡献者参考;本次设计的主要目标和思考如下: + +![portal](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230908/imgs/new-portal.png) + +- 设计灵感来自 [Windows XP 的初版主页](https://web.archive.org/web/20011118061922/http://www.microsoft.com/china/windows/),取其空间利用所长,并将布局、配色和呈现内容等适配到现今浏览器技术和浏览习惯等 +- 着重展示社区项目和资讯板块,以及常用链接 +- 浏览逻辑:右上角为快捷导航区,包括下载页面、社区介绍和语言设置;左侧为主导航区,全站通用且全时可见,右侧为内容板块 +- 主页有三版面动态横幅区,展示需要着重宣传的内容,下方为固定的资讯要点、系统方案和常用链接板块,左下角为动态板块,亦用于需要着重展示的内容(如一般情况下展示 AOSC OS 特性,需要时改变为投票、众筹或活动介绍) +- 网站配色根据季节更改,另可根据语言设置,在特定期间显示独特配色(如在春节期间在中文页面上显示春节配色) + +目前我们已开始初步策划实现方式,欢迎来社区群聊一同出力~ + +### 社区论坛 + +论坛也许“老土”,但也不失为用于认真交流问答的好平台。如果您有兴趣参与论坛管理和维护,请联系我们。 + +一起吹水 +-------- + +互联网是我社的主要活动场所,欢迎来社区各群聊及语音频道交流玩耍: + +### 微信群 + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230908/imgs/wechat.png) + +### QQ 群 + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230908/imgs/qq.jpg) + +### Telegram 群组 + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230908/imgs/telegram.png) + +### Discord 语音频道 + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230908/imgs/discord.png) + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周五午间 12 时发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2023-09-20-thunderbird-scaling-issue.md b/content/news/2023-09-20-thunderbird-scaling-issue.md new file mode 100644 index 00000000..724d8658 --- /dev/null +++ b/content/news/2023-09-20-thunderbird-scaling-issue.md @@ -0,0 +1,14 @@ +--- +categories: + - advisories +title: "[SOLVED] Recent Thunderbird Update May Have Incorrect UI Scaling" +date: 2023-09-21T01:00:00+08:00 +important: false + +--- + +Due to a maintainer oversight, the recent Thunderbird (`thunderbird`) v115.2.2 update may come with excessively small and dense UI. This was caused by incorrect font and layout configuration overrides in the package. We will release a v115.2.2-1 update in short order to address this issue, you would not need to change any settings. + +--- + +— Mingcong Bai diff --git a/content/news/2023-09-20-thunderbird-scaling-issue.zh-cn.md b/content/news/2023-09-20-thunderbird-scaling-issue.zh-cn.md new file mode 100644 index 00000000..c77ab707 --- /dev/null +++ b/content/news/2023-09-20-thunderbird-scaling-issue.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - advisories +title: "[已解决] Thunderbird 115 更新可能存在缩放问题" +date: 2023-09-21T01:00:00+08:00 +important: false + +--- + +由于维护者疏忽,早些时候推送的 Thunderbird (`thunderbird`) v115.2.2 更新默认的字号可能会过小,且布局过于拥挤。该问题是由于软件包预制配置中对字号和布局的配置不正确导致的,稍后推送的 v115.2.2-1 版本将修复此问题,您无需对软件配置进行修改。 + +--- + +— Mingcong Bai diff --git a/content/news/2023-09-22-coffee-break.md b/content/news/2023-09-22-coffee-break.md new file mode 100644 index 00000000..7e395949 --- /dev/null +++ b/content/news/2023-09-22-coffee-break.md @@ -0,0 +1,187 @@ +--- +categories: + - journals +title: "Coffee Break: September Issue 2/2" +date: 2023-09-22T12:00:00+08:00 +important: false + +--- + +> "What would y'all like to drink today?" + +Thank you for reading "Coffee Break," AOSC's semi-monthly newsletter! Here, you will find summaries of development updates, community matters, and upcoming events in an accessible and fun fashion. This column is also used to publish interview transcripts with individuals and representatives from various groups, clubs, and industries and will be published as special issues. This column does not contain op-ed-type contents. + +AOSC OS Updates +--------------- + +In the past two months, besides routine maintenance on [AOSC OS](https://aosc.io/downloads), community developers also introduced many updates and fixes, as well as the accompanying applications and components. We hope that these updates will bring you enjoyment and productivity. + +### Road to LoongArch Port + +With the number of LoongArch users among our contributors growing in the past few months. In the past few weeks, we worked hard to enhance the usability and quality of our LoongArch port. In the mean time, we have also initiated effort to merge the port from the `frontier` branch to our `stable` branch. In the next few months, we will continue to [review, test, and merge]https://github.com/AOSC-Dev/aosc-os-abbs/pull/4701) the changes between the two branches. The completion of this task marks the LoongArch port as stable. + +![Community contributor Wang Jiangjin backporting LSX/LASX support from GCC's master branch](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230922/imgs/gcc-backporting.jpg) + +In the past two weeks, we introduced and fixed many packages and backported enhancements for our basic development toolchain and runtime. We would like to thank our contributors, [Jiajie Chen (jiegec)](https://github.com/jiegec), [cth451](https://github.com/cthbleachbit/), [Kaiyang Wu (OriginCode)](https://github.com/OriginCode), [Zixing Liu (liushuyu)](https://github.com/liushuyu), and [Jiangjin Wang](https://github.com/RedL0tus), etc., as well as help and support from our colleagues and friends from Loongson and the LoongArch community. Here below are what we have accomplished. + +System components and applications: + +- Fixed LiveKit bootloader and introduced installation support. +- Updated Linux Kernel to 6.5.4, updating the LoongArch support patchset, and introduced another patchset for KVM (Kernel Virtual Machine) support. +- Updated Firefox to 117.0.1, updating architecture support patch. +- Introduced Telegram Desktop, Fish, etc. +- Completed base tools and utilities collection (especially those written in Rust, such as fd and ripgrep).- Updated GRUB to 2.12rc1, cleaning up the patchset. + +Toolchain and core runtime: + +- Updated AOSC OS Core to 11.0.1, introducing mainline updates, such as GCC 13.2.0. +- Updated Binutils to 2.41, introducing support for LSX and LASX instructions. +- Backported LSX/LASX instruction support from GCC's `master` branch to 13.2.0. +- Backported LSX/LASX instruction support from Glibc's `master` branch to 2.37. +- Backported LLVM's lld linker support, enabling LTO for Rust applications. +- Implemented D language support for GCC, as well as LoongArch support for LDC. + +We plan to work on the following in the near future: + +- Adapting the x86 LAX binary translator, testing x86 application runtime support on LoongArch. +- Enable LSX instruction set optimisation in GCC and other toolchains, rebuilding the system distribution. +- ... + +You may download the experimental LoongArch system release from the [community portal](https://aosc.io/zh-cn/downloads). We look forward to hearing your feedback and welcome your contribution to making our LoongArch port better! + +### Core 11.0.1 + +![Core 11 Nya~](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230922/imgs/core-11-banner.png) + +This week, [Zixing Liu (liushuyu)](https://github.com/liushuyu) released Core 11.0.1 with enhanced D language support for MIPS and POWER ports, as well as GNU Modula-2 support in GCC. + +### Software Suite Updates Available + +Recently, we introduced a large set of updates for different types of applications and runtime components in our update surveys: + +- **Browser Updates:** Including Mozilla Firefox 117.0.1, Thunderbird 115.2.2, Google Chrome/Chromium 116.0.5845.179, and other browsers. +- **Virtualization Components Update:** Including libvirt 9.6.0, virt-manager 4.1.0, open-vm-tools 12.3.0, as well as updates to other applications and runtime components. + +### At a Glance: AOSC OS Updates + +#### System Components + +A good number of updates made it into AOSC OS in the past two weeks, here are a few items of note: + +- Firefox (`firefox`) was updated to 117.0.1, with fixes for several security vulnerabilities. +- Thunderbird (`thunderbird`) was updated to 115.2.2, with the brand-new [Supernova UI](https://blog.thunderbird.net/2023/07/our-fastest-most-beautiful-release-ever-thunderbird-115-supernova-is-here/) +- Chromium (`chromium`) and Google Chrome (`google-chrome`) was updated to 116.0.5845.179, with fixes for several security vulnerabilities. +- Bash basic configuration ([bash-config](https://github.com/AOSC-Dev/bash-config)) was updated to 0.5.1, improving performance for the SSH prompt, introducing a Git prompt component implemented in Rust ([bash-git-status](https://github.com/AOSC-Dev/bash-git-status)), and fixing an issue where the `gdc` command with one of the Git aliases. +- GCC (`gcc`) was updated to fix up D language support for MIPS and POWER ports, as well as added GNU Modula-2 language support. +- Discord was updated to 0.0.30. +- Fcitx's Moegirl Wiki dictionary ([fcitx5-pinyin-moegirl](https://github.com/outloudvi/mw2fcitx)) was updated to 20230914 with many new phrases added. +- Fend command-line calculator and unit converter (`fend`) was updated to 1.2.2. +- The Fish shell (`fish`) was updated to 3.6.1. +- libvirt (`libvirt`) was updated to 9.6.0 with many new features and fixes. +- Node.js (`nodejs`) was updated to 18.17.1 with LoongArch support as well as improved compatibility with newer projects. +- Operating System Information Database (`osinfo-db`) was updated to 20230719 with configuration and deployment information for newer operating systems. +- Introduced WebUI support to qBittorrent BitTorrent download manager (`qbittorrent`). +- `cargo-audit` was updated to 0.18.1, enhancing performance. +- Starship universal shell prompt customiser (`starship`) was updated to 1.16.0, introducing support for Gitoxide and other prompt integration. +- Fixed an issue where Tilix (`tilix`) failed to launch after an update to the LDC runtime (`liblphobos`) +- ZFS Kernel module and adminstrative tools was updated to 2.1.12, fixing support for AArch64. +- AOSC OS topic manager ([atm](https://github.com/AOSC-Dev/atm)) was updated to 0.6.2, adding LoongArch support. +- The system installer ([DeployKit](https://github.com/AOSC-Dev/aoscdk-rs)) was updated to 0.9.8, adding LoongArch GRUB installation support, changing the default behaviour to install GRUB as removable images on RISC-V devices. + +#### New Packages + +We introduced a few packages into the AOSC OS repository in the past two weeks: + +- bash-git-status ([bash-git-status](https://github.com/AOSC-Dev/bash-git-status)), a Git status prompt for Bash implemented in Rust. +- Maliit on-screen keyboard suite (`maliit-framework`, `maliit-keyboard`) for Plasma Mobile devices. +- SANLock (`sanlock`), a shared storage lock manager. +- OCaml-Augeas (`ocaml-augeas`), OCaml bindings for the Augeas configuration API. +- undeaD (`undead`), a collection of obsolete D langauge (Phobos) modules. + +#### Peripheral Projects + +- The [aosc-mklive](https://github.com/AOSC-Dev/aosc-mklive/) live media toolkit was updated to fix an issue where the graphical interface fails to start on LoongArch-based motherboards with BMC modules; it also introduced two new variables for specifying distribution branches and revision numbers; the update also disables the media checksum verification by default, which was known to take a long time and was unreliable. +- [aoscify-starship-theme](https://github.com/AOSC-Dev/aoscify-starship-theme), a re-implementation of AOSC OS's default Bash prompt appearance, saw preliminary implementation. + +#### Development Tools + +- The [Autobuild3](https://github.com/AOSC-Dev/autobuild3) packaging toolkit updated to 1.6.104,which fixed installation routines for Rust applications with shared libraries; added the `ABBUILDDEPONLY=` switch to only install build-time dependencies for meta-packages with no specific version requirements, speeding up pacakging; registered default Rust compiler flags (`RUSTFLAGS`) for all ports; lowered the baseline requirement for the PowerPC port to 603, allowing Afterglow to run on (even) older Macintosh computers; enabled the `-gc-section` flag for all Afterglow ports, minimising binary sizes; registered default build flags for SPARC64 (SPARC V9), preparing for a new port. +- Our containerised pacakging environment manager, [Ciel](https://github.com/AOSC-Dev/ciel-rs) was updated to 3.2.0, adding support for specifying target architectures during the "new workspace wizard" (non-native architectures runs under QEMU user emulation); the update also switched the default distribution format for BuildKit to SquashFS, significantly speeding up workspace deployment. + +### In the Oven + +To help testing our system updates, we created various "topic" repositories to deliver them to our users and maintainers. The following topic repositories were created earlier this week: + +- **Go 1.21 and Application Updates Survey:** Introducing the Go 1.21 toolchain and updating Go applications and runtime components. +- **OpenSSL 3.1.1 (`openssl-3.1.1`):** Introducing OpenSSL 3.1.1 to replaced the ageing OpenSSL 1.1 runtime +- **LibTIFF Security Update Survey (`security-survey-2023h1-libtiff`):** Updating libtiff to 4.5.1, rebuilding and updating affected packages + +Changes from these topics will also make it to our work-in-progress LoongArch port, helping adopting LoongArch as an officially supported architecture. + +You may enable and test out the aforementioned updates with the following command: + +``` +sudo oma topics +``` + +Should you run into issues while using the topic repositories, please don't hesitate to get in touch for assistance. + +Community Updates +----------------- + +### Coming Soon: *SIGILL's* Inaugural Issue + +In the past few months, a few of our community contributors purchased various Loongson 3A5000/6000-based systems, with different use cases in mind. + +So, how did they fair? Find out in *SIGILL's* inaugural issue! + +![A Loongson 3A5000-based desktop computer at the AOSCC 2023 venue](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230922/imgs/3a5000.jpg) + +Now "Hiring" +------------ + +AOSC is a community driven by volunteers, with many ideas but little manpower. The following are projects we plan to tackle in the near future. If you are interested in lending a hand, please join us via the QR codes listed below to get in touch. + +### Community Forum + +Though "old-fashioned," a forum can be a valuable platform for more serious discussions. Please get in touch with us if you are interested in moderating our forum. + +Come Chat! +---------- + +Most of our work are conducted over the Internet, come chat and work with us! Please note that most members of the following chat groups are Chinese speakers, but please feel free to ask for assistance and translation. + +### WeChat + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230922/imgs/wechat.jpg) + +### Tencent QQ + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230922/imgs/qq.jpg) + +### Telegram + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230922/imgs/telegram.png) + +### Discord + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230922/imgs/discord.png) + +Community Outreach +------------------ + +Ever since we caught ourselves in a conflict at Baidu Tieba's Linux community, we have effectively halted all outreaching and promotional campaigns. Now that our projects and community are both maturing, we have decided to re-double our outreach and promotional efforts to expand our networks for friends and collaborators. + +The semimonthly issue you are reading right now is part of the aforementioned effort. So far, we have planned the following columns: + +- Coffee Break: Semimonthly Newsletters +- SIGILL: Rare and Unusual Hardware +- Retro: Retro Software and Hardware +- Live: In-Person Events + +"Coffee Break" issues are published every second and fourth Fridays at 12 P.M. UTC+8 time. Other columns are published irregularly per content and editing schedules. The English version of the aforementioned materials are published on the following platforms: + +- Our community portal +- Twitter/X: @aosc_dev + +We are also seeking coverage from Linux-related media to help spread the word. diff --git a/content/news/2023-09-22-coffee-break.zh-cn.md b/content/news/2023-09-22-coffee-break.zh-cn.md new file mode 100644 index 00000000..afb33aa7 --- /dev/null +++ b/content/news/2023-09-22-coffee-break.zh-cn.md @@ -0,0 +1,192 @@ +--- +categories: + - journals +title: "安记冰室・九月下" +date: 2023-09-22T12:00:00+08:00 +important: false + +--- + +> “你喝啥嘞——” + +欢迎阅读安同开源社区 (AOSC) 双周报——《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +AOSC OS 快讯 +------------ + +在过去两周中,社区开发者们除继续对 [AOSC OS](https://aosc.io/zh-cn/downloads/) 进行日常维护外,还为系统引入了许多更新、修复,推进了系统周边组件的开发,希望这些工作能为您的工作与娱乐生活带来便利。 + +### 龙架构 (LoongArch) 移植:“合龙”工作启动 + +近几个月来,社区贡献者中的龙架构 (LoongArch) 用户与日俱增。在过去几周中,我们开始快速推进 LoongArch 移植修缮,并启动了“合龙”工作——将目前位于前沿分支 (`frontier`) 中的移植工作合并到稳定分支 (`stable`) 中。在未来数个月中,我们将就两个分支中的源码及配置差异进行[审阅、测试及合并工作](https://github.com/AOSC-Dev/aosc-os-abbs/pull/4701),直到 LoongArch 架构构建配置等成为稳定系统的一部分。 + +![社区贡献者王江津(咸鱼)正在移植 GCC 主分支上的 LSX/LASX 补丁](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230922/imgs/gcc-backporting.jpg) + +过去两周,我们为 LoongArch 移植引入和修复了许多软件包,并为基础开发工具和运行时引入了许多前沿改进。感谢[陈嘉杰 (jiegec)](https://github.com/jiegec) 、[cth451](https://github.com/cthbleachbit/)、[吴楷阳 (OriginCode)](https://github.com/OriginCode) 、[刘子兴 (liushuyu)](https://github.com/liushuyu) 及[王江津(咸鱼)](https://github.com/RedL0tus)等贡献者,以及来自龙芯中科与 LoongArch 社区的同事朋友们的协助。 + +其中,系统组件和应用程序方面: + +- 修复 LiveKit 介质无法引导的问题,并引入了安装程序支持 +- 将 Linux 内核更新至 6.5.4,更新 LoongArch 支持补丁,并引入 KVM 虚拟化支持补丁 +- 将 Firefox 更新至 117.0.1,更新架构修复补丁 +- 引入 Telegram Desktop,Fish 等软件包 +- 补全之前缺少的预装工具(尤其是使用 Rust 编写的 fd 及 ripgrep 等) +- 将 GRUB 更新至 2.12rc1,清理补丁 + +核心工具链方面: + +- 将 AOSC OS Core 更新至 11.0.1 稳定版本,引入 GCC 13.2.0 等主线分支更新 +- 将 Binutils 更新至 2.41,包含 LSX 及 LASX 指令集支持 +- 从 GCC 主分支 (`master`) 移植 LSX/LASX 指令集支持至 GCC 13.2.0 +- 从 Glibc 主分支 (`master`) 移植 LSX/LASX 指令集支持补丁至 Glibc 2.37 +- 引入 LLVM lld 链接器支持,并为 Rust 程序打开 LTO 优化 +- 新增 GCC 中的 D 语言支持,添加 LDC 的 LoongArch 架构支持 + +在未来一段时间中,我们还将推进如下工作: + +- 引入 x86 LAT 二进制转译器及运行时,实验 x86 应用程序运行支持 +- GCC 等工具链默认打开 LSX 指令集优化,重构系统 +- …… + +目前,用于 LoongArch 的实验性系统发行已经可以从[社区主页下载](https://aosc.io/zh-cn/downloads),欢迎试用并提供反馈,亦欢迎有志之士加入“合龙”工作! + +### Core 11.0.1 发布 + +![Core 11 喵~](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230922/imgs/core-11-banner.png) + +本周,社区贡献者[刘子兴 (liushuyu)](https://github.com/liushuyu)发布了 Core 11.0.1,修缮 MIPS 及 POWER 架构的 D 语言支持,并开启了 GCC 的 GNU Modula-2 语言支持。 + +### 数个套件更新进入稳定源 + +过去半个月中,我们以套件更新 (Survey) 的形式为 AOSC OS 引入了数类软件的更新: + +- **浏览器套件更新:** 包括 Mozilla Firefox 117.0.1,Thunderbird 115.2.2 以及 Google Chrome/Chromium 116.0.5845.179 等浏览器更新 +- **虚拟化套件更新:** 包括 libvirt 9.6.0,virt-manager 4.1.0,open-vm-tools 12.3.0 等应用程序及运行时组件更新 + +### 更新速览 + +#### 系统组件 + +过去两周中我们为 AOSC OS 推送了许多更新,这里简要介绍其中几项: + +- 火狐浏览器 (`firefox`) 更新至 117.0.1,修复数个安全漏洞 +- Thunderbird 邮件客户端 (`thunderbird`) 更新至 115.2.2,引入全新的 [Supernova 界面](https://blog.thunderbird.net/2023/07/our-fastest-most-beautiful-release-ever-thunderbird-115-supernova-is-here/) +- Chromium (`chromium`) 及 Google Chrome 浏览器 (`google-chrome`) 更新至 116.0.5845.179,修复多项安全漏洞 +- Bash 基础配置 ([bash-config](https://github.com/AOSC-Dev/bash-config)) 更新至 0.5.1,优化 SSH 提示符逻辑,新增使用 Rust 实现的 Git 提示符组件 ([bash-git-status](https://github.com/AOSC-Dev/bash-git-status)),修复 `gdc` 命令与 Git 命令别名的冲突问题 +- GCC (`gcc`) 修缮 MIPS 及 POWER 架构的 D 语言支持,新增 GNU Modula-2 语言支持 +- Discord 聊天、语音及直播软件更新至 0.0.30 +- Fcitx 的萌娘百科词库 ([fcitx5-pinyin-moegirl](https://github.com/outloudvi/mw2fcitx)) 更新至 20230914,引入许多新词 +- Fend 命令行计算器及单位转换工具 (`fend`) 更新至 1.2.2 +- Fish 命令提示符 (`fish`) 更新至 3.6.1 +- libvirt (`libvirt`) 套件更新至 9.6.0,包含大量新特性及修复 +- Node.js (`nodejs`) 更新至 18.17.1,新增龙架构 (LoongArch) 支持,改善与各项目新代码的兼容性 +- 操作系统信息库 (`osinfo-db`) 更新至 20230719,新增许多新操作系统的默认虚拟机及部署配置 +- qBittorrent BitTorrent 下载管理器 (`qbittorrent`) 新增网页管理界面 +- Rust 软件组件安全性审计工具 `cargo-audit` 更新至 0.18.1,优化检查速度 +- Starship 通用命令提示符自定义工具 (`starship`) 更新至 1.16.0,新增 Gitoxide 支持等新特性 +- 修复 Tilix 可分屏终端模拟器 (`tilix`) 在 LDC 运行时 (`liblphobos`) 更新后无法启动的问题 +- ZFS 文件系统内核模块及管理工具更新至 2.1.12,修复 AArch64 支持 +- AOSC OS 测试源管理工具 ([atm](https://github.com/AOSC-Dev/atm)) 更新至 0.6.2,修复龙架构 (LoongArch) 构建支持 +- 系统安装器 ([DeployKit](https://github.com/AOSC-Dev/aoscdk-rs)) 更新至 0.9.8,修复龙架构 (LoongArch) 上的 GRUB 支持,默认在 RISC-V 架构上以可移动模式安装 GRUB 引导程序镜像 + +#### 新增组件 + +过去两周,AOSC OS 软件仓库中新增如下软件包: + +- bash-git-status ([bash-git-status](https://github.com/AOSC-Dev/bash-git-status)),使用 Rust 重实现的 Bash Git 状态提示符 +- Maliit 键盘套件 (`maliit-framework`, `maliit-keyboard`),用于 Plasma Mobile 移动设备界面 +- SANLock (`sanlock`),存储集群访问管理器 +- OCaml-Augeas (`ocaml-augeas`),Augeas 配置文件编辑库的 OCaml 语言绑定 +- undeaD (`undead`),D 语言老旧组件集合 + +#### 周边项目 + +- [aosc-mklive](https://github.com/AOSC-Dev/aosc-mklive/) 安装维护盘生成工具修复搭载基板管理控制器的龙架构 (LoongArch) 主板上无法使用独显启动图形界面的问题;新增指定自定义发行分支及修订版本的支持;默认关闭过分拉长启动时间的介质校验和检查 +- [aoscify-starship-theme](https://github.com/AOSC-Dev/aoscify-starship-theme) 立项,使用 Starship 重新实现 AOSC OS 的默认 Bash 提示符 + +#### 开发工具 + +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) 半自动打包工具更新至 1.6.104,修复带有共享库的 Rust 软件的安装流程;新增针对无需登记依赖确切版本的元包的 `ABBUILDDEPONLY=` 选项,提高打包效率;登记所有架构的 默认 Rust 构建参数 (`RUSTFLAGS`);降低 32 位大端序 PowerPC 移植的处理器基线至 PowerPC 603,以便在更老的 Macintosh 电脑上运行星霞 OS (Afterglow);在所有星霞架构上打开 `-gc-section` 参数,最小化二进制大小;登记 SPARC64 (SPARC V9) 构建参数,为新架构移植作准备 +- 容器化打包环境管理工具 [Ciel](https://github.com/AOSC-Dev/ciel-rs) 更新至 3.2.0,新增在工作区初始化向导中指定目标架构(非原生架构使用 QEMU 用户态模拟运行)的功能;此外,换用 SquashFS 格式的 BuildKit 发行,大幅度缩短环境部署耗时 + +### 尝鲜预报 + +为更好地测试我们的系统更新,我们为不同类别的更新创建相应测试源,供用户与贡献者测试。目前,我们开放如下测试源: + +- **Go 1.21 及应用更新:** 引入 Go 1.21 工具链并更新仓库中使用 Go 编写的各应用程序及运行时组件 +- **LibTIFF 安全更新 (`security-survey-2023h1-libtiff`):** 更新 libtiff 至 4.5.1,同时涉及大量其他软件包重构和更新 +- **OpenSSL 3.1.1 (`openssl-3.1.1`):** 引入 OpenSSL 3.1 以替代老旧的 OpenSSL 1.1.1 运行时 + +这些测试源也将同步至我们的龙架构 (LoongArch) 前沿分支 (`frontier`),并为正式引入龙架构支持做准备。 + +输入如下命令方可随时加入或退出测试源: + +``` +sudo oma topics +``` + +如果您在使用如上测试源的过程中遇到问题,请随时联系我们,我们将尽力协助您修复问题。 + +社区快讯 +-------- + +### 预告:《聊斋》创刊号 + +过去几个月中,社区贡献者陆续购买了数台搭载龙芯 3A5000 及 3A6000 设备,用于各种不同场景。 + +那么,龙架构 (LoongArch) 加持的龙芯设备的使用体验如何呢?敬请期待《聊斋》创刊号! + +![AOSCC 2023 会场上的龙芯 3A5000 台式机](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230922/imgs/3a5000.jpg) + +招工启事 +-------- + +AOSC 是由志愿者在业余时间组织和驱动的社区,想法众多但人力不足。以下是我们最近希望完成的一些工作,如果您有兴趣,欢迎通过“一起吹水”栏目中列出的任意方式与我们取得联系: + +### 社区论坛 + +论坛也许“老土”,但也不失为用于认真交流问答的好平台。如果您有兴趣参与论坛管理和维护,请联系我们。 + +一起吹水 +-------- + +互联网是我社的主要活动场所,欢迎来社区各群聊及语音频道交流玩耍: + +### 微信群 + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230922/imgs/wechat.png) + +### QQ 群 + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230922/imgs/qq.jpg) + +### Telegram 群组 + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230922/imgs/telegram.png) + +### Discord 语音频道 + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230922/imgs/discord.png) + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周五午间 12 时发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2023-10-06-openssl-3-update.md b/content/news/2023-10-06-openssl-3-update.md new file mode 100644 index 00000000..35987451 --- /dev/null +++ b/content/news/2023-10-06-openssl-3-update.md @@ -0,0 +1,18 @@ +--- +categories: + - advisories +title: "OpenSSL 3 Update Now Available" +date: 2023-10-06T21:00:00+08:00 +important: true + +--- + +After almost two months of rebuilding, tweaking, and updating, the OpenSSL 3 runtime update is now available in the stable repository. This update replaces the OpenSSL 1.1 runtime, which had [lost upstream support](https://www.openssl.org/blog/blog/2023/09/11/eol-111/). + +Should you run into problems during the update, please [file an issue](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&projects=&template=bug-report.yml) or get in touch via our [community chat groups](https://aosc.io/contact/). To ensure compatibility with some older software packages, we will continue to ship an OpenSSL 1.1 compatibility runtime package (`openssl-1.1`). However, considering the potential security risks, we recommend that you update such software packages or get in touch with the distributors regarding OpenSSL 3 compatibility. + +**Note: This wave of update is fairly large in volume, the system update may take a bit longer than usual. Moreover, considering that OpenSSL is a basic system runtime, should an accident occur during the update, it may render your system unusable. We therefore recommend that you plug in your laptops or other battery-powered devices to an AC power source and ensure steady power supply to avoid accidents.** + +--- + +— Mingcong Bai diff --git a/content/news/2023-10-06-openssl-3-update.zh-cn.md b/content/news/2023-10-06-openssl-3-update.zh-cn.md new file mode 100644 index 00000000..67acc8a7 --- /dev/null +++ b/content/news/2023-10-06-openssl-3-update.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - advisories +title: "OpenSSL 3 更新进入稳定源" +date: 2023-10-06T21:00:00+08:00 +important: true + +--- + +经过近两个月的重构、修缮及更新工作,OpenSSL 3 运行时以进入稳定源,取代目前 [已失去上游支持](https://www.openssl.org/blog/blog/2023/09/11/eol-111/) 的 OpenSSL 1.1 运行时。 + +如果您在更新过程中遇到任何问题,请 [于 aosc-os-abbs 仓库报告问题](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&projects=&template=bug-report.yml) 或 [社区各聊天群组](https://t.me/aosc_main) 与我们联系;为保持对部分老软件的支持,我们依然提供 OpenSSL 1.1 兼容包 (`openssl-1.1`),但考虑到潜在安全风险,推荐您及早将软件更新或联系发行方适配 OpenSSL 3。 + +**请注意:本次更新涉及软件包较多,因此系统更新可能需要较长时间;此外,考虑到 OpenSSL 为系统基础库,如出现意外断电或重启的情况,将很有可能导致系统故障。因此,建议将笔记本等使用电池的设备接入交流电并保持供电稳定,以防更新时发生意外。** + +--- + +— 白铭骢 diff --git a/content/news/2023-10-11-curl-8.4.0.md b/content/news/2023-10-11-curl-8.4.0.md new file mode 100644 index 00000000..39639473 --- /dev/null +++ b/content/news/2023-10-11-curl-8.4.0.md @@ -0,0 +1,20 @@ +--- +categories: + - advisories +title: "curl 8.4.0 Update Now Available to Address a Severe Security Vulnerability" +date: 2023-10-11T14:00:00+08:00 +important: true + +--- + +Last week, the curl upstream [notified distributions and users](https://github.com/curl/curl/discussions/12026) of what was "probably the worst curl security flaw in a long time." This security vulnerability has been addressed at 6:00, UTC time. AOSC OS has since made the update available in the stable repository, we suggest that users and developers update their systems at their earliest convenience. + +If you are using an apt/oma mirror other than the [community repository](repo.aosc.io), you may not receive this update for another 24 hours. We suggest that you switch your mirror to the community repository to update your system: + +``` +sudo apt-gen-list set-mirror origin +``` + +--- + +— Mingcong Bai diff --git a/content/news/2023-10-11-curl-8.4.0.zh-cn.md b/content/news/2023-10-11-curl-8.4.0.zh-cn.md new file mode 100644 index 00000000..be1af551 --- /dev/null +++ b/content/news/2023-10-11-curl-8.4.0.zh-cn.md @@ -0,0 +1,20 @@ +--- +categories: + - advisories +title: "curl 8.4.0 更新推送,修复严重安全漏洞" +date: 2023-10-11T14:00:00+08:00 +important: true + +--- + +curl [上周预告的“近年来最严重安全问题”](https://github.com/curl/curl/discussions/12026) 已于北京时间今天 14 时发布修复,AOSC OS 随后更新打包测试完成,至截稿时稳定源已推送更新,建议用户和开发者尽快更新系统。 + +使用社区[主源服务器](repo.aosc.io) 以外 apt/oma 镜像的用户可能最迟需要 24 小时才能收到更新,建议使用该命令暂时切换至主源完成更新: + +``` +sudo apt-gen-list set-mirror origin +``` + +--- + +— 白铭骢 diff --git a/content/news/2023-10-11-new-aarch64-servers.md b/content/news/2023-10-11-new-aarch64-servers.md new file mode 100644 index 00000000..dfebddd3 --- /dev/null +++ b/content/news/2023-10-11-new-aarch64-servers.md @@ -0,0 +1,16 @@ +--- +categories: + - news +title: "Two New AArch64 Build Servers Deployed for AOSC OS Maintenance" +date: 2023-10-11T13:00:00+08:00 +important: false + +--- + +![Two new servers deployed for AOSC OS AArch64 maintenance.](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231011/imgs/new-aarch64-servers.jpg) + +After [upgrading our AMD64 build server](https://wiki.aosc.io/zh/community/crowdsourcing/epyc-22333-upgrade-2023/) earlier this year, our computational resources for maintaining the AArch64 (`arm64`) port became relatively limited. Added with limited Internet bandwidth and storage I/O performance, the current build server could no longer keep up with the aforementioned build server for AMD64 (`amd64`). This slowed down compilation, packaging, and testing for our Primary (tier 1) archiectures. + +In June, a friend from the community donated two high-performance AArch64 servers - one with a 64-core Phytium FT2000/64 processor and the other with a 64-core Kunpeng 920 processor. Shortly after, with support from friends of the community, we [successfully crowdsourced some additional essential parts](https://wiki.aosc.io/zh/community/crowdsourcing/new-aarch64-server-parts/) and got sponsorship for colocation. + +As of today, these servers are now [live and deployed](https://github.com/AOSC-Dev/Buildbots/compare/588d37621c6d0528db82a37306540230445687ad...630b94a078d4803334ed6329ff028ff3ec352ff4), accelerating and easing maintenance for AOSC OS's AArch64 port. Thank you for all your support! diff --git a/content/news/2023-10-11-new-aarch64-servers.zh-cn.md b/content/news/2023-10-11-new-aarch64-servers.zh-cn.md new file mode 100644 index 00000000..7d7d2057 --- /dev/null +++ b/content/news/2023-10-11-new-aarch64-servers.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - news +title: "社区友人捐赠的两台新 AArch64 构建服务器投入使用" +date: 2023-10-11T13:00:00+08:00 +important: false + +--- + +![近期上线的两台 AArch64 构建服务器](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231011/imgs/new-aarch64-servers.jpg) + +年初 [升级 AMD64 构建服务器](https://wiki.aosc.io/zh/community/crowdsourcing/epyc-22333-upgrade-2023/) 后,同属 AOSC OS 一级架构的 AArch64 (`arm64`) 维护算力已大幅度落后于 AMD64 (`amd64`) 。加之网络及存储 I/O 性能方面的局限,现有 AArch64 构建服务器拖慢了一级架构编译、打包和测试的效率。六月,社区友人捐赠了两台高性能 AArch64 服务器:一台搭载 64 核飞腾 FT2000/64 处理器,另一台搭载 64 核华为鲲鹏 920。而后,社区朋友慷慨解囊,[成功众筹了一些必要部件](https://wiki.aosc.io/zh/community/crowdsourcing/new-aarch64-server-parts/) 并提供托管服务。 + +目前,这些服务器已 [正式上线并投入使用](https://github.com/AOSC-Dev/Buildbots/compare/588d37621c6d0528db82a37306540230445687ad...630b94a078d4803334ed6329ff028ff3ec352ff4),为我们持续维护和改进 AOSC OS 的 AArch64 架构移植提供强劲动力。感谢社区各位友人的支持! diff --git a/content/news/2023-10-13-new-coffee-break-schedule.md b/content/news/2023-10-13-new-coffee-break-schedule.md new file mode 100644 index 00000000..ab1fd812 --- /dev/null +++ b/content/news/2023-10-13-new-coffee-break-schedule.md @@ -0,0 +1,14 @@ +--- +categories: + - journals +title: "New Publishing Schedule for \"Coffee Break\"" +date: 2023-10-13T23:00:00+08:00 +important: false + +--- + +As our colleagues were getting overwhelmed during the weekdays with other tasks, we have decided reschedule future "Coffee Break" issues to every second and fourth Saturdays at 12 P.M. UTC+8 time. The October 1/2 issue will be published on October 14th. + +--- + +— Mingcong Bai diff --git a/content/news/2023-10-13-new-coffee-break-schedule.zh-cn.md b/content/news/2023-10-13-new-coffee-break-schedule.zh-cn.md new file mode 100644 index 00000000..5628285c --- /dev/null +++ b/content/news/2023-10-13-new-coffee-break-schedule.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - journals +title: "《安记冰室》发布日程更改" +date: 2023-10-13T23:00:00+08:00 +important: false + +--- + +由于社区负责发布社区资讯稿件的同事们工作日较为繁忙,我们决定:自十月上号起,将发布时间改为北京时间每月第二、四个周六午间 12 时发布;十月上号将于北京时间 10 月 14 日发布。 + +--- + +— 白铭骢 diff --git a/content/news/2023-10-14-coffee-break.md b/content/news/2023-10-14-coffee-break.md new file mode 100644 index 00000000..d230764c --- /dev/null +++ b/content/news/2023-10-14-coffee-break.md @@ -0,0 +1,242 @@ +--- +categories: + - journals +title: "Coffee Break: October Issue 1/2" +date: 2023-10-14T12:00:00+08:00 +important: false + +--- + +> "What would y'all like to drink today?" + +Thank you for reading "Coffee Break," AOSC's semi-monthly newsletter! Here, you will find summaries of development updates, community matters, and upcoming events in an accessible and fun fashion. This column is also used to publish interview transcripts with individuals and representatives from various groups, clubs, and industries and will be published as special issues. This column does not contain op-ed-type contents. + +AOSC OS: Featured Items +----------------------- + +In the past two months, besides routine maintenance on [AOSC OS](https://aosc.io/downloads), community developers also introduced many updates and fixes, as well as the accompanying applications and components. We hope that these updates will bring you enjoyment and productivity. + +### Road to LoongArch Port: Together We Advance! + +We spent much of the past few weeks on improving LoongArch software support and user experience. In this interim, more community contributors have started to daily their LoongArch devices and we have since discovered a series of software bugs and firmware-related issues. Since our last issue, community contributors and engineers from Loongson's various departments collaborated to investigate, test, and resolve a few of these problems, which bugged many LoongArch users from the community: + +- By [addressing an inconsistency in LoongArch's kernel workaround for writecombine](https://lore.kernel.org/loongarch/e95d97c98caa525b04cf6383a74db9cadf694afb.camel@icenowy.me/T/#m085bf4e68fd112902e0ae3fddb03d9a8b9eef0fb), AMD graphics cards, when used with with the `amdgpu` kernel module, Firefox's UI and multimedia contents no longer exhibits rendering issues - worry no more about your graphics card being borked! +- Investigated the issue where motherboards with AST2500 BMC modules could not launch X11 graphical environments from discrete graphics cards out of the box. We have since assembled a set of working configuration, so that users of such motherboards can now enjoy using them as a desktop workstation out of the box. +- Obtained Loongson's QVL (Qualified Vendor List) and testing procedures and verfied that the TC512A0's instability under heavy storage I/O was caused by unstable RAM modules. In the future, users will be able to reference our (yet to be announced) community QVL and hardware compatibility database, saving time and money. +- With the help of [xen0n](https://github.com/xen0n/) from the Gentoo community, we have successfully built Thunderbird for our LoongArch port. Future AOSC OS releases will come with a complete browser suite. +- By updating dependencies in Rust application sources and submitting upstream patches, we have successfully introduced many more applications that had previously failed to build. Future AOSC OS releases will come with a more complete set of applications, from system installers to utilities. +- Rebuilt the whole AOSC OS repository using toolchains and the Glibc runtime with the LSX vector SIMD extension. In accordance with [section 7.3](https://github.com/loongson/la-softdev-convention/blob/2975b325e1d31c8b52d75f9948d627343c5a454c/la-softdev-convention.adoc#73-vector-instruction-support) of Loongson's *Software Development and Build Convention for LoongArch™ Architectures*, AOSC OS for LoongArch is now built with the LSX optimisations enabled by default. + +![Currently, LoongArch devices with AMD Polaris graphics cards suffers from stability issues under heavy graphical load. Pictured is a community member stress testing his device using glmark2, while working with other community contributors and engineeers at Loongson to test changes in the Kernel and other components. We are still investigating the causes and potential solutions to this issue.](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/glmark2-benchmark.jpg) + +#### Open Source Better Together + +In addition to working with other community members and Loongson's engineers, we plan to join the Loongson Open Source Community in its effort to enhance the efficiency and quality of communication and collaboration between the community and vendor. In the coming, our community contributors will participate or lead the following tasks (you may follow the links in each of the items listed below for RFCs and we welcome your suggestions and criticisms): + +- Implementing a community-maintained QVL validation system with out-of-the-box testing frameworks, based on prior communications with engineers at Loongson. We will also assemble a ["hardware compatibility database"](https://github.com/loongson-community/areweloongyet/issues/68) for reference by new users, in order to save time and money when finding compatible components and expansions. +- Composing a ["LoongArch User and Contributor's Quick Start Reference"](https://github.com/loongson-community/areweloongyet/issues/71) to help introducing them to the workings of LoongArch hardware and software projects. +- Drafting a formal report and file it to the management at Loongson, providing feedback on our experience during our collaboration with their engineers over the past month or two. With a constructive attitude, we hope that this formal communication will help improving communication and collaboration between community contributors and Loongson's engineers. We would also like to make this an opportunity to strive for more space for open and transparent community collaboration with Loongson. + +The products of above tasks will be made available on ["Are We Loong Yet?"](https://areweloongyet.com/), a partnering community, in order to make the fruits of our work available to a wider user base. We will continue to foster collaboration between communities to build an even more healthy, inclusive, and efficient Loongson Open Source Community. Ain't no mountain high enough! + +![Homepage of "Are We Loong Yet?"](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/areweloongyet.png) + +#### Towards a Stable AOSC OS LoongArch Port + +Earlier, we have also initiated the effort to merge the LoongArch port AOSC OS from the `frontier` branch to our `stable` branch. In the next few months, we will continue to [review, test, and merge]https://github.com/AOSC-Dev/aosc-os-abbs/pull/4701) the changes between the two branches. The completion of this task marks the LoongArch port as stable. + +You may download the experimental LoongArch system release from the [community portal](https://aosc.io/zh-cn/downloads). We look forward to hearing your feedback and welcome your contribution to making our LoongArch port better! + +### OpenSSL 3 Update Now Available + +After almost two months of rebuilding, tweaking, and updating, the OpenSSL 3 runtime update is now available in the stable repository. This update replaces the OpenSSL 1.1 runtime, which had [lost upstream support](https://www.openssl.org/blog/blog/2023/09/11/eol-111/). + +Should you run into problems during the update, please [file an issue](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&projects=&template=bug-report.yml) or get in touch via our [community chat groups](https://aosc.io/contact/). To ensure compatibility with some older software packages, we will continue to ship an OpenSSL 1.1 compatibility runtime package (`openssl-1.1`). However, considering the potential security risks, we recommend that you update such software packages or get in touch with the distributors regarding OpenSSL 3 compatibility. + +**Note: This wave of update is fairly large in volume, the system update may take a bit longer than usual. Moreover, considering that OpenSSL is a basic system runtime, should an accident occur during the update, it may render your system unusable. We therefore recommend that you plug in your laptops or other battery-powered devices to an AC power source and ensure steady power supply to avoid accidents.** + +### Vim to Become Part of the Base System + +For many years, GNU Nano and GNU ed were the only two editors pre-installed with AOSC OS, despite many Vim users amongst our contributors and users. This was due to our assumption that, by preinstalling Vim, it will pull in a large amount of extra dependencies. Last week, [Cinhi Young](https://github.com/Cyanoxygen/) discovered that, by splitting gVim (Vim's GTK-based graphical frontend) out of the current `vim` package, it would not introduce much dependencies into the base system at all. + +![Vim 9.0](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/vim-9.0.en.png) + +Therefore, we have split our Vim package into two, with `vim` containing the basic text mode editor and runtime, and `gvim` containing the graphical interface. With this change, Vim can be easily incorporated in the base system. The next wave of AOSC OS releases will come with Vim pre-installed and current users will receive Vim automatically in the next editors suite (`editor-base`) update as a recommended dependency. Of course, you still have the choice to remove Vim if it's not your cup of tea: + +``` +oma purge vim +``` + +### curl 8.4.0 Update Now Available to Address a Severe Security Vulnerability + +Last week, the curl upstream [notified distributions and users](https://github.com/curl/curl/discussions/12026) of what was "probably the worst curl security flaw in a long time." This security vulnerability has been addressed at 6:00, UTC time. AOSC OS has since made the update available in the stable repository, we suggest that users and developers update their systems at their earliest convenience. + +### At a Glance: AOSC OS Updates + +#### System Components + +A good number of updates made it into AOSC OS in the past two weeks, here are a few items of note: + +- curl (`curl`) was updated to 8.4.0 to address a high-risk security vulnerability, [CVE-2023-38545](https://curl.se/docs/CVE-2023-38545.html). +- Discord (`discord`) was updated to 0.0.31. +- FreeCAD, the computer-assisted design suite (`freecad`) was updated to 0.21.1. +- Kodi home media center (`kodi`) was updated to 20.2, introducing support for AV1 decoding and NFSv4 remote file system, along with other new features. +- LibreOffice productivity suite (`libreoffice`) was updated to 7.5.4.2, fixing compatibility with OpenSSL 3 and introducing LoongArch support. +- OpenJDK 8 (`openjdk-8`) was updated to 8u382+ga, fixing multiple security vulnerabilities. +- OpenJDK 11 (`openjdk-11`) was updated to 11.0.20.1+ga, fixing multiple security vulnerabilities and introducing JIT support for 64-bit RISC-V, significantly improving runtime performance. +- OpenJDK 17 (`openjdk`) was updated to 17.0.8.1+ga, fixing multiple security vulnerabilities and introducing JIT support for 64-bit RISC-V, significantly improving runtime performance. +- Telegram (`telegram-desktop`) was updated to 4.10.1, adding support for its "Stories" feature. +- Vim (`vim`) was updated to 9.0.2009, splitting out the graphical editor interface to ease user selection. +- Visual Studio Code and VSCodium integrated development environments (`vscode`, `vscodium`) were updated to 1.83.0. +- Downloader for YouTube and other media streaming websites, yt-dlp (`yt-dlp`), was updated to 2023.09.24, adding and fixing analyzer and downloading support for many streaming websites. +- Citra (`citra`), a Nintendo 3DS emulator, was updated to 1958 with many new features and fixes. +- Yuzu (`yuzu`), a Nintendo Switch emulator, was updated to 1560 with many new features and fixes. +- qBittorrent (`qbittorrent`), a Bittorrent client, was updated to 4.5.4, fixing compatibility with OpenSSL 3. +- Apache HTTP server (`httpd`) was updated to 2.4.57, fixing multiple security vulnerabilities since 2.4.55. +- Exim mail transport agent (`exim`) was updated to 4.96, fixing multiple security vulnerabilities. +- PHP (`php`) was updated to 8.2.8 with JIT support for AMD64 and AArch64. +- [aoscbootstrap](https://github.com/AOSC-Dev/aoscbootstrap) system distribution generator (`aoscbootstrap`) was updated to 0.3.1, adding support for custom distribution branches, improving error outputs for the include feature, as well as introducing support for LoongArch. +- [aosc-findupdate](https://github.com/AOSC-Dev/aosc-findupdate) (`aosc-findupdate`) was updated to 0.2.1 with support for LoongArch. +- [Repository mirror data](https://github.com/AOSC-Dev/aosc-os-repository-data) was updated to 20231007 with updated data for newly added mirrors. +- [apt-gen-list-rs](https://github.com/AOSC-Dev/apt-gen-list-rs) repository mirror manager (`apt-gen-list`) was updated to 0.7.0, with Omakase plugin and support for LoongArch. +- [Omakase](https://github.com/AOSC-Dev/oma) package management frontend (`oma`) was updated to 1.0.8 with updated internal dependencies. +- Apache Ant Java project builder (`apache-ant`) was updated to 1.10.4. +- Apache Maven Java project builder (`apache-maven`) was updated to 3.9.4. +- Gradle project builder (`gradle`) was updated to 8.3 with support for Kotlin DSL. +- Racket toolchain and development environment (`racket`) was updated to 8.10. +- Ruby language toolchain (`ruby`) was updated to 3.2.2, fixing compatibility with OpenSSL 3, introducing MJIT, TypeProf, and other new language features and improved execution performance. +- Gperftools CPU profiler (`gperftools`) was updated to 2.13 with 64-bit RISC-V support. +- Qt 6 (`qt-6`) was updated to 6.5.1. + +#### New Packages + +We introduced a few packages into the AOSC OS repository in the past two weeks: + +- Fcitx5's Mozc Japanese input engine (`fcitx5-mozc`). +- Cython 0.29 compatibility toolchain (`cython-0.29`) - the previously introduced Cython 3.0.2 update broke compatibility with some older sources, preventing them from being built; this compatibility toolchain can help workaround these issues. +- Flann (`flann`), a high performance library for the Approximate Nearest Neighbour algorithm. +- OpenSSL 1.1 compatibility runtime (`openssl-1.1`) - useful for applications that are not yet migrated to the OpenSSL 3 runtime; however, as OpenSSL 1.1 is no longer supported by the upstream, we do not recommend using this package unless absolutely necessary. + +#### Removed Packages + +We removed the following packages from the AOSC OS repository in the past two weeks: + +- Dog (`dog`), a command-line DNS querying utility - this package has lost maintenance and is not compatible with OpenSSL 3. +- grpcio's Python module (`grpcio`) - this package has been merged with the gRPC runtime package (`grpc`). +- Mumble voice chat application (`mumble`) - we lack users amongst our contributors and could not test these packages properly, resulting in them becoming orphaned. +- PyPy 2.x toolchain (`pypy`) - we lack users amongst our contributors and could not test these packages properly, resulting in them becoming orphaned. +- Retdec disassembler (`retdec`) - we lack users amongst our contributors and could not test these packages properly, resulting in them becoming orphaned. +- Ruby GNOME2 components (`ruby-atk`, `ruby-gtk2`, etc.) - these packages are not compatible with Ruby 3.0 and higher and there are no longer packages in our repositories that require these packages. +- ScreenRuler on-screen ruler (`screenruler`) - upstream no longer maintains this project, its dependencies no longer builds. +- Swift XMPP chat client (`swift-im`) - we lack users amongst our contributors and could not test these packages properly, resulting in them becoming orphaned. +- Telegram command-line utility (`tg`) - upstream no longer maintains this project and it no longer functions correctly. +- Vaultwarden password manager server (`vaultwarden`) - this package is best distributed in its official containers. +- ydcv-rs (`ydcv-rs`), YouDao Dictionary client - upstream no longer maintains this project and it no longer functions correctly. + +#### Peripheral Projects + +- [treevsrepo](https://github.com/AOSC-Dev/treevsrepo) (`treevsrepo`), a package version comparison and auditing tool, was updated to 0.3.4 with LoongArch support. +- [p-vector](https://github.com/AOSC-Dev/p-vector-rs) (`p-vector`), an APT/Oma repository manager, was updated to 0.3.6, fixing compatibility with OpenSSL 3 and introducing support LoongArch. +- news contributor [Jiangjin Wang](https://github.com/RedL0tus) developed a new wallpaper metadata manager and generator, [wpmeta](https://github.com/AOSC-Dev/wpmeta). The new toolkit comes with multilingual support. Future AOSC OS wallpaper packages will come with translations for titles and author names. + +#### Development Tools + +- The [Autobuild3](https://github.com/AOSC-Dev/autobuild3) packaging toolkit was updated to 1.6.109. + - Enabling LSX optimisation by default in accordance with the compatibility conventions outlined in [section 7.3](https://github.com/loongson/la-softdev-convention/blob/2975b325e1d31c8b52d75f9948d627343c5a454c/la-softdev-convention.adoc#73-vector-instruction-support) of the *Software Development and Build Convention for LoongArch™ Architectures*. + - Calibrating LoongArch's compatibility baseline to `loongarch64` instead of the `la464` cores found in 3A5000 and other processors of that generation. This change enables AOSC OS to run on LoongArch-based Loongson 2K series processors. + - Fixing an issue where Rust applications would fail to build on RISC-V (`riscv64`) without Link-Time Optimisation enabled. + - Disabling MSA optimisation on MIPS64 R6 (`mips64r6el`) for Rust applications to workaround a mis-optimisation which breaks `sha2`-family hash checksum verification. + +### In the Oven + +To help testing our system updates, we created various "topic" repositories to deliver them to our users and maintainers. The following topic repositories were created earlier this week: + +- **Boost 1.83:** Updating Boost runtime libraries to 1.83, updating and rebuilding affected packages, improving compatibility with some newer C++ sources. + +Changes from these topics will also make it to our work-in-progress LoongArch port, helping adopting LoongArch as an officially supported architecture. + +You may enable and test out the aforementioned updates with the following command: + +``` +sudo oma topics +``` + +Should you run into issues while using the topic repositories, please don't hesitate to get in touch for assistance. + +Community Updates +----------------- + +### OSPP 2023 Projects: All Green! + +With months of effort by mentors of our community and the students, all of our two OSPP 2023 projects have passed mentor review, indicating that the students have successfully completed all assigned tasks. Congratulations to [leedagee](https://github.com/leedagee) and his mentor [Camber Huang](https://github.com/CamberLoid) for the ["Autobuild3 Automated Package Testing Framework"](https://summer-ospp.ac.cn/org/prodetail/23f3e0033?list=org&navpage=org) project; and [Wantao Liu](https://github.com/LWanTao) and his mentor [Mingcong Bai](https://github.com/MingcongBai) for the ["Simplified Chinese Localisation for Free and Open Source Software"](https://summer-ospp.ac.cn/org/prodetail/23f3e0032?list=org&navpage=org) project! + +We hope to see continued contribution to community projects and the wider open source ecosystem from our students. + +### Two New AArch64 Build Servers Deployed for AOSC OS Maintenance + +After [upgrading our AMD64 build server](https://wiki.aosc.io/zh/community/crowdsourcing/epyc-22333-upgrade-2023/) earlier this year, our computational resources for maintaining the AArch64 (`arm64`) port became relatively limited. Added with limited Internet bandwidth and storage I/O performance, the current build server could no longer keep up with the aforementioned build server for AMD64 (`amd64`). This slowed down compilation, packaging, and testing for our Primary (tier 1) archiectures. + +In June, a friend from the community donated two high-performance AArch64 servers - one with a 64-core Phytium FT2000/64 processor and the other with a 64-core Kunpeng 920 processor. Shortly after, with support from friends of the community, we [successfully crowdsourced some additional essential parts](https://wiki.aosc.io/zh/community/crowdsourcing/new-aarch64-server-parts/) and got sponsorship for colocation. + +![Two new servers deployed for AOSC OS AArch64 maintenance.](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/new-aarch64-servers.jpg) + +As of today, these servers are now [live and deployed](https://github.com/AOSC-Dev/Buildbots/compare/588d37621c6d0528db82a37306540230445687ad...630b94a078d4803334ed6329ff028ff3ec352ff4), accelerating and easing maintenance for AOSC OS's AArch64 port. Thank you for all your support! + +### Coming Soon: *SIGILL's* Inaugural Issue + +> From the editor: Well, it's been a bit too long since we announced this project, hasn't it. We would like to offer an explanation for this delay. As we are currently working with engineers at Loongson to debug some of the issues surfaced as we began to use our LoongArch devices, we would like to refrain from commenting on and making fun of these issues before we come up with resolutions or at least arrive at basic understanding of the problems at hand. On the other hand, as we have extensive records on these issues and their potential solutions, we would like to split this inaugural issue into multiple episodes to help making them easier to read. As we finish editing these episodes, we will make sure that all issues referenced will come with guides and references to resolve them or at least our analysis of the casues. We believe that by doing so, readers will get the best out of our journey towards working LoongArch-powered dailies. We thank you for your understanding and patience. + +In the past few months, a few of our community contributors purchased various Loongson 3A5000/6000-based systems, with different use cases in mind. + +So, how did they fair? Find out in *SIGILL's* inaugural issue! + +![A Loongson 3A5000-based desktop computer at the AOSCC 2023 venue](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/3a5000.jpg) + +Now "Hiring" +------------ + +AOSC is a community driven by volunteers, with many ideas but little manpower. The following are projects we plan to tackle in the near future. If you are interested in lending a hand, please join us via the QR codes listed below to get in touch. + +### Community Forum + +Though "old-fashioned," a forum can be a valuable platform for more serious discussions. Please get in touch with us if you are interested in moderating our forum. + +Come Chat! +---------- + +Most of our work are conducted over the Internet, come chat and work with us! Please note that most members of the following chat groups are Chinese speakers, but please feel free to ask for assistance and translation. + +### WeChat + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/wechat.jpg) + +### Tencent QQ + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/qq.jpg) + +### Telegram + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/telegram.png) + +### Discord + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/discord.png) + +Community Outreach +------------------ + +Ever since we caught ourselves in a conflict at Baidu Tieba's Linux community, we have effectively halted all outreaching and promotional campaigns. Now that our projects and community are both maturing, we have decided to re-double our outreach and promotional efforts to expand our networks for friends and collaborators. + +The semimonthly issue you are reading right now is part of the aforementioned effort. So far, we have planned the following columns: + +- Coffee Break: Semimonthly Newsletters +- SIGILL: Rare and Unusual Hardware +- Retro: Retro Software and Hardware +- Live: In-Person Events + +"Coffee Break" issues are published every second and fourth Fridays at 12 P.M. UTC+8 time. Other columns are published irregularly per content and editing schedules. The English version of the aforementioned materials are published on the following platforms: + +- Our community portal +- Twitter/X: @aosc_dev + +We are also seeking coverage from Linux-related media to help spread the word. diff --git a/content/news/2023-10-14-coffee-break.zh-cn.md b/content/news/2023-10-14-coffee-break.zh-cn.md new file mode 100644 index 00000000..540f0f72 --- /dev/null +++ b/content/news/2023-10-14-coffee-break.zh-cn.md @@ -0,0 +1,242 @@ +--- +categories: + - journals +title: "安记冰室・十月上" +date: 2023-10-14T12:00:00+08:00 +important: false + +--- + +> “恁喝啥?” + +欢迎阅读安同开源社区 (AOSC) 双周报——《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +AOSC OS 快讯 +------------ + +在过去几周中,社区开发者们除继续对 [AOSC OS](https://aosc.io/zh-cn/downloads/) 进行日常维护外,还为系统引入了许多更新、修复,推进了系统周边组件的开发,希望这些工作能为您的工作与娱乐生活带来便利。 + +### 龙架构 (LoongArch) 移植:协作、共享、共进 + +国庆中秋长假以来的这几周,龙架构(下称 LoongArch)的软件支持和使用体验依然是我们的工作重点之一。在我社贡献者陆续用上不同 LoongArch 设备作为个人工作用机器后,在使用过程中发现了一些大大小小的问题。经过社区贡献者的努力,在龙芯多个部门工程师的积极协作下,我们调查、测试和解决了数个困扰社区用户们许久的问题,有如: + +- 通过[修复 LoongArch 内核对写合并问题规避方式的不一致](https://lore.kernel.org/loongarch/e95d97c98caa525b04cf6383a74db9cadf694afb.camel@icenowy.me/T/#m085bf4e68fd112902e0ae3fddb03d9a8b9eef0fb),使用 AMD 显卡配合 `amdgpu` 内核驱动时,Firefox 界面及网页多媒体内容中的渲染错误得到解决,再也不用纠结是不是显卡故障了 +- 排查搭载 AST2500 BMC 模组主板无法正常使用独显启动 X11 图形界面的问题并整理出了一套可用配置,使用工作站主板的桌面用户可以享受开箱体验了 +- 通过沟通龙芯主板 QVL(合格供应商名册, Qualified Vendor List)内容和测试基准,验证了 TC512A0 主板上高 I/O 负载时死机的起因为用户选用的内存稳定性欠佳,后续出现类似问题时可参考(即将发布的)社区 QVL 及硬件兼容性数据库,避免浪费不必要的时间和金钱 +- 在 Gentoo 社区 [xen0n](https://github.com/xen0n/) 同学的协助下,成功构建了 Thunderbird 邮件客户端,至此 AOSC OS 的浏览器套件补全 +- 通过更新 Rust 程序的依赖、提交上游补丁的方式,引入了许多先前无法构建的 Rust 程序,不论是系统安装、实用工具,AOSC OS 的基本系统组件日趋完整 +- 使用带有 LSX 矢量指令集扩展的工具链和 Glibc 运行时库,按照龙芯中科制定的 *Software Development and Build Convention for LoongArch™ Architectures*(《龙架构™软件开发与构建约定》)[第 7.3 节](https://github.com/loongson/la-softdev-convention/blob/2975b325e1d31c8b52d75f9948d627343c5a454c/la-softdev-convention.adoc#73-vector-instruction-support)中关于矢量指令集扩展支持的描述,重构了整个 AOSC OS 系统仓库,默认打开 LSX 矢量指令集优化 + +![龙架构设备上使用 AMD Polaris 设备存在高负载情况下稳定性欠佳的问题:我社成员正使用 glmark2 进行压力测试,协同龙芯工程师及我社贡献者测试内核等组件的新变化;目前,我们仍在调查造成此问题的原因及尝试各种潜在的解决方法](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/glmark2-benchmark.jpg) + +#### 在一起,才是开源 + +在协作调试和测试的同时,我们亦准备以独立社区的身份,参与到龙芯开源社区的工作中,并为提高社区与龙芯官方的沟通和协作效率及质量尽一份力。在未来几周中,我们准备组织或参与如下工作;下列工作中亦有发布征求意见稿等信息,欢迎您通过各项中列出的链接提出建议和批评: + +- 基于与龙芯工程师沟通收集到的测试内容和标准,建立一套社区维护的 QVL 测试系统,提供开箱即用的测试框架,编撰[“硬件兼容性数据库”](https://github.com/loongson-community/areweloongyet/issues/68),方便新用户高效装机,避免花冤枉钱或在已知兼容性问题上浪费不必要的时间 +- 撰写[“龙架构用户/贡献者必知必会”](https://github.com/loongson-community/areweloongyet/issues/71),方便新用户和开发者快速上手,避免前人踩过的坑 +- 在编写正式报告后与龙芯官方接触,反馈过去一个多月协同调试过程的体验和发现的一些问题,本着建设性原则,积极地改善企业工程师与社区贡献者的沟通和协作体验,并为公开透明的社区协作争取更多的空间 + +如上工作的成果将在合作社区[“咱龙了吗?”站点](https://areweloongyet.com/)上发布,以惠及各社区的更广阔用户群,敬请期待。我们将继续保持协作共享,与大家一起建立一个健康、包容、高效的龙芯开源社区,行则将至! + +![“咱龙了吗?”站点主页](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/areweloongyet.png) + +#### 持续推进 AOSC OS“合龙” + +AOSC OS 方面,我们先前启动了“合龙”工作——将目前位于前沿分支 (`frontier`) 中的移植工作合并到稳定分支 (`stable`) 中。在未来数个月中,我们将就两个分支中的源码及配置差异进行[审阅、测试及合并工作](https://github.com/AOSC-Dev/aosc-os-abbs/pull/4701),直到 LoongArch 架构构建配置等成为稳定系统的一部分。 + +目前,用于 LoongArch 的实验性系统发行已经可以从[社区主页下载](https://aosc.io/zh-cn/downloads),欢迎试用并提供反馈,亦欢迎有志之士加入“合龙”工作! + +### OpenSSL 3 更新进入稳定源 + +经过近两个月的重构、修缮及更新工作,OpenSSL 3 运行时以进入稳定源,取代目前[已失去上游支持](https://www.openssl.org/blog/blog/2023/09/11/eol-111/)的 OpenSSL 1.1 运行时。 + +如果您在更新过程中遇到任何问题,请于 [aosc-os-abbs 仓库报告问题](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&projects=&template=bug-report.yml)或[社区主群组](https://t.me/aosc_main) 与我们联系;为保持对部分老软件的支持,我们依然提供 OpenSSL 1.1 兼容包 (`openssl-1.1`),但考虑到潜在安全风险,推荐您及早将软件更新或联系发行方适配 OpenSSL 3。 + +**请注意:本次更新涉及软件包较多,因此系统更新可能需要较长时间;此外,考虑到 OpenSSL 为系统基础库,如出现意外断电或重启的情况,将很有可能导致系统故障。因此,建议将笔记本等使用电池的设备接入交流电并保持供电稳定,以防更新时发生意外。** + +### Vim 纳入基本系统组件 + +多年来,AOSC OS 预装的编辑器只有 GNU Nano 及 GNU ed,但实际上,我们的贡献者和用户群体中 Vim 用户亦相当多。先前,我们认为 Vim 默认附带的依赖较多,因此没有默认预装;上周,社区贡献者[杨欣辉](https://github.com/Cyanoxygen/)发现,只需将目前系统中 `vim` 软件包的 gVim(即 Vim 的 GTK 图形前端)独立打包,其实剩余的部分并不会为基本系统引入新依赖。 + +![Vim 9.0 主界面](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/vim-9.0.png) + +因此,我们在最近的更新中将 Vim 基础包 `vim` 及图形前端 `gvim` 分开打包。这样一来,我们便可以顺理成章地将 Vim 引入到 AOSC OS 的基础包中了。下一批 AOSC OS 系统包将预装 Vim 编辑器,而现有用户也将在最近推送的编辑器套件包 (`editor-base`) 更新后,作为推荐依赖自动获取到 Vim 编辑器。当然,如果您不喜欢 Vim,可随时用此命令卸载: + +``` +oma purge vim +``` + +### curl 8.4.0 更新修复严重安全漏洞 + +curl 上周预告的[“近年来最严重安全问题”](https://github.com/curl/curl/discussions/12026)已于北京时间 10 月 12 日 14 时发布修复,AOSC OS 随后更新打包测试完成,至截稿时稳定源已推送更新,建议用户和开发者尽快更新系统。 + +### 更新速览 + +#### 系统组件 + +过去两周中我们为 AOSC OS 推送了许多更新,这里简要介绍其中几项: + +- curl (`curl`) 更新至 8.4.0,修复高危安全漏洞 [CVE-2023-38545](https://curl.se/docs/CVE-2023-38545.html) +- Discord 聊天、语音及直播软件 (`discord`) 更新至 0.0.31 +- FreeCAD 计算机辅助设计套件 (`freecad`) 更新至 0.21.1 +- Kodi 家庭影音中心 (`kodi`) 更新至 20.2,加入 AV1 解码功能、NFSv4 远程文件系统支持等新特性 +- LibreOffice 办公套件 (`libreoffice`) 更新至 7.5.4.2,修复 OpenSSL 3 兼容性并引入龙架构 (LoongArch) 支持 +- OpenJDK 8 (`openjdk-8`) 更新至 8u382+ga,修复多个安全漏洞 +- OpenJDK 11 (`openjdk-11`) 更新至 11.0.20.1+ga,修复多个安全漏洞;新增 RISC-V 64 位架构 JIT 支持,大幅提升其运行时性能 +- OpenJDK 17 (`openjdk`) 更新至 17.0.8.1+ga,修复数个安全漏洞;新增 RISC-V 64 位架构 JIT 支持,大幅提升其运行时性能 +- Telegram 聊天软件 (`telegram-desktop`) 更新至 4.10.1,加入朋友圈短视频等新特性 +- Vim 编辑器 (`vim`) 更新至 9.0.2009,并拆分命令行及图形界面编辑器,方便用户选用 +- Visual Studio Code 及 VSCodium 集成开发环境 (`vscode`, `vscodium`) 更新至 1.83.0 +- YouTube 及各网页媒体下载工具 yt-dlp (`yt-dlp`) 更新至 2023.09.24,新增及修复多个站点分析及下载支持 +- Citra 任天堂 3DS 模拟器 (`citra`) 更新至 1958,引入许多新特性及修复 +- Yuzu 任天堂 Switch 模拟器 (`yuzu`) 更新至 1560,引入许多新特性及修复 +- qBittorrent 种子下载管理器 (`qbittorrent`) 更新至 4.5.4,修复 OpenSSL 3 兼容性 +- Apache HTTP 服务器 (`httpd`) 更新至 2.4.57,修复自 2.4.55 版本以来的数个安全漏洞 +- Exim 电子邮件收发服务器 (`exim`) 更新至 4.96,修复多个安全漏洞 +- PHP (`php`) 更新至 8.2.8,为 AMD64 及 AArch64 架构引入 JIT 支持 +- [aoscbootstrap](https://github.com/AOSC-Dev/aoscbootstrap) 系统发行生成工具 (`aoscbootstrap`) 更新至 0.3.1,新增自定义发行分支支持,改进引用功能报错,并引入龙架构 (LoongArch) 支持 +- [aosc-findupdate](https://github.com/AOSC-Dev/aosc-findupdate) (`aosc-findupdate`) 更新至 0.2.1,引入龙架构 (LoongArch) 支持 +- [软件源镜像数据库](https://github.com/AOSC-Dev/aosc-os-repository-data) 更新至 20231007,新增多个镜像源数据 +- [apt-gen-list-rs](https://github.com/AOSC-Dev/apt-gen-list-rs) 软件源镜像管理工具 (`apt-gen-list`) 更新至 0.7.0,新增 Omakase 对接功能及引入龙架构 (LoongArch) 支持 +- [Omakase](https://github.com/AOSC-Dev/oma) 软件包管理前端 (`oma`) 更新至 1.0.8,更新内部组件版本 +- Apache Ant Java 项目构建工具 (`apache-ant`) 更新至 1.10.4 +- Apache Maven Java 项目构建工具 (`apache-maven`) 更新至 3.9.4 +- Gradle 项目构建工具 (`gradle`) 更新至 8.3,新增 Kotlin 编程支持等新特性 +- Racket 函数式变成语言工具链及 IDE (`racket`) 更新至 8.10 +- Ruby 编程语言工具链 (`ruby`) 更新至 3.2.2,修复 OpenSSL 3 支持并引入 MJIT 和 TypeProf 等新语言特性,提升执行效率 +- Gperftools 处理器性能分析工具 (`gperftools`) 更新至 2.13,新增 RISC-V 64 位架构支持 +- Qt 6 运行时 (`qt-6`) 更新至 6.5.1 + +#### 新增组件 + +过去两周,AOSC OS 软件仓库中新增如下软件包: + +- Fcitx5 的 Mozc 日语输入引擎 (`fcitx5-mozc`) +- Cython 0.29 兼容工具链 (`cython-0.29`):先前引入的 Cython 3.0.2 更新与一部分较老的软件源码不兼容,导致这些软件包无法编译,引入这一兼容工具链可暂时解决问题 +- Flann (`flann`) 高性能近似最近邻算法 (Approximate Nearest Neighbour) 库 +- OpenSSL 1.1 兼容性运行时 (`openssl-1.1`):用于尚未迁移到 OpenSSL 3 运行时的应用程序,但由于该软件包已经没有上游安全更新支持,如非必要不推荐使用 + +#### 删除组件 + +过去两周中,我们移除了这些软件包: + +- 命令行 DNS 查询工具 Dog (`dog`):该软件已失去维护且不兼容 OpenSSL 3 +- grpcio Python 组件 (`grpcio`):该包内容合并至 gPRC (`grpc`) 运行时包中 +- Mumble 语音聊天软件 (`mumble`):社区维护者中缺乏用户,不便于测试,故失去维护 +- PyPy 2.x 工具链 (`pypy`):社区维护者中缺乏用户,不便于测试,故失去维护 +- Retdec 反编译工具 (`retdec`):社区维护者中缺乏用户,不便于测试,故失去维护 +- Ruby GNOME2 组件(`ruby-atk` 和 `ruby-gtk2` 等):这些软件包不再支持 Ruby 3.0 以上版本,并且在我们的软件仓库中已经没有在使用的软件 +- ScreenRuler 屏上尺子 (`screenruler`):失去上游维护,其依赖已无法正常构建 +- Swift XMPP 聊天软件 (`swift-im`):社区维护者中缺乏用户,不便于测试,故失去维护 +- Telegram 命令行工具 (`tg`):失去上游维护,已不能正常使用 +- Vaultwarden 密码管理器服务器 (`vaultwarden`):该软件不便于作为软件包分发,建议用户使用官方容器等其他途径获取该软件 +- ydcv-rs 有道词典客户端 (`ydcv-rs`):失去上游维护,已不能正常使用 + +#### 周边项目 + +- [照妖镜](https://github.com/AOSC-Dev/treevsrepo)软件包版本比对及审计工具 (`treevsrepo`) 更新至 0.3.4,引入龙架构 (LoongArch) 支持 +- [p-vector](https://github.com/AOSC-Dev/p-vector-rs) APT/Oma 软件源管理器 (`p-vector`) 更新至 0.3.6,修复 OpenSSL 3 兼容性并引入龙架构 (LoongArch) 支持 +- 社区贡献者[王江津](https://github.com/RedL0tus) 开发了一款新的壁纸元数据管理及生成工具 [wpmeta](https://github.com/AOSC-Dev/wpmeta),新增多语言支持,后续引入的 AOSC OS 壁纸将带有多语言标题及作者名称翻译 + +#### 开发工具 + +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) 半自动打包工具更新至 1.6.109 + - 按照龙芯中科制定的 *Software Development and Build Convention for LoongArch™ Architectures*(《龙架构™软件开发与构建约定》)[第 7.3 节](https://github.com/loongson/la-softdev-convention/blob/2975b325e1d31c8b52d75f9948d627343c5a454c/la-softdev-convention.adoc#73-vector-instruction-support)中定义的兼容性规范默认打开了 LSX 矢量指令集优化 + - 将龙架构 (LoongArch) 兼容基线设置为 `loongarch64` 而非 3A5000 等处理器对应的 `la464` 核心,进而保障基于龙架构 (LoongArch) 的 2K 系列处理器支持 + - 修复 RISC-V (`riscv64`) 在不打开链接时优化(Link-Time Optimisation,简称 LTO)时无法构建 Rust 程序的问题 + - 默认关闭 MIPS64 R6 (`mips64r6el`) 架构 Rust 默认构建参数中的 MSA 优化以规避一处优化错误,先前,此问题导致 Rust 无法正确计算 `sha2` 系列校验值 + +### 尝鲜预报 + +为更好地测试我们的系统更新,我们为不同类别的更新创建相应测试源,供用户与贡献者测试。目前,我们开放如下测试源: + +- **Boost 1.83:** 将 Boost 运行时库更新至 1.83 并更新或重构相关软件,提升对部分新 C++ 程序源码的兼容性 + +这些测试源也将同步至我们的龙架构 (LoongArch) 前沿分支 (`frontier`),并为正式引入龙架构支持做准备。 + +输入如下命令方可随时加入或退出测试源: + +``` +sudo oma topics +``` + +如果您在使用如上测试源的过程中遇到问题,请随时联系我们,我们将尽力协助您修复问题。 + +社区快讯 +-------- + +### 我社 OSPP 2023 项目圆满收官 + +经过我社导师及学生们的努力,本年度社区组织的两个 OSPP 2023 项目均已成功通过导师审阅,意味着社区判定学生成功完成了各项目所制定的任务和目标。恭喜[“Autobuild3 自动化打包测试框架”](https://summer-ospp.ac.cn/org/prodetail/23f3e0033?list=org&navpage=org)项目学生 [leedagee](https://github.com/leedagee) 及导师 [Camber Huang](https://github.com/CamberLoid) 和[“自由及开源软件简中本地化工作”](https://summer-ospp.ac.cn/org/prodetail/23f3e0032?list=org&navpage=org)项目学生[刘万涛](https://github.com/LWanTao)及导师[白铭骢](https://github.com/MingcongBai)! + +希望两位参与社区项目的学生能在社区和更广阔的天地,继续为各开源软件的发展和进步添砖加瓦。 + +### 社区友人捐赠的两台新 AArch64 构建服务器投入使用 + +年初[升级 AMD64 构建服务器](https://wiki.aosc.io/zh/community/crowdsourcing/epyc-22333-upgrade-2023/)后,同属 AOSC OS 一级架构的 AArch64 (`arm64`) 维护算力已大幅度落后于 AMD64 (`amd64`) 。加之网络及存储 I/O 性能方面的局限,现有 AArch64 构建服务器拖慢了一级架构编译、打包和测试的效率。六月,社区友人捐赠了两台高性能 AArch64 服务器:一台搭载 64 核飞腾 FT2000/64 处理器,另一台搭载 64 核华为鲲鹏 920。而后,社区朋友慷慨解囊,[成功众筹了一些必要部件](https://wiki.aosc.io/zh/community/crowdsourcing/new-aarch64-server-parts/)并提供托管服务。 + +![两台全新 AArch64 构建服务器](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/new-aarch64-servers.jpg) + +目前,这些服务器已[正式上线并投入使用](https://github.com/AOSC-Dev/Buildbots/compare/588d37621c6d0528db82a37306540230445687ad...630b94a078d4803334ed6329ff028ff3ec352ff4),为我们持续维护和改进 AOSC OS 的 AArch64 架构移植提供强劲动力。感谢社区各位友人的支持! + +### 预告:《聊斋》创刊号 + +> 编者按:拖这么久了,也许有必要解释下为什么这期《聊斋》为何迟迟没有发布——考虑到目前社区正与龙芯中科的工程师协同调试使用过程中遇到的问题,我们不希望在有关问题得到解决或得出初步结论之前草率地进行讨论或吐槽;此外,遇到的问题和解决过程记录较长,我们目前希望更系统性地整理该刊内容,并分期发布,方便读者阅读。在一切就绪后,《聊斋》中遇到的每个问题将附有解决方案、或对问题原因的分析,以期最大化此类内容的建设性。感谢各位读者的理解和耐心! + +过去几个月中,社区贡献者陆续购买了数台搭载龙芯 3A5000 及 3A6000 设备,用于各种不同场景。那么,龙架构 (LoongArch) 加持的龙芯设备的使用体验如何呢?敬请期待《聊斋》创刊号! + +![AOSCC 2023 会场上的龙芯 3A5000 台式机](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/3a5000.jpg) + +招工启事 +-------- + +AOSC 是由志愿者在业余时间组织和驱动的社区,想法众多但人力不足。以下是我们最近希望完成的一些工作,如果您有兴趣,欢迎通过“一起吹水”栏目中列出的任意方式与我们取得联系: + +### 社区论坛 + +论坛也许“老土”,但也不失为用于认真交流问答的好平台。如果您有兴趣参与论坛管理和维护,请联系我们。 + +一起吹水 +-------- + +互联网是我社的主要活动场所,欢迎来社区各群聊及语音频道交流玩耍: + +### 微信群 + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/wechat.jpg) + +### QQ 群 + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/qq.jpg) + +### Telegram 群组 + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/telegram.png) + +### Discord 语音频道 + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/discord.png) + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周五午间 12 时发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2023-10-17-aosc-os-releases-2023-10.md b/content/news/2023-10-17-aosc-os-releases-2023-10.md new file mode 100644 index 00000000..bf266868 --- /dev/null +++ b/content/news/2023-10-17-aosc-os-releases-2023-10.md @@ -0,0 +1,71 @@ +--- +categories: + - news + - advisories +title: "Now Available: New Wave of AOSC OS System Releases" +date: 2023-10-17T15:00:00+08:00 +important: true + +--- + +Recently, we released a new wave of AOSC OS system releases. This wave contains a year's worth of component updates, incorporating routine updates, bugfixes, and enhanced hardware support. + +You may obtain AOSC OS from our downloads page: [https://aosc.io/downloads](https://aosc.io/downloads) + +![AOSC OS Desktop](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231017/imgs/desktop.en.png) + +New Features +---- + +This wave of update includes many new features and improvements to the default user experience. Most notably, all new system releases now come pre-installed with [Omakase](https://github.com/AOSC-Dev/oma), our in-house package management interface which aims to improve ease-of-use and reliability. The Linux Kernel, as well as the graphical and audio stacks also got refreshed to improve user experience on newer hardware. We have also made updates to key system components, most notably: + +- Linux Kernel was updated to the 6.4 branch (6.1 longterm versions also available) to ensure a smooth experience on newer hardware. We have also incorporated additional patches to improve out-of-the-box experience on Microsoft Surface devices, as well as Huawei's Kunpeng 920- and Phytium D2000/8-based devices. +- Core was updated to 11.0.1, boasting the newest core runtime libraries and toolchain, such as Glibc 2.37 with new architecture support and instruction set optimisations, and GCC 13.2.0, which provides support for latest programming language features. +- OpenSSL runtime was updated to 3.1.1 with support for latest cryptographic algorithms, as well as key security enhancements. +- The default browsers also saw updates, such as Mozilla Firefox 117.0.1 and Thunderbird 115.2.2. +- The KDE Plasma desktop was updated to contain newest versions from end of 2022, with interface and performance tweaks and optimisations applied by default. +- Enhanced Shell prompt with SSH connection marker, optimised Git status prompts, and standardised profile scripts. +- More powerful editors, with Vim now pre-installed in addition to GNU Nano. + +Architecture Support +---- + +Free and open source software greatly enhanced portability of software applications and operating systems, making it possible to run them on a wide variety of hardware with varying features and performance metrics. AOSC OS benefits from this great ecosystem. So far, we support a wide range of devices built upon seven (7) processor architectures: AMD64/x86-64, AArch64, MIPS-based Loongson 3 processors (1000-4000 series), MIPS64 Release 6, IBM POWER8+, 64-bit RISC-V, and LoongArch. + +This wave of updates offers support for two new architectures: + +- LoongArch: We have completed a basic port for this architecture and AOSC OS now works out-of-the-box on "New World Firmware" Loongson 3A5000/3C5000/3C5000L/3A6000-based devices. This port requires components newer than our other supported architectures to function correctly on these devices. In the coming months, we will be working on making these changes available as stable updates for all other architectures. +- MIPS64 Release 6: This port is currently maintained by employees at the CIP United Co., Ltd. and is used as its reference system environment for monitoring and testing software application support for the MIPS64 Release 6 architecture. + +We have also rebooted the IBM POWER8+ port, rebuilding it against the new floating-point ABI (IEEE Long Double), enhancing compatibility with current applications and future updates. + +### Levels of Architectural Support + +To help ensure efficient maintenance and to guide prospective users, we classify our architectural ports into three classes: + +- Primary Architectures: Includes AMD64 and AArch64; these architectures enjoy good hardware availability and software support. +- Secondary Architectures: Includes AArch64, MIPS-based Loongson 3 processors (1000-4000 series), MIPS64 Release 6, IBM POWER8+, and 64-bit RISC-V; these architectures come with near-complete mainline software support. However, architectures listed under this class suffer from insufficient computing performance for regular maintenance, or less reliable hardware. +- Tertiary Architectures: LoongArch currently falls into this category; support for these architectures are considered experimental, but may be promoted as secondary, or even primary, architectures, should quality of maintenance and user experience improve. + +Get in Touch +---- + +At AOSC, we strive to provide and maintain a easy and pleasant experience for our users. We welcome you at our community chat groups to share your experience, or to [report problems](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&projects=&template=bug-report.yml) that you may have experienced while using AOSC OS. + +### Telegram + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231017/imgs/telegram.png) + +### Discord + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231017/imgs/discord.png) + +### WeChat + +Please scan this QR code and note that you would like to join our community chat group. + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231017/imgs/wechat.png) + +### QQ + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231017/imgs/qq.jpg) diff --git a/content/news/2023-10-17-aosc-os-releases-2023-10.zh-cn.md b/content/news/2023-10-17-aosc-os-releases-2023-10.zh-cn.md new file mode 100644 index 00000000..3eca9709 --- /dev/null +++ b/content/news/2023-10-17-aosc-os-releases-2023-10.zh-cn.md @@ -0,0 +1,69 @@ +--- +categories: + - news + - advisories +title: "AOSC OS 发布新一批系统发行" +date: 2023-10-17T15:00:00+08:00 +important: true + +--- + +近日,我们发布了新一批 AOSC OS 系统发行,包含一年以来的系统组件更新,在引入更新和修复系统中存在的问题的同时,还改善了硬件支持。 + +前往我社下载页面即可获取 AOSC OS:[https://aosc.io/zh-cn/downloads](https://aosc.io/zh-cn/downloads) + +![AOSC OS 默认桌面](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231017/imgs/desktop.zh_CN.png) + +系统特性 +---- + +本次发行更新囊括许多新特性和使用体验改进,其中最为明显的是新增了社区开发的 [Omakase 软件包管理前端](https://github.com/AOSC-Dev/oma),改善管理系统组件的易用性和可靠性;更新了内核、图形栈、音频栈等关键硬件支持组件,确保在新硬件上的使用体验;我们也对系统各关键组件进行了修缮和更新,主要的几项有: + +- Linux 内核更新至 6.4 分支,同时提供 6.1 长期支持分支,确保新硬件上的系统体验;另有引入一系列针对 Microsoft Surface、华为擎云 W510 和飞腾 D2000/8 系列设备的补丁,改善这些设备上的开箱使用体验 +- Core 11.0.1,包含最新核心运行时库及工具链,如包含更多架构支持及指令集优化的 Glibc 2.37 和支持各类最新的语言特性的 GCC 13.2.0 +- 引入 OpenSSL 3.1.1 运行时,包含最新的算法库及安全修复 +- 更新预装浏览器套件,包括 Mozilla Firefox 117.0.1 及 Thunderbird 115.2.2 +- KDE Plasma 桌面套件更新,包含截至 2022 年底的最新版本,对默认使用体验和性能进行了调优 +- 增强默认命令提示符功能,如增加 SSH 远程命令行标记、优化 Git 提示符和规范化启动脚本等 +- 增强默认编辑器功能,在 GNU Nano 的基础上附加预装 Vim 编辑器 + +架构支持 +---- + +开放与自由源代码授权大大提升了软件乃至操作系统的可移植性,让这些软件得以运行在许多不同种类、性能各异的硬件上。得益于此,AOSC OS 共支持基于 7 个处理器架构的设备:AMD64/x86-64、AArch64、基于 MIPS 的龙芯三号处理器(1000 ~ 4000 系列)、MIPS64 Release 6、IBM POWER8+、64 位 RISC-V 和龙架构 (LoongArch)。其中,本轮发行中包含两个新架构移植: + +- 龙架构 (LoongArch):目前该架构已完成基本移植,可在搭载“新世界固件”的龙芯 3A5000/3C5000/3C5000L/3A6000 设备上开箱即用;由于该架构较新,该架构系统包含较其他架构版本新的系统组件,在后续几个月中,这些更新将合并到主线架构的稳定源中,成为正式架构 +- MIPS64 Release 6:此架构由上海芯联芯智能科技有限公司职工维护,目前在该公司作为基准环境,用于监测 MIPS64 Release 6 软件应用生态支持情况 + +此外,我们还重启了 IBM POWER8+ 的架构移植,将其基于新浮点二进制接口规范 (IEEE Long Double) 重构,改善应用与后续组件更新的兼容性。 + +### 架构分类 + +为确保系统维护效率和更好地引导用户选用 AOSC OS,我们将支持架构分为三个级别: + +- 一级架构 (Primary Architecture):包括 AMD64 和 AArch64,此类架构硬件可用性良好且主线软件支持基本完备 +- 二级架构 (Secondary Architecture):包括基于 MIPS 的龙芯三号处理器(1000 ~ 4000 系列)、MIPS64 Release 6、IBM POWER8+ 和 64 位 RISC-V;此类架构主线软件支持基本满足标准特性要求(必要时有删减),硬件时有可靠性问题且维护算力不足 +- 三级架构 (Tertiary Architecture):目前包括龙架构 (LoongArch);此类架构属于实验性移植,在维护质量提高和系统使用体验基本稳定后会升格为二级、甚至一级架构 + +常联系 +---- + +欢迎来我社各聊天群组分享使用体验或于我们的源码仓库[报告问题](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&projects=&template=bug-report.yml),我们将尽一切努力持续为您营造轻松愉快的使用体验。 + +### 微信群 + +请扫描此二维码添加好友并说明来意:申请加入 AOSC 社区频道。 + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231017/imgs/wechat.png) + +### QQ 群 + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231017/imgs/qq.jpg) + +### Telegram 群组 + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231017/imgs/telegram.png) + +### Discord 语音频道 + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231017/imgs/discord.png) diff --git a/content/news/2023-10-28-coffee-break.md b/content/news/2023-10-28-coffee-break.md new file mode 100644 index 00000000..c1d49061 --- /dev/null +++ b/content/news/2023-10-28-coffee-break.md @@ -0,0 +1,204 @@ +--- +categories: + - journals +title: "Coffee Break: October Issue 2/2" +date: 2023-10-28T12:00:00+08:00 +important: false + +--- + +> "What would y'all like to drink today?" + +Thank you for reading "Coffee Break," AOSC's semi-monthly newsletter! Here, you will find summaries of development updates, community matters, and upcoming events in an accessible and fun fashion. This column is also used to publish interview transcripts with individuals and representatives from various groups, clubs, and industries and will be published as special issues. This column does not contain op-ed-type contents. + +AOSC OS: Featured Items +----------------------- + +In the past two months, besides routine maintenance on [AOSC OS](https://aosc.io/downloads), community developers also introduced many updates and fixes, as well as the accompanying applications and components. We hope that these updates will bring you enjoyment and productivity. + +Now Available: New Wave of AOSC OS System Releases +==== + +Recently, we released a new wave of AOSC OS system releases. This wave contains a year's worth of component updates, incorporating routine updates, bugfixes, and enhanced hardware support. + +You may obtain AOSC OS from our downloads page: [https://aosc.io/downloads](https://aosc.io/downloads) + +![AOSC OS Desktop.](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231028/imgs/desktop.en.png) + +New Features +---- + +This wave of update includes many new features and improvements to the default user experience. Most notably, all new system releases now come pre-installed with [Omakase](https://github.com/AOSC-Dev/oma), our in-house package management interface which aims to improve ease-of-use and reliability. The Linux Kernel, as well as the graphical and audio stacks also got refreshed to improve user experience on newer hardware. We have also made updates to key system components, most notably: + +- Linux Kernel was updated to the 6.4 branch (6.1 longterm versions also available) to ensure a smooth experience on newer hardware. We have also incorporated additional patches to improve out-of-the-box experience on Microsoft Surface devices, as well as Huawei's Kunpeng 920- and Phytium D2000/8-based devices. +- Core was updated to 11.0.1, boasting the newest core runtime libraries and toolchain, such as Glibc 2.37 with new architecture support and instruction set optimisations, and GCC 13.2.0, which provides support for latest programming language features. +- OpenSSL runtime was updated to 3.1.1 with support for latest cryptographic algorithms, as well as key security enhancements. +- The default browsers also saw updates, such as Mozilla Firefox 117.0.1 and Thunderbird 115.2.2. +- The KDE Plasma desktop was updated to contain newest versions from end of 2022, with interface and performance tweaks and optimisations applied by default. +- Enhanced Shell prompt with SSH connection marker, optimised Git status prompts, and standardised profile scripts. +- More powerful editors, with Vim now pre-installed in addition to GNU Nano. + +### Omakase 1.1 Released + +After months of development work, AOSC OS's default package manager, [Omakase](https://github.com/AOSC-Dev/oma) has received its first feature update. In addition to addressing design, maintenance, and usability issues found in the 1.0 releases, Omakase 1.1 also introduced a number of quality-of-life improvements: + +- **System integration** - Omakase will now detect power state and control system power/session management, preventing unexpected failures during package management operations +- **UI improvements** - Introducing an easier-to-understand history and undo interface; confirmation interfaces will now be printed on terminal scrollback for easy review +- **Performance optimisation** - Parallelized download and extraction makes for much quicker metadata refresh operations +- **Plugin Support** - Enhance Omakase's features by introducing external/third-party extensions. + +We would love to hear your thoughts and criticisms. [Get in touch!](#come-chat) + +### Wallpaper Collection Update for 2023H1 Now Available + +Last week, we made the wallpaper collection update for early 2023 available in our community repository. The update contains 10 most popular community submissions and updates the default wallpapers for our Desktop releases. + +![New wallpapers in the 2023H1 collection.](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231028/imgs/2023h1-wallpapers.jpg) + +We received many more [great submissions](https://github.com/AOSC-Dev/aosc-os-abbs/discussions/4474) from friends of the community. These submissions are available from the "extras" collection. You may obtain them with the command below: + +``` +oma install aosc-community-wallpapers-extras-2023 +``` + +Thank you for your submissions and enjoy! + +### System Branding Update + +In late August, we introduced [new visual IDs for our system distributions](https://github.com/AOSC-Dev/newsroom/blob/masterhttps://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230825/en.md#new-visual-ids-for-system-distributions), including new logos for AOSC OS and Afterglow, our legacy-device-optimised distribution. Recently, we have update our system brandings in accordance with the new visual IDs: + +![AOSC OS adorned with the new logo.](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231028/imgs/branding.en.png) + +### Updates from the Frontier: Mainlining LoongArch + +Earlier, we have initiated the effort to merge the LoongArch port AOSC OS from the `frontier` branch to our `stable` branch. In the next few months, we will continue to [review, test, and merge]https://github.com/AOSC-Dev/aosc-os-abbs/pull/4701) the changes between the two branches. The completion of this task marks the LoongArch port as stable. + +You may download the experimental LoongArch system release from the [community portal](https://aosc.io/zh-cn/downloads). We look forward to hearing your feedback and welcome your contribution to making our LoongArch port better! + +### At a Glance: AOSC OS Updates + +#### System Components + +A good number of updates made it into AOSC OS in the past two weeks, here are a few items of note: + +- [Omakase](https://github.com/AOSC-Dev/oma) was updated to 1.1.6, with many quality-of-life improvements and bugfixes. +- OpenSSL runtime (`openssl`, `openssl+32`) was updated to 3.1.4,addressing [a "moderate" security vulnerability](https://www.openssl.org/news/secadv/20231024.txt). +- Editors suite (`editor-base`) now comes with Vim. +- Discord was updated to 0.0.32 +- Fcitx's Moegirl Wiki dictionary ([fcitx5-pinyin-moegirl](https://github.com/outloudvi/mw2fcitx)) was updated to 20231028 with many new phrases added. +- Feishin (`feishin`), a music player client for self-hosted streaming services, was updated to 0.4.1. +- Fend (`fend`), a command-line calculator and unit converter, was updated to 1.3.0. +- MangoHud (`mangohud`, `mangohud+32`), a display overlay for monitoring FPS, was updated to 0.7.0, enabling NVIDIA GPU status monitoring support. +- Visual Studio Code (`vscode`) 及 VSCodium (`vscodium`) was updated to 1.83.1 +- Neofetch (`neofetch`), a command-line system information viewer, was updated to 7.3.10+git20230913, introducing the new AOSC OS logo. +- Desktop support suite (`desktop-base`) was updated to 11.0.0+campanula20190706, introducing the new AOSC OS logo. +- APT was updated to 2.6.1 to address build failures in the 2.5 releases. +- APT repository configuration manager [apt-gen-list](https://github.com/AOSC-Dev/apt-gen-list-rs) was updated to 0.7.0 with Omakase integration. +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) was updated to 1.7.2 with the new [package testing framework](https://wiki.aosc.io/developer/packaging/autobuild3-testing-framework/). + +#### New Packages + +We introduced a few packages into the AOSC OS repository in the past two weeks: + +- Dua (`dua`) - A command-line desktop usage analyzer and visualiser. +- NVIDIA X Control Library (`libxnvctrl`, `libxnvctrl+32`) - For reading NVIDIA GPU configuration and status. +- Pivy (`pivy`) - Python bindings for Coin3D. +- [repo-refresh](https://github.com/AOSC-Dev/scriptlets/tree/master/repo-refresh) (`repo-refresh`) - A simple script for refreshing the local package metadata database. +- Wallpaper metadata generator (`wpmeta`) - Used to generate AOSC OS wallpaper collection packages. + +#### Peripheral Projects + +- The system installer ([DeployKit](https://github.com/AOSC-Dev/aoscdk-rs)) version 0.9.9 was released, with improved wapfile size calculation, the default value on devices with small RAM should now be more reasonable. +- news developer [Xiaoyuan "Mag Mell" Fu](https://github.com/eatradish) and [Xinhui Yang](https://github.com/Cyanoxygen) commenced work to port the backend of our [packages information site](https://packages.aosc.io/) to PostgreSQL. The new backend is expected to be more reliable than our current implementation. +- news developer [Xinhui Yang](https://github.com/Cyanoxygen) developed a [dpkg](https://wiki.debian.org/dpkg) package version comparison implementation in PL/pgSQL - [dpkg-vercmp-plpgsql](https://github.com/AOSC-Dev/dpkg-vercmp-plpgsql). +- news developer [Tianhao Chai](https://github.com/cthbleachbit) implemented logic for listing newest and outdated packages in our package repository management toolkit, [p-vector-rs](https://github.com/AOSC-Dev/p-vector-rs). +- Repository manifest management toolkit [RepoKit](https://github.com/AOSC-Dev/repokit) saw fixes in its incremental scanner and a much faster implementation for calculating system release sizes using .xz metadata. +- Our lucky draw utility, [choupiaotoujiang](https://github.com/AOSC-Dev/choupiaotoujiang), switched to use the lighter `fastrand` random number generator library. +- news developer [Tianhao Chai](https://github.com/cthbleachbit) implemented a [Dracut module](https://github.com/AOSC-Dev/dracut-stressapptest) to integrate `stressapptest` in the initramfs. This will be useful for testing memory on non-x86 devices. + +#### Development Tools + +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) version 1.7.2 was released. The new version introduces the [package testing framework](https://wiki.aosc.io/developer/packaging/autobuild3-testing-framework/) implemented by our community developer [leedagee](https://github.com/leedagee). The framework was implemented as a [OSPP 2023](https://summer-ospp.ac.cn/) project and will provide yet another means to enhance our package quality assurance standards. +- Our containerised pacakging environment manager, [Ciel](https://github.com/AOSC-Dev/ciel-rs), was updated to 3.2.1, fixing architecture detection for MIPS-based Loongson 3 (`loongson3`) systems. + +### In the Oven + +To help test our system updates, we created various "topic" repositories to deliver them to our users and maintainers. The following topic repositories were created earlier this week: + +- **Default Bash Configuration 0.5.2.2 (`bash-config-0.5.2.2`):** Fixing incorrectly set `umask` values in non-login sessions and adds `~/.local/bin` to the default executable search path (`$PATH`). +- **Boost 1.83:** Updating Boost runtime libraries to 1.83, updating and rebuilding affected packages, improving compatibility with some newer C++ sources. +- **[Mirrormgr](https://github.com/AOSC-Dev/mirrormgr) 0.8.0 (`mirrormgr-0.8.0`):** Our new, dialog-based package repository mirror manager. Mirrormgr will replace `apt-gen-list` in the near future. + +Changes from these topics will also make it to our work-in-progress LoongArch port, helping adopting LoongArch as an officially supported architecture. + +You may enable and test out the aforementioned updates with the following command: + +``` +sudo oma topics +``` + +Should you run into issues while using the topic repositories, please don't hesitate to get in touch for assistance. + +Community Updates +----------------- + +### Coming Soon: *SIGILL's* Inaugural Issue + +> From the editor: Well, it's been a bit too long since we announced this project, hasn't it. We would like to offer an explanation for this delay. As we are currently working with engineers at Loongson to debug some of the issues surfaced as we began to use our LoongArch devices, we would like to refrain from commenting on and making fun of these issues before we come up with resolutions or at least arrive at basic understanding of the problems at hand. On the other hand, as we have extensive records on these issues and their potential solutions, we would like to split this inaugural issue into multiple episodes to help making them easier to read. As we finish editing these episodes, we will make sure that all issues referenced will come with guides and references to resolve them or at least our analysis of the casues. We believe that by doing so, readers will get the best out of our journey towards working LoongArch-powered dailies. We thank you for your understanding and patience. + +In the past few months, a few of our community contributors purchased various Loongson 3A5000/6000-based systems, with different use cases in mind. + +So, how did they fair? Find out in *SIGILL's* inaugural issue! + +![A Loongson 3A5000-based desktop computer at the AOSCC 2023 venue](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/3a5000.jpg) + +Now "Hiring" +------------ + +AOSC is a community driven by volunteers, with many ideas but little manpower. The following are projects we plan to tackle in the near future. If you are interested in lending a hand, please join us via the QR codes listed below to get in touch. + +### Community Forum + +Though "old-fashioned," a forum can be a valuable platform for more serious discussions. Please get in touch with us if you are interested in moderating our forum. + +Come Chat! +-------- + +Most of our work are conducted over the Internet, come chat and work with us! Please note that most members of the following chat groups are Chinese speakers, but please feel free to ask for assistance and translation. + +### Telegram + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231028/imgs/telegram.png) + +### Discord + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231028/imgs/discord.png) + +### WeChat + +Please scan this QR code and note that you would like to join our community chat group. + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231028/imgs/wechat.png) + +### QQ + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231028/imgs/qq.jpg) + +Community Outreach +------------------ + +Ever since we caught ourselves in a conflict at Baidu Tieba's Linux community, we have effectively halted all outreaching and promotional campaigns. Now that our projects and community are both maturing, we have decided to re-double our outreach and promotional efforts to expand our networks for friends and collaborators. + +The semimonthly issue you are reading right now is part of the aforementioned effort. So far, we have planned the following columns: + +- Coffee Break: Semimonthly Newsletters +- SIGILL: Rare and Unusual Hardware +- Retro: Retro Software and Hardware +- Live: In-Person Events + +"Coffee Break" issues are published every second and fourth Fridays at 12 P.M. UTC+8 time. Other columns are published irregularly per content and editing schedules. The English version of the aforementioned materials are published on the following platforms: + +- Our community portal +- Twitter/X: @aosc_dev + +We are also seeking coverage from Linux-related media to help spread the word. diff --git a/content/news/2023-10-28-coffee-break.zh-cn.md b/content/news/2023-10-28-coffee-break.zh-cn.md new file mode 100644 index 00000000..30396006 --- /dev/null +++ b/content/news/2023-10-28-coffee-break.zh-cn.md @@ -0,0 +1,204 @@ +--- +categories: + - journals +title: "安记冰室・十月下" +date: 2023-10-28T12:00:00+08:00 +important: false + +--- + +> “你要火撒?” + +欢迎阅读安同开源社区 (AOSC) 双周报——《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +AOSC OS 快讯 +------------ + +在过去几周中,社区开发者们除继续对 [AOSC OS](https://aosc.io/zh-cn/downloads/) 进行日常维护外,还为系统引入了许多更新、修复,推进了系统周边组件的开发,希望这些工作能为您的工作与娱乐生活带来便利。 + +### AOSC OS 发布新一批系统发行 + +近日,我们发布了新一批 AOSC OS 系统发行,包含一年以来的系统组件更新,在引入更新和修复系统中存在的问题的同时,还改善了硬件支持。 + +前往我社下载页面即可获取 AOSC OS:[https://aosc.io/zh-cn/downloads](https://aosc.io/zh-cn/downloads) + +![AOSC OS 默认桌面](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231028/imgs/desktop.zh_CN.png) + +#### 系统特性 + +本次发行更新囊括许多新特性和使用体验改进,其中最为明显的是新增了社区开发的 [Omakase 软件包管理前端](https://github.com/AOSC-Dev/oma),让系统组件的管理更方便、可靠;更新了内核、图形栈、音频栈等关键硬件支持组件,确保在新硬件上的使用体验;我们也对系统各关键组件进行了修缮和更新,主要的几项有: + +- 更新 Linux 内核至 6.4 分支,同时提供 6.1 长期支持分支,确保新硬件上的系统体验;另有引入一系列针对 Microsoft Surface、华为擎云 W510 和飞腾 D2000/8 系列设备的补丁,改善这些设备上的开箱使用体验 +- Core 更新至 11.0.1,包含最新核心运行时库及工具链,如包含更多架构支持及指令集优化的 Glibc 2.37 和支持各类最新语言特性的 GCC 13.2.0 +- 引入 OpenSSL 3.1.1 运行时,包含最新的算法库及安全修复 +- 更新预装浏览器套件,包括 Mozilla Firefox 117.0.1 及 Thunderbird 115.2.2 +- 更新 KDE Plasma 桌面套件,包含截至 2022 年底的最新版本,对默认使用体验和性能进行了调优 +- 增强默认命令提示符功能,如增加 SSH 远程命令行标记、优化 Git 提示符和规范化启动脚本等 +- 增强默认编辑器功能,在 GNU Nano 的基础上附加预装 Vim 编辑器 + +### Omakase 1.1 发布 + +经过数个月的开发,AOSC OS 的默认软件包管理工具 [Omakase](https://github.com/AOSC-Dev/oma) 终于迎来了第一个特性更新!Omakase 1.1 在修复 1.0 分支中存在的一些设计、开发和使用问题的同时,引入了许多便利用户的特性: + +- **系统集成:** 自动检查电源条件,控制系统电源及会话管理,有效避免意外故障 +- **界面进化:** 重新设计历史及撤销功能,操作历史、回放及撤销界面更简明易懂;各项操作确认后,向终端回显操作内容,以便查阅 +- **性能优化:** 优化下载及解压逻辑,源数据刷新大幅度增速 +- **插件支持:** 支持功能扩展及第三方特性集成 + +欢迎您在[我社各聊天群组](#一起吹水)对 Omakase 的设计和使用体验提出批评建议,祝您使用愉快! + +### 2023 上半年壁纸包更新发布 + +上周,我们发布了 2023 上半年的壁纸包更新,引入十张得票最高的社区好友投稿,更换了桌面版 (Desktop) 系统的默认壁纸。 + +![2023 上半年新壁纸](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231028/imgs/2023h1-wallpapers.jpg) + +此外,我们还将其他[优秀投稿](https://github.com/AOSC-Dev/aosc-os-abbs/discussions/4474)纳入了 2023 版的扩充壁纸包中。您可以通过如下命令安装扩充壁纸包: + +``` +oma install aosc-community-wallpapers-extras-2023 +``` + +感谢各位社区好友的投稿,希望这些壁纸能为您的 AOSC OS 增添光彩! + +### “改朝换代”:系统徽标更新 + +八月底,我们推出了社区发行版的[新视觉 ID 设计](https://github.com/AOSC-Dev/newsroom/blob/masterhttps://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20230825/zh_CN.md#%E5%8F%91%E8%A1%8C%E7%89%88%E6%96%B0%E8%A7%86%E8%A7%89-id),包含 AOSC OS 和老旧设备专版“星霞” (Afterglow) 的新徽标。近期,我们通过系统徽标套件更新引入了这些新 Logo,效果如图: + +![AOSC OS 新徽标展示](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231028/imgs/branding.zh_CN.png) + +### 持续推进 AOSC OS“合龙” + +先前,我们启动了“合龙”工作——将目前位于前沿分支 (`frontier`) 中的移植工作合并到稳定分支 (`stable`) 中。在未来数个月中,我们将就两个分支中的源码及配置差异进行[审阅、测试及合并工作](https://github.com/AOSC-Dev/aosc-os-abbs/pull/4701),直到 LoongArch 架构构建配置等成为稳定系统的一部分。 + +目前,用于 LoongArch 的实验性系统发行已经可以从[社区主页下载](https://aosc.io/zh-cn/downloads),欢迎试用并提供反馈,亦欢迎有志之士加入“合龙”工作! + +### 更新速览 + +#### 系统组件 + +过去两周中我们为 AOSC OS 推送了许多更新,这里简要介绍其中几项: + +- [Omakase](https://github.com/AOSC-Dev/oma) 更新至 1.1.6,引入大量便民特性和问题修复 +- OpenSSL 运行时 (`openssl`, `openssl+32`) 更新至 3.1.4,修复[一处“中等”级别安全漏洞](https://www.openssl.org/news/secadv/20231024.txt) +- 系统编辑器套件 (`editor-base`) 新增 Vim +- Discord 聊天、语音及直播软件更新至 0.0.32 +- Fcitx 的萌娘百科词库 ([fcitx5-pinyin-moegirl](https://github.com/outloudvi/mw2fcitx)) 更新至 20231028,引入许多新词 +- Feishin 流媒体服务客户端 (`feishin`) 更新至 0.4.1 +- Fend 命令行计算器及单位转换工具 (`fend`) 更新至 1.3.0 +- MangoHud 游戏性能监控 (`mangohud`, `mangohud+32`) 更新至 0.7.0,新增 NVIDIA 显卡状态监控支持 +- Visual Studio Code (`vscode`) 及 VSCodium (`vscodium`) 更新至 1.83.1 +- Neofetch 系统信息查看器 (`neofetch`) 更新至 7.3.10+git20230913,换用新系统徽标 +- 桌面支持套件 (`desktop-base`) 更新至 11.0.0+campanula20190706,换用新系统徽标 +- APT 更新至 2.6.1,修复 2.5 分支的编译错误 +- APT 软件源配置管理工具 [apt-gen-list](https://github.com/AOSC-Dev/apt-gen-list-rs) 更新至 0.7.0,加入 Omakase 集成功能 +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) 更新至 1.7.2,引入[软件包测试框架](https://wiki.aosc.io/developer/packaging/autobuild3-testing-framework/) + +#### 新增组件 + +过去两周,AOSC OS 软件仓库中新增如下软件包: + +- Dua (`dua`):命令行磁盘占用分析及可视化工具 +- NVIDIA X 控制库 (`libxnvctrl`, `libxnvctrl+32`):用于读取 NVIDIA 显卡设置和信息 +- Pivy (`pivy`):Coin3D 的 Python 语言绑定库 +- [repo-refresh](https://github.com/AOSC-Dev/scriptlets/tree/master/repo-refresh) (`repo-refresh`):本地软件源数据刷新工具 +- 壁纸元数据生成器 (`wpmeta`):用于生成 AOSC OS 壁纸包 + +#### 周边项目 + +- 系统安装器 ([DeployKit](https://github.com/AOSC-Dev/aoscdk-rs)) 发布 0.9.9 版,优化了虚拟内存文件 (swapfile) 默认大小的计算逻辑,在小内存设备上默认设置更为合理 +- 社区开发者[傅孝元](https://github.com/eatradish)和[杨欣辉](https://github.com/Cyanoxygen)开始为[软件包信息查询网站](https://packages.aosc.io/)后端实现 PostgreSQL 后端,以期提高服务稳定性 +- 社区开发者[杨欣辉](https://github.com/Cyanoxygen)开发了一款基于 PL/pgSQL 的 [dpkg](https://wiki.debian.org/dpkg) 软件包版本比较库,[dpkg-vercmp-plpgsql](https://github.com/AOSC-Dev/dpkg-vercmp-plpgsql) +- 软件源管理工具 [p-vector-rs](https://github.com/AOSC-Dev/p-vector-rs) 新增由社区开发者[柴天浩](https://github.com/cthbleachbit)实现的最新版及旧版软件包查询及分列逻辑 +- 软件及系统发行源管理工具 [RepoKit](https://github.com/AOSC-Dev/repokit) 修复增量刷新功能,并引入基于 xz 元数据快速计算解压后大小的功能 +- “抽票投奖”抽奖工具 [choupiaotoujiang](https://github.com/AOSC-Dev/choupiaotoujiang) 换用更为轻量的 `fastrand` 随机库 +- 社区开发者[柴天浩](https://github.com/cthbleachbit)开发了一款将内存稳定性测试工具 `stressapptest` 集成至初始化内存盘中的 [Dracut 模块](https://github.com/AOSC-Dev/dracut-stressapptest),后续可用于在非 x86 设备上集成内存测试功能 + +#### 开发工具 + +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) 发布 1.7.2 版,正式加入由社区开发者 [leedagee](https://github.com/leedagee) 在[“开源之夏”](https://summer-ospp.ac.cn/)期间开发的[软件包测试框架](https://wiki.aosc.io/developer/packaging/autobuild3-testing-framework/),框架将在不久的未来默认开启,作为提高系统软件包质量的又一手段 +- 容器化打包环境管理工具 [Ciel](https://github.com/AOSC-Dev/ciel-rs) 发布 3.2.1 版,修复基于 MIPS 的龙芯三号 (`loongson3`) 系统上的架构探测功能 + +### 尝鲜预报 + +为更好地测试我们的系统更新,我们为不同类别的更新创建相应测试源,供用户与贡献者测试。目前,我们开放如下测试源: + +- **Bash 基础配置 0.5.2.2 版 (`bash-config-0.5.2.2`):** 修复非登录会话 (non-login session) 中未正确设置新文件权限位 (`umask`) 的问题,并将当前用户的 `~/.local/bin` 加入默认可执行文件搜索路径 (`$PATH`) +- **Boost 1.83 (`boost-1.83`):** 将 Boost 运行时库更新至 1.83 并更新或重构相关软件,提升对部分新 C++ 程序源码的兼容性 +- **[Mirrormgr](https://github.com/AOSC-Dev/mirrormgr) 0.8.0 (`mirrormgr-0.8.0`):** 软件源镜像管理器,包含基于选单的新界面,后续将替代现有的 `apt-gen-list` + +这些测试源也将同步至我们的龙架构 (LoongArch) 前沿分支 (`frontier`),并为正式引入龙架构支持做准备。 + +输入如下命令方可随时加入或退出测试源: + +``` +sudo oma topics +``` + +如果您在使用如上测试源的过程中遇到问题,请随时联系我们,我们将尽力协助您修复问题。 + +社区快讯 +-------- + +### 预告:《聊斋》创刊号 + +> 编者按:拖这么久了,也许有必要解释下为什么这期《聊斋》为何迟迟没有发布——考虑到目前社区正与龙芯中科的工程师协同调试使用过程中遇到的问题,我们不希望在有关问题得到解决或得出初步结论之前草率地进行讨论或吐槽;此外,遇到的问题和解决过程记录较长,我们目前希望更系统性地整理该刊内容,并分期发布,方便读者阅读。在一切就绪后,《聊斋》中遇到的每个问题将附有解决方案、或对问题原因的分析,以期最大化此类内容的建设性。感谢各位读者的理解和耐心! + +过去几个月中,社区贡献者陆续购买了数台搭载龙芯 3A5000 及 3A6000 的设备,用于各种不同场景。那么,龙架构 (LoongArch) 加持的龙芯设备的使用体验如何呢?敬请期待《聊斋》创刊号! + +![AOSCC 2023 会场上的龙芯 3A5000 台式机](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231028/imgs/3a5000.jpg) + +招工启事 +-------- + +AOSC 是由志愿者在业余时间组织和驱动的社区,想法众多但人力不足。以下是我们最近希望完成的一些工作,如果您有兴趣,欢迎通过“一起吹水”栏目中列出的任意方式与我们取得联系: + +### 社区论坛 + +论坛也许“老土”,但也不失为用于认真交流问答的好平台。如果您有兴趣参与论坛管理和维护,请联系我们。 + +一起吹水 +-------- + +互联网是我社的主要活动场所,欢迎来社区各群聊及语音频道交流玩耍: + +### 微信群 + +请扫描此二维码添加好友并说明来意:申请加入 AOSC 社区频道。 + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231028/imgs/wechat.png) + +### QQ 群 + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231028/imgs/qq.jpg) + +### Telegram 群组 + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231028/imgs/telegram.png) + +### Discord 语音频道 + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231028/imgs/discord.png) + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周五午间 12 时发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2023-11-11-coffee-break.md b/content/news/2023-11-11-coffee-break.md new file mode 100644 index 00000000..86989bcc --- /dev/null +++ b/content/news/2023-11-11-coffee-break.md @@ -0,0 +1,150 @@ +--- +categories: + - journals +title: "Coffee Break: November Issue 1/2" +date: 2023-11-11T12:00:00+08:00 +important: false + +--- + +> "What would y'all like to drink today?" + +Thank you for reading "Coffee Break," AOSC's semi-monthly newsletter! Here, you will find summaries of development updates, community matters, and upcoming events in an accessible and fun fashion. This column is also used to publish interview transcripts with individuals and representatives from various groups, clubs, and industries and will be published as special issues. This column does not contain op-ed-type contents. + +AOSC OS: Featured Items +----------------------- + +In the past two months, besides routine maintenance on [AOSC OS](https://aosc.io/downloads), community developers also introduced many updates and fixes, as well as the accompanying applications and components. We hope that these updates will bring you enjoyment and productivity. + +### AOSC OS for Apple Silicon Preview Now Available + +At the time of writing, we have implemented a basic installer for AOSC OS on Apple Silicon-based devices - [aosc-asahi-installer](https://github.com/AOSC-Dev/aosc-asahi-installer). This installer, based on [asahi-installer](https://github.com/AsahiLinux/asahi-installer) from the [Asahi Linux](https://asahilinux.org/) project, supports installing AOSC OS from macOS, including the Desktop, Base, and Server editions. + +![A Mac mini M1 running AOSC OS.](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231111/imgs/apple-silicon.jpg) + +AOSC OS support for Apple Silicon is still in its early days, a lot of work will be required for hardware support and out-of-the-box configurations. We plan to continue working with Apple Silicon hardware in the next few weeks to improve user experience for owners of such devices. + +If you would like to install AOSC OS on your Apple Silicon computer, simply run the following command in your terminal application on macOS Ventura (13) or newer: + +``` +curl https://raw.githubusercontent.com/AOSC-Dev/aosc-asahi-installer/master/install-system.sh | sh +``` + +### Updates from the Frontier: Mainlining LoongArch + +Earlier, we have initiated the effort to merge the LoongArch port AOSC OS from the `frontier` branch to our `stable` branch. In the next few months, we will continue to [review, test, and merge]https://github.com/AOSC-Dev/aosc-os-abbs/pull/4701) the changes between the two branches. The completion of this task marks the LoongArch port as stable. + +You may download the experimental LoongArch system release from the [community portal](https://aosc.io/zh-cn/downloads). We look forward to hearing your feedback and welcome your contribution to making our LoongArch port better! + +### At a Glance: AOSC OS Updates + +#### System Components + +A good number of updates made it into AOSC OS in the past two weeks, here are a few items of note: + +- Command-line YouDao Dictionary client (`ydcv-rs`) was updated to 0.6.1, implementing support for the latest YouDao Dictionary API. +- Default Bash Configuration (`bash-startup`) was updated to 0.5.2.4, with support for setting custom command history sizes. +- NVIDIA graphics card driver (`nvidia`, `nvidia+32`) was updated to 545.29.02, preparing for Linux Kernel 6.6. +- Discord was updated to 0.0.34. +- NVIDIA X Control Library (`libxnvctrl`, `libxnvctrl+32`) was updated to 545.23.06, fixing incorrect symlinks on runtime libraries. +- Feishin (`feishin`), a music player client for self-hosted streaming services, was updated to 0.5.1. +- GTK+ 3.x runtime library was updated to enable missing features. +- Font configuration collection (`fontconfig`) was updated to address an issue where bitmap fonts were not disabled correctly. +- Linux Kernel for MIPS-based Loongson systems (`linux-kernel-lemote`) was updated to 5.4.259, enabling more kernel modules and fixes no-dispaly issue on AMD graphics cards. +- GRUB for MIPS-based Loongson systems (`grub-loongson3`) was updated to fix GRUB installation. + +#### Peripheral Projects + +- The system installer ([DeployKit](https://github.com/AOSC-Dev/aoscdk-rs)) version 0.10.0 was released with partition map verification (i.e., checking for EFI system partitions on EFI-based systems, etc.). + +### In the Oven + +To help test our system updates, we created various "topic" repositories to deliver them to our users and maintainers. The following topic repositories were created earlier this week: + +- **Boost 1.83:** Updating Boost runtime libraries to 1.83, updating and rebuilding affected packages, improving compatibility with some newer C++ sources. +- **October Graphical Stack Update (`graphical-stack-survey-20231031`):** Updating many graphical stack components, improving stability and support for newer hardware; also fixes hardware video encoding on Firefox, improving multimedia streaming experience. +- **libpaper 2.1.0 (`libpaper-2.1.0`):** Updates paper size and paging support library to 2.1.0. +- **Linux Kernel 6.6 (`linux-kernel-6.6`):** Updates Linux Kernel to the 6.6 branch, enabling new hardware support (enabling ACPI support on RISC-V, introducing LoongArch configuration, etc.) and improving performance (disabling scheduler debugging `CONFIG_DEBUG_PREEMPT` on x86_64, which was enabled by mistake, improving application launch times). +- **Fix-ups for MIPS-based Loongson Systems (`loongson3-fixup-2`):** Introducing the `update-grub` command to GRUB for MIPS-based Loongson systems (`grub-loongson3`), selecting `loongson` as the default Kernel graphical driver, disabling tcmalloc support for LevelDB to fix RIME input method crashes, etc. +- **signing-party (`signing-party-new`):** Introducing `signing-party`, useful for PGP signing parties and other social occasions. +- **systemd 254 (`systemd-254`):** Updating systemd to 254.5, enabling EFI support for all architectures and introduces a trigger (extra binary format support) to reload binfmt (extra binary format support) configurations when they are updated. + +Changes from these topics will also make it to our work-in-progress LoongArch port, helping adopting LoongArch as an officially supported architecture. + +You may enable and test out the aforementioned updates with the following command: + +``` +sudo oma topics +``` + +Should you run into issues while using the topic repositories, please don't hesitate to get in touch for assistance. + +Community Updates +----------------- + +### Celebrating Yet Another Successful Year at OSPP + +After months of hard work, the two OSPP 2023 projects from our community have passed assessment by the OSPP host, marking the birth of yet another two successful OSPP projects. Let's extend our celebration to our intern [leedagee](https://github.com/leedagee) and mentor [Camber Huang](https://github.com/CamberLoid) from the [Autobuild 3 Automatic Testing Framework](https://summer-ospp.ac.cn/org/prodetail/23f3e0033) project; and intern [Wantao Liu](https://github.com/lwantao) and mentor [Mingcong Bai](https://github.com/MingcongBai) from the [Free and Open Source Softawre Localisation](https://summer-ospp.ac.cn/org/prodetail/23f3e0032) project! + +We hope that our interns will continue to exercise their skills in the open source communities. + +### Coming Soon: *SIGILL's* Inaugural Issue + +> From the editor: Well, it's been a bit too long since we announced this project, hasn't it. We would like to offer an explanation for this delay. As we are currently working with engineers at Loongson to debug some of the issues surfaced as we began to use our LoongArch devices, we would like to refrain from commenting on and making fun of these issues before we come up with resolutions or at least arrive at basic understanding of the problems at hand. On the other hand, as we have extensive records on these issues and their potential solutions, we would like to split this inaugural issue into multiple episodes to help making them easier to read. As we finish editing these episodes, we will make sure that all issues referenced will come with guides and references to resolve them or at least our analysis of the casues. We believe that by doing so, readers will get the best out of our journey towards working LoongArch-powered dailies. We thank you for your understanding and patience. + +In the past few months, a few of our community contributors purchased various Loongson 3A5000/6000-based systems, with different use cases in mind. + +So, how did they fair? Find out in *SIGILL's* inaugural issue! + +![A Loongson 3A5000-based desktop computer at the AOSCC 2023 venue](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/3a5000.jpg) + +Now "Hiring" +------------ + +AOSC is a community driven by volunteers, with many ideas but little manpower. The following are projects we plan to tackle in the near future. If you are interested in lending a hand, please join us via the QR codes listed below to get in touch. + +### Community Forum + +Though "old-fashioned," a forum can be a valuable platform for more serious discussions. Please get in touch with us if you are interested in moderating our forum. + +Come Chat! +-------- + +Most of our work are conducted over the Internet, come chat and work with us! Please note that most members of the following chat groups are Chinese speakers, but please feel free to ask for assistance and translation. + +### Telegram + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231111/imgs/telegram.png) + +### Discord + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231111/imgs/discord.png) + +### WeChat + +Please scan this QR code and note that you would like to join our community chat group. + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231111/imgs/wechat.png) + +### QQ + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231111/imgs/qq.jpg) + +Community Outreach +------------------ + +Ever since we caught ourselves in a conflict at Baidu Tieba's Linux community, we have effectively halted all outreaching and promotional campaigns. Now that our projects and community are both maturing, we have decided to re-double our outreach and promotional efforts to expand our networks for friends and collaborators. + +The semimonthly issue you are reading right now is part of the aforementioned effort. So far, we have planned the following columns: + +- Coffee Break: Semimonthly Newsletters +- SIGILL: Rare and Unusual Hardware +- Retro: Retro Software and Hardware +- Live: In-Person Events + +"Coffee Break" issues are published every second and fourth Fridays at 12 P.M. UTC+8 time. Other columns are published irregularly per content and editing schedules. The English version of the aforementioned materials are published on the following platforms: + +- Our community portal +- Twitter/X: @aosc_dev + +We are also seeking coverage from Linux-related media to help spread the word. diff --git a/content/news/2023-11-11-coffee-break.zh-cn.md b/content/news/2023-11-11-coffee-break.zh-cn.md new file mode 100644 index 00000000..2f0f3706 --- /dev/null +++ b/content/news/2023-11-11-coffee-break.zh-cn.md @@ -0,0 +1,153 @@ +--- +categories: + - journals +title: "安记冰室・十一月上" +date: 2023-11-11T12:00:00+08:00 +important: false + +--- + +> “你家活莫斯?” + +欢迎阅读安同开源社区 (AOSC) 双周报——《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +AOSC OS 快讯 +------------ + +在过去几周中,社区开发者们除继续对 [AOSC OS](https://aosc.io/zh-cn/downloads/) 进行日常维护外,还为系统引入了许多更新、修复,推进了系统周边组件的开发,希望这些工作能为您的工作与娱乐生活带来便利。 + +### Apple Silicon 版 AOSC OS 预览系统发布 + +至截稿时,我们已经为搭载 Apple Silicon 的苹果电脑基本实现了 AOSC OS 安装器:[aosc-asahi-installer](https://github.com/AOSC-Dev/aosc-asahi-installer)。该安装器基于 [Asahi Linux 项目](https://asahilinux.org/) 的 [asahi-installer](https://github.com/AsahiLinux/asahi-installer),支持从 macOS 系统安装 AOSC OS 的三大版本:桌面版 (Desktop)、基础版 (Base) 和服务器版 (Server)。 + +![Mac mini M1 运行 AOSC OS](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231111/imgs/apple-silicon.jpg) + +目前,AOSC OS 的 Apple Silicon 支持尚处于早期预览阶段,许多基础支持功能和细节配置有待完善。我们计划在未来数周内逐步完善各方面支持,给 Apple Silicon 用户提供稳定的使用体验。 + +您可以在 macOS Ventura (13) 及以上版本系统使用如下命令安装 AOSC OS: + +``` +curl https://raw.githubusercontent.com/AOSC-Dev/aosc-asahi-installer/master/install-system.sh | sh +``` + +### 持续推进 AOSC OS“合龙” + +先前,我们启动了“合龙”工作——将目前位于前沿分支 (`frontier`) 中的移植工作合并到稳定分支 (`stable`) 中。在未来数个月中,我们将就两个分支中的源码及配置差异进行[审阅、测试及合并工作](https://github.com/AOSC-Dev/aosc-os-abbs/pull/4701),直到 LoongArch 架构构建配置等成为稳定系统的一部分。 + +目前,用于 LoongArch 的实验性系统发行已经可以从[社区主页下载](https://aosc.io/zh-cn/downloads),欢迎试用并提供反馈,亦欢迎有志之士加入“合龙”工作! + +### 更新速览 + +#### 系统组件 + +过去两周中我们为 AOSC OS 推送了许多更新,这里简要介绍其中几项: + +- 命令行有道词典 (`ydcv-rs`) 更新至 0.6.1,适配最新有道词典 API +- Bash 基础配置 (`bash-startup`) 更新至 0.5.2.4,新增自定义命令历史大小的支持 +- NVIDIA 显卡驱动 (`nvidia`, `nvidia+32`) 更新至 545.29.02,为 Linux 内核 6.6 更新作准备 +- Discord 聊天、语音及直播软件更新至 0.0.34 +- NVIDIA X 控制库 (`libxnvctrl`, `libxnvctrl+32`) 更新至 545.23.06,修复运行时库没有正确创建软链接的问题 +- Feishin 流媒体服务客户端 (`feishin`) 更新至 0.4.1 +- GTK+ 3.x 运行时库修复缺少特性的问题 +- 字体配置管理集 (`fontconfig`) 修复没有正确禁用点阵字体的问题 +- MIPS 龙芯内核 (`linux-kernel-lemote`) 更新至 5.4.259,开启更多内核模块,修复 AMD 显卡无显示的问题 +- MIPS 龙芯 GRUB (`grub-loongson3`) 修复 GRUB 无法安装的问题 + +#### 周边项目 + +- 系统安装器 ([DeployKit](https://github.com/AOSC-Dev/aoscdk-rs)) 发布 0.10.0 版,新增分区配置检查(如 EFI 启动的系统必须有 EFI 系统分区等) + +### 尝鲜预报 + +为更好地测试我们的系统更新,我们为不同类别的更新创建相应测试源,供用户与贡献者测试。目前,我们开放如下测试源: + +- **Boost 1.83 (`boost-1.83`):** 将 Boost 运行时库更新至 1.83 并更新或重构相关软件,提升对部分新 C++ 程序源码的兼容性 +- **十月图形栈套件更新 (`graphical-stack-survey-20231031`):** 引入大量图形栈组件更新,修缮新硬件支持并提高稳定性;修复 Firefox 视频硬件解码支持,提高多媒体浏览体验 +- **libpaper 2.1.0 (`libpaper-2.1.0`):** 更新纸张尺寸信息和分页支持库至 2.1.0 分支 +- **Linux 内核 6.6 (`linux-kernel-6.6`):** 将 Linux 内核更新至 6.6 分支,新增硬件支持(如在 RISC-V 上打开 ACPI 支持,新增龙架构配置等),引入性能优化等(如在 x86_64 架构内核上关闭先前因为疏忽打开的调度器调试支持`CONFIG_DEBUG_PREEMPT`,加速应用启动) +- **MIPS 龙芯修缮 (`loongson3-fixup-2`):** 为龙芯专版 GRUB (`grub-loongson3`) 新增 `update-grub` 命令,默认为板载显卡选用 `loongson` 驱动,关闭 LevelDB 的 tcmalloc 支持以修复中州韵 (RIME) 输入法崩溃的问题等 +- **signing-party (`signing-party-new`):** 引入 `signing-party` 包,方便用户参加 PGP 签名派对等社交场合 +- **systemd 254 (`systemd-254`):** 将 systemd 更新至 254.5,为所有架构打开 EFI 支持,新增用于重载 binfmt(额外二进制格式支持)配置的触发器脚本(在安装其他包含 binfmt 配置的包时会自动重载配置) + + +这些测试源也将同步至我们的龙架构 (LoongArch) 前沿分支 (`frontier`),并为正式引入龙架构支持做准备。 + +输入如下命令方可随时加入或退出测试源: + +``` +sudo oma topics +``` + +如果您在使用如上测试源的过程中遇到问题,请随时联系我们,我们将尽力协助您修复问题。 + +社区快讯 +-------- + +### 社区“开源之夏 (OSPP) 2023”圆满收官! + +经过几个月以来学生和导师的努力,社区的两个 OSPP 2023 项目均顺利通过组委会审核,圆满收官。恭喜[“Autobuild 3 自动化打包测试框架”](https://summer-ospp.ac.cn/org/prodetail/23f3e0033)项目学生 [leedagee](https://github.com/leedagee) 和导师 [Camber Huang](https://github.com/CamberLoid);[“自由及开源软件简中本地化工作”](https://summer-ospp.ac.cn/org/prodetail/23f3e0032) 项目学生 [刘万涛](https://github.com/lwantao) 和导师 [白铭骢](https://github.com/MingcongBai)! + +希望两位学生能继续在各开源社区中发光发热! + +### 预告:《聊斋》创刊号 + +> 编者按:拖这么久了,也许有必要解释下为什么这期《聊斋》为何迟迟没有发布——考虑到目前社区正与龙芯中科的工程师协同调试使用过程中遇到的问题,我们不希望在有关问题得到解决或得出初步结论之前草率地进行讨论或吐槽;此外,遇到的问题和解决过程记录较长,我们目前希望更系统性地整理该刊内容,并分期发布,方便读者阅读。在一切就绪后,《聊斋》中遇到的每个问题将附有解决方案、或对问题原因的分析,以期最大化此类内容的建设性。感谢各位读者的理解和耐心! + +过去几个月中,社区贡献者陆续购买了数台搭载龙芯 3A5000 及 3A6000 的设备,用于各种不同场景。那么,龙架构 (LoongArch) 加持的龙芯设备的使用体验如何呢?敬请期待《聊斋》创刊号! + +![AOSCC 2023 会场上的龙芯 3A5000 台式机](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231111/imgs/3a5000.jpg) + +招工启事 +-------- + +AOSC 是由志愿者在业余时间组织和驱动的社区,想法众多但人力不足。以下是我们最近希望完成的一些工作,如果您有兴趣,欢迎通过“一起吹水”栏目中列出的任意方式与我们取得联系: + +### 社区论坛 + +论坛也许“老土”,但也不失为用于认真交流问答的好平台。如果您有兴趣参与论坛管理和维护,请联系我们。 + +一起吹水 +-------- + +互联网是我社的主要活动场所,欢迎来社区各群聊及语音频道交流玩耍: + +### 微信群 + +请扫描此二维码添加好友并说明来意:申请加入 AOSC 社区频道。 + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231111/imgs/wechat.png) + +### QQ 群 + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231111/imgs/qq.jpg) + +### Telegram 群组 + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231111/imgs/telegram.png) + +### Discord 语音频道 + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231111/imgs/discord.png) + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周五午间 12 时发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2023-11-20-aosc-os-for-apple-silicon.md b/content/news/2023-11-20-aosc-os-for-apple-silicon.md new file mode 100644 index 00000000..bb75fa1e --- /dev/null +++ b/content/news/2023-11-20-aosc-os-for-apple-silicon.md @@ -0,0 +1,58 @@ +--- +categories: + - news + - advisories +title: "AOSC OS for Apple Silicon Now Available" +date: 2023-11-20T12:00:00+08:00 +important: false + +--- + +![AOSC OS at the Apple Startup Manager.](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231120/imgs/apple-silicon.jpg) + +AOSC OS for Apple Silicon is now available for most M1 or M2 based Macs. This +round of release will work out of the box on most M1-based systems[^1], with +the exception of OpenGL[^2] and Thunderbolt[^3], the internal storage, ports, +audio, Wi-Fi, and webcam should work out of the box. Support for M2 devices is +currently work-in-progress[^4] and M3 support will be coming soon. + +On macOS Ventura (13) or newer, use following command in terminal to install +AOSC OS: + +``` +curl https://releases.aosc.io/install-asahi | sh +``` + +Should you run into any issues whilst installing or using AOSC OS, please +[file an issue](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&projects=&template=bug-report.yml) +or get in touch with us via the channels listed below. + +Get in Touch +---- + +At AOSC, we strive to provide and maintain a easy and pleasant experience for our users. We welcome you at our community chat groups to share your experience, or to [report problems](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&projects=&template=bug-report.yml) that you may have experienced while using AOSC OS. + +### Telegram + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231120/imgs/telegram.png) + +### Discord + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231120/imgs/discord.png) + +### WeChat + +Please scan this QR code and note that you would like to join our community chat group. + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231120/imgs/wechat.png) + +### QQ + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231120/imgs/qq.jpg) + +---- + +[^1]: Due to [an macOS issue](https://github.com/AsahiLinux/docs/wiki/macOS-Sonoma-Boot-Failures), you may not be able to install AOSC OS on 14" or 16" MacBook Pro models with ProMotion displays. +[^2]: OpenGL support will be added with Mesa 24, this version is expected to be released later this year or in early 2024. +[^3]: Thunderbolt support is not currently planned. +[^4]: To see the progress on M2 support, please refer to Asahi Linux's [project documentation](https://github.com/AsahiLinux/docs/wiki/M2-Series-Feature-Support)。 diff --git a/content/news/2023-11-20-aosc-os-for-apple-silicon.zh-cn.md b/content/news/2023-11-20-aosc-os-for-apple-silicon.zh-cn.md new file mode 100644 index 00000000..28a151fd --- /dev/null +++ b/content/news/2023-11-20-aosc-os-for-apple-silicon.zh-cn.md @@ -0,0 +1,51 @@ +--- +categories: + - news + - advisories +title: "Apple Silicon 版 AOSC OS 系统发布" +date: 2023-11-20T12:00:00+08:00 +important: false + +--- + +![安同OS,启动!](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231120/imgs/apple-silicon.jpg) + +Apple Silicon 版 AOSC OS 系统发布,搭载 M1 或 M2 芯片的 Mac 电脑用户现可安装 AOSC OS 系统。目前的系统在绝大多数基于 M1 芯片的设备开箱即用[^1],除 OpenGL 图形加速[^2]和 Thunderbolt[^3] 外,内置存储、各接口、音频、Wi-Fi 和摄像头等内置设备均可使用。M2 支持仍在完善中[^4],M3 支持即将发布。 + +在 macOS Ventura (13) 或更新版本系统的终端中运行如下命令即可安装 AOSC OS: + +``` +curl https://releases.aosc.io/install-asahi | sh +``` + +如果您在安装或使用系统时遇到问题,请在 AOSC OS GitHub 仓库 [报告问题](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&projects=&template=bug-report.yml) 或于下列联系方式中与我们取得联系。 + +常联系 +---- + +欢迎来我社各聊天群组分享使用体验或于我们的源码仓库[报告问题](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&projects=&template=bug-report.yml),我们将尽一切努力持续为您营造轻松愉快的使用体验。 + +### 微信群 + +请扫描此二维码添加好友并说明来意:申请加入 AOSC 社区频道。 + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231017/imgs/wechat.png) + +### QQ 群 + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231017/imgs/qq.jpg) + +### Telegram 群组 + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231017/imgs/telegram.png) + +### Discord 语音频道 + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/special-issue/20231017/imgs/discord.png) + +---- + +[^1]: 由于某个 [在 macOS 中发现的问题](https://github.com/AsahiLinux/docs/wiki/macOS-Sonoma-Boot-Failures),搭载 ProMotion 屏幕的 14 和 16 寸 MacBook Pro 可能无法安装 AOSC OS,目前安装程序会自动探测相关设备并报错。 +[^2]: OpenGL 支持将于 Mesa 24 中正式加入,该版本预计年底或 2024 年初发布。 +[^3]: Thunderbolt 支持暂无日程。 +[^4]: M2 设备支持进展请见 Asahi Linux [官方文档](https://github.com/AsahiLinux/docs/wiki/M2-Series-Feature-Support)。 diff --git a/content/news/2023-11-25-coffee-break.md b/content/news/2023-11-25-coffee-break.md new file mode 100644 index 00000000..672f0424 --- /dev/null +++ b/content/news/2023-11-25-coffee-break.md @@ -0,0 +1,251 @@ +--- +categories: + - journals +title: "Coffee Break: November Issue 2/2 | Celebrating 12 Years of AOSC" +date: 2023-11-25T12:00:00+08:00 +important: false + +--- + +> "What would y'all like to drink today?" + +Thank you for reading "Coffee Break," AOSC's semi-monthly newsletter! Here, you will find summaries of development updates, community matters, and upcoming events in an accessible and fun fashion. This column is also used to publish interview transcripts with individuals and representatives from various groups, clubs, and industries and will be published as special issues. This column does not contain op-ed-type contents. + +Special: Celebrating 12 Years of AOSC +------------------------------------- + +![2011 - 2023, 12 Years of AOSC](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231125/imgs/12th-annivesary.jpg) + +December 1st will mark the 12th anniversary of our community, Anthon Open Source Community. + +In late 2011, three middle school students founded AOSC. 12 years have since past, once arrogant and ignorant, we fumbled as we worked diligently to find our own place in the open source circle. In the spirit of collaborative development, as we started new projects and continued to maintain community projects, we have also formed deep bonds with other developers and communities in the open source circle. Participating in porting and adaptation, localisation, generating new ideas and methods, we strove to advance open source software for wider adoption. + +On community-building, we emphasise a people-first approach - like a helpful neighbour, we made new friends as our projects progressed. In online chat groups and our in-person AOSCC conferences, AOSC strives to become a positive force in broadening community companionships, in maintaining developer-user relationship, and in extending collaboration and resource sharing between communities and enterprises. + +In the past year, our Linux distribution, AOSC OS, has continued to mature. As it offers our users a reliable and pleasant experience, AOSC OS also drove development in a number of community projects. In particular, our new in-house package mangement frontend, [Omakase](https://github.com/AOSC-Dev/oma) has become a part of the base system and will gradually replace APT as the default package management toolset; the system installer, [DeployKit](https://github.com/AOSC-Dev/aoscdk-rs), has become more stable than ever, providing a unified and efficient installation experience for various hardware platforms; specialised AOSC OS derivatives like the RescueKit system maintenance and rescue environment and the BurnKit hardware stability evaluation environment will soon be released to help enrich your system adminsitrative toolbox. + +At the same time, we have spent much effort in bringing LoongArch support to AOSC OS. As one of the first desktop-oriented Linux distribution for the architecture, we fixed bugs, resolved usability issues, and optimised performance in various desktop applications. Our work on this front will be sure to provide not only a well-maintained system environment for our users, but also reference and code contribution for other distributions, benefiting the wider LoongArch hobbyist and user community. + +In the coming year, we will redouble our effort to maintain and improve AOSC OS and its various peripheral projects, to enhance Afterglow's design and maintenance for older hardware, and to better the presentation of our website and documentation. We will also organise AOSCC 2024 and continue our contribution to the wider open source software ecosystem, as well as in fostering collaboration with different software and hardware vendors. AOSC will uphold its constructive, friendly, and professional attitudes to serve users, developers, and hobbyists inside and outside of our community. + +With AOSC, let's open source better together! + +— Mingcong Bai, Founder of AOSC, on November 23, 2023. + +*(That's enough lofty talk, let's get back into business...)* + +AOSC OS: Featured Items +----------------------- + +In the past two months, besides routine maintenance on [AOSC OS](https://aosc.io/downloads), community developers also introduced many updates and fixes, as well as the accompanying applications and components. We hope that these updates will bring you enjoyment and productivity. + +### AOSC OS for Apple Silicon Now Available + +![AOSC OS at the Apple Startup Manager.](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231125/imgs/apple-silicon.jpg) + +AOSC OS for Apple Silicon is now available for most M1 or M2 based Macs. This round of release will work out of the box on most M1-based systems[^1], with the exception of OpenGL[^2] and Thunderbolt[^3], the internal storage, ports, +audio, Wi-Fi, and webcam should work out of the box. Support for M2 devices is currently work-in-progress[^4] and M3 support will be coming soon. + +On macOS Ventura (13) or newer, use following command in terminal to install AOSC OS: + +``` +curl https://releases.aosc.io/install-asahi | sh +``` + +Should you run into any issues whilst installing or using AOSC OS, please [file an issue](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&projects=&template=bug-report.yml) or get in touch with us via the channels listed below. + +### Call for AOSC OS Wallpapers Now Open for 2023H2 + +In the past few years, thanks to active participation from our community members, our wallpaper collection has grown substantially (currently containing more than 100 wallpapers). Now that it has been over six months since our last call for wallpapers, we welcome your submissions! + +The volume of the last few submissions had been vast and the size of our wallpaper package exponentially. In an attempt of controlling its size, the contributors will vote for ten (10) candidates for inclusion in the default wallpaper collection, these candidates will then go into a community poll to produce our next default wallpaper. The rest of the submissions will go into another non-preinstalled package (extras) in the interest of controlling our distribution size. + +#### Rules + +1. **You must be the original author of your submission**, though you may submit photographs or graphic designs. +2. Your submission(s) must be of **3000x2000 or higher resolution**, unless they are used as tiled patterns. +3. Your submission **must not contain trademarks or (virtual or real-life) human(oid) portraits**, except for An-An and Tong-Tong. +4. Your submission **must not contain political, racial, or religious opinions.** + +#### Submission Format + +1. Upload your submission in a reply below. +2. Note the following under **each of your submissions:** title of wallpaper, your name and e-mail, and licensing terms. + +*Note: The rules and expectations above are subject to interpretation by our community contributors. After the submission deadline, community contributors will convene to audit and filter all submissions based on rule compliance and quality. We will hold an internal vote to select ten candidates for the community poll.* + +**Submissions will close at 0:00 on December 15th, UTC +8 time.** + +Thank you in advance for your contribution! + +### Topic Update Manifest + +Most of you who have used Windows would probably be somewhat familiar with Windows Update. Despite the fact that Windows Update has been notorious for its various problematic user experience designs, we've found a thing or two that we could learn from it - in particular, the way it presents the list of available system updates. In the Linux world, system updates are done on per-package basis, usually in large numbers. The package manager is the Linux equivalent of Windows Update, but with a large list of package updates, users tend to have a hard time knowing what got updated and, much less so, what each update is meant to do. + +With Windows Update as an inspiration, we have designed the [Topic Update Manifest](https://gist.github.com/MingcongBai/912e778216aad58cf504713dcd4898cc) which provides a digest for package updates. Package managers will be able to make use of this manifest data to present user-readable overviews for system updates. This manifest format is currently under RFC (Request for Comments), we look forward to your comments and critiques. + +### Coming Soon: BurnKit Hardware Stability Evaluation Suite + +While working on AOSC OS for LoongArch, our maintainers suffered great frustration with hardware compatibility on LoongArch hardware. From RAM modules to graphics cards, intermitten stability issues occured frequently. Worse yet,neither Loongson nor its third-party hardware vendors provided official hardware compatibility lists (or qualified vendor list, QVL for short). It took weeks of our developers have been working around the clock sourcing, purchasing, and returning components to finally find a configuration that worked reliably for everyday use and development work. + +To help streamline hardware stability evaluation and to help the Loongson Open Source Community with assembling its ["LoongArch Hardware Compatibility Database (QVL)"](https://github.com/loongson-community/areweloongyet/issues/68), we designed BurnKit, a specialised distribution for stress testing various components on your devices. BurnKit is designed to be written to and booted from a USB flash drive. + +BurnKit's development is still in its early days, but we plan to incorporate the following test procedures: + +- Memory I/O: Using [stressapptest](https://github.com/stressapptest/stressapptest), testing 80% of available RAM for 24 hours to evaluate system stability under high memory I/O load. +- Graphical Memory: Running 10 [glmark2](https://github.com/glmark2/glmark2) instances for 1 hour to stress test GPU memory access. +- Storage I/O: Running 2 [stress-ng](https://github.com/ColinIanKing/stress-ng) mixed I/O stress tester per processor core to evaluate storage I/O stability under different workloads. +- OpenGL: Using [Blender](https://www.blender.org)'s Eevee OpenGL renderer to render a complex animation sequence to evaluate the stability of the GPU's OpenGL funtionalities. +- GPGPU: Using [LuxMark](http://www.luxmark.info/)'s OpenCL testsuite to evaluate the stability of the GPU's general-purpose computing functionalities. +- A combination of the aforementioned testsuites to evaluate system stability under mixed workloads. + +BurnKit will also aggregate logs of each testsuite, making it easier for users to submit them to different databases and bug trackers. For any ideas and critiques for the BurnKit project, pleaes file an issue at the [BurnKit](https://github.com/AOSC-Dev/burnkit) repository or come chat at our community chat groups (see the "Come Chat!" section below). + +### Updates from the Frontier: Mainlining LoongArch + +Earlier, we have initiated the effort to merge the LoongArch port AOSC OS from the `frontier` branch to our `stable` branch. In the next few months, we will continue to [review, test, and merge]https://github.com/AOSC-Dev/aosc-os-abbs/pull/4701) the changes between the two branches. The completion of this task marks the LoongArch port as stable. + +You may download the experimental LoongArch system release from the [community portal](https://aosc.io/zh-cn/downloads). We look forward to hearing your feedback and welcome your contribution to making our LoongArch port better! + +### At a Glance: AOSC OS Updates + +#### System Components + +A good number of updates made it into AOSC OS in the past two weeks, here are a few items of note: + +- October Graphical Stack Update (`graphical-stack-survey-20231031`): Updating many graphical stack components, improving stability and support for newer hardware; also fixes hardware video encoding on Firefox, improving multimedia streaming experience. +- [Omakase](https://github.com/AOSC-Dev/oma) package manager frontend was updated to 1.1.8, fixing an issue where Omakase may fail to query details of multiple packages and another issue where it may fail to display dependency errors. +- Software repository manager (`mirrormgr`) was updated to 0.8.0, introducing Omakase integration; `mirrormgr` will also replace apt-gen-list, which was previously used to serve this purpose. +- systemd (`systemd`) was updated to 254.6 with many new features and a fix for warning during installation. +- Firefox (`firefox`) was updated to 119.0.1 with hardware video acceleration for our secondary architectures, improving media streaming experiences on these devices. +- Telegram instant messenger (`telegram-desktop`) was updated to 4.11.8 with support for various new message types. +- Discord was updated to 0.0.35 +- Command-line YouDao Dictionary client (`ydcv-rs`) was updated to 0.6.3, fixing the parser for YouDao's "Internet Phrases" section and HTTPS support for secondary architectures. +- MKV video manipulation toolkit (`mkvtoolnix`) was updated to 79.0 with many features, including that for extracting AV1 streams from Dolby Vision streams. +- Blender 3D graphics design suite (`blender`) was updated to 3.6.4. +- R statistics programming and graphing suite (`r`) was updated to 4.3.1. +- Exim e-mail server and client toolkit (`exim`) was updated to 4.97 with multiple usability and security fixes. +- Fcitx's Moegirl Wiki dictionary ([fcitx5-pinyin-moegirl](https://github.com/outloudvi/mw2fcitx)) was updated to 20231114 with many new phrases. +- Boost runtime and header library (`boost`) was updated to 1.83, updating or rebuilding affected packages, improving development experience with some newer C++ projects; also introducing NumPy bindings to allow building LuxCoreRender and other scientific software. +- NVIDIA's CUDA general purpose computing SDK (`cuda`) was updated to 12.2.2+535.104.05, fixing compatibility with newer NVIDIA driver versions. +- Gitoxide (`gitoxide`), a high-performance Git implementation, was updated to 0.31.1 with support for Git dump and numerous other protocol features. +- Bash's Git status component ([bash-git-status](https://github.com/AOSC-Dev/bash-git-status)) was updated to 0.2.1, improving status prompts during rebase and other operations. +- `fd`, a command-line file and directory searching utility was updated to fix a crash on Apple Silicon and other devices using the 16K kernel page size. +- Sphinx documentation generator suite (`sphinx`) was update to 7.0.1, fixing compatibility with `docutils`. +- Docutils documentation format converter suite (`docutils`) was updated to 0.20.1, fixing compatibility with Sphinx 7.x. +- TeXLive (`texlive`) was updated to fix an error during post-installation format generation and another issue where some tools pointed to non-existent paths. +- `upx`, an executable compression utility was updated to 4.2.1, fixing compression support for Rust binaries. +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) semi-automatic packaging toolkit was updated to 1.7.5, see below for new features with this version. + +#### New Packages + +We introduced a few packages into the AOSC OS repository in the past two weeks: + +- `aml`: A portable event-based main loop library. +- `apfs-fuse`: A read-only userspace driver for the APFS file system. +- `ast-grep`: A command-line tool for code structure search, lint, and rewriting. +- `hyperfine`: A command-line benchmarking tool. +- `libdisplay-info`: A library for parsing EDID and DisplayID information. +- `lychee`: A command-line broken link checker. +- `neatvnc`: A VNC server API library. +- `peg`: A recursive-descent parser generators for C. +- `vulkan-utility-libraries`: Utility libraries for Vulkan developers. + +The following packages were introduced for Apple Silicon support: + +- `asahi-base`: Metapackage for Apple Silicon support. +- `alsa-ucm-conf-asahi`: Layout configuration for the ALSA audio system. +- `asahi-common`: Common administrative components and scripts. +- `asahi-fwextract`: Firmware extractor. +- `linux-kernel-asahi` and `linux+kernel+asahi`: Linux Kernel package. +- `m1n1`: A general-purpose bootloader. +- `uboot-asahi`: U-Boot bootloader image. + +#### Development Tools + +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) semi-automatic packaging toolkit version 1.75 was released, adding `/usr/gnemul`, a path commonly used to store emulation system root filesystems, to the path whitelist; quieting `update-alternative`'s overly sensitive warning output; setting `dpkg` behaviour to install new configuration by default. +- [aoscbootstrap](https://github.com/AOSC-Dev/aoscbootstrap) distribution generator version 0.3.3 was released to address an issue where the clean-up sequence may fail to remove some files in `/proc`. + +#### Peripheral Projects + +- Bash basic configuration, ([bash-config](https://github.com/AOSC-Dev/bash-config)), version 0.6.0 was released, enabling `ip`'s color highlighting by default. +- PMON configuration generator, ([pmon-update](https://github.com/loongson-community/pmon-update)), was re-implemented to be compatible across different distributions (previously, `pmon-update` only supported Debian and its derivatives); this tool will be useful for managing multiple kernel versions on MIPS-based Looongson (`loongson2f` and `loongson3`) devices. + +### In the Oven + +To help test our system updates, we created various "topic" repositories to deliver them to our users and maintainers. The following topic repositories were created earlier this week: + +- **Linux Kernel 6.6 (`linux-kernel-6.6`):** Updates Linux Kernel to the 6.6 branch, enabling new hardware support (enabling ACPI support on RISC-V, introducing LoongArch configuration, etc.) and improving performance (disabling scheduler debugging `CONFIG_DEBUG_PREEMPT` on x86_64, which was enabled by mistake, improving application launch times). +- **Fix-ups for MIPS-based Loongson Systems (`loongson3-fixup-2`):** Introducing the `update-grub` command to GRUB for MIPS-based Loongson systems (`grub-loongson3`), selecting `loongson` as the default Kernel graphical driver, disabling tcmalloc support for LevelDB to fix RIME input method crashes, etc. +- **signing-party (`signing-party-new`):** Introducing `signing-party`, useful for PGP signing parties and other social occasions. + +Changes from these topics will also make it to our work-in-progress LoongArch port, helping adopting LoongArch as an officially supported architecture. + +You may enable and test out the aforementioned updates with the following command: + +``` +sudo oma topics +``` + +Should you run into issues while using the topic repositories, please don't hesitate to get in touch for assistance. + +Community Updates +----------------- + +### Discussion: Preparing for a Community BBS + +As our community mailing list have been lacking maintenance, we would like to move our asynchronous communication channel to a communtiy BBS/forum. + +We plan to hold a discussion session at 2 P.M. on November 26th, 2023, UTC+8 time to work out platform selection, implementation schedules, and administrative organisation for our new forum. If you are interested in participating in forum moderation, please consider attending this discussion session on our [voice channel](https://discord.gg/VYPHgt9). + +### Coming Soon: *SIGILL's* Inaugural Issue + +> From the editor: Well, it's been a bit too long since we announced this project, hasn't it. We would like to offer an explanation for this delay. As we are currently working with engineers at Loongson to debug some of the issues surfaced as we began to use our LoongArch devices, we would like to refrain from commenting on and making fun of these issues before we come up with resolutions or at least arrive at basic understanding of the problems at hand. On the other hand, as we have extensive records on these issues and their potential solutions, we would like to split this inaugural issue into multiple episodes to help making them easier to read. As we finish editing these episodes, we will make sure that all issues referenced will come with guides and references to resolve them or at least our analysis of the casues. We believe that by doing so, readers will get the best out of our journey towards working LoongArch-powered dailies. We thank you for your understanding and patience. + +In the past few months, a few of our community contributors purchased various Loongson 3A5000/6000-based systems, with different use cases in mind. + +So, how did they fair? Find out in *SIGILL's* inaugural issue! + +![A Loongson 3A5000-based desktop computer at the AOSCC 2023 venue](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231014/imgs/3a5000.jpg) + +Come Chat! +-------- + +Most of our work are conducted over the Internet, come chat and work with us! Please note that most members of the following chat groups are Chinese speakers, but please feel free to ask for assistance and translation. + +### Telegram + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231111/imgs/telegram.png) + +### Discord + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231111/imgs/discord.png) + +### WeChat + +Please scan this QR code and note that you would like to join our community chat group. + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231111/imgs/wechat.png) + +### QQ + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231111/imgs/qq.jpg) + +Community Outreach +------------------ + +Ever since we caught ourselves in a conflict at Baidu Tieba's Linux community, we have effectively halted all outreaching and promotional campaigns. Now that our projects and community are both maturing, we have decided to re-double our outreach and promotional efforts to expand our networks for friends and collaborators. + +The semimonthly issue you are reading right now is part of the aforementioned effort. So far, we have planned the following columns: + +- Coffee Break: Semimonthly Newsletters +- SIGILL: Rare and Unusual Hardware +- Retro: Retro Software and Hardware +- Live: In-Person Events + +"Coffee Break" issues are published every second and fourth Fridays at 12 P.M. UTC+8 time. Other columns are published irregularly per content and editing schedules. The English version of the aforementioned materials are published on the following platforms: + +- Our community portal +- Twitter/X: @aosc_dev + +We are also seeking coverage from Linux-related media to help spread the word. diff --git a/content/news/2023-11-25-coffee-break.zh-cn.md b/content/news/2023-11-25-coffee-break.zh-cn.md new file mode 100644 index 00000000..c1d11a9f --- /dev/null +++ b/content/news/2023-11-25-coffee-break.zh-cn.md @@ -0,0 +1,249 @@ +--- +categories: + - journals +title: "安记冰室・十一月下|社庆特辑" +date: 2023-11-25T12:00:00+08:00 +important: false + +--- + +> “实㑚吃点何事啊?” + +欢迎阅读安同开源社区 (AOSC) 双周报——《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +专栏:社区十二周年 +------------------ + +![2011 ~ 2023,安同十二载](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231125/imgs/12th-annivesary.jpg) + +12 月 1 日,安同开源社区 (AOSC) 即将走过第十二个周年。 + +2011 年底,三个初中生打出“安于同学合作”的口号,一路跌跌撞撞走到了今天。曾经高傲且不可一世的“学生主导”社区早已被一棒打醒——十余年埋头苦干,我们一步一脚印,在学习和实践中找到了属于自己的风格。“安于同学合作”,在立项和持续改良各社区项目的同时,我们也与行内其他开发者和社区打成一片,参与移植适配和本地化工作,提出新方案、思路,一起为推进开源软件的更广泛应用作出贡献。与此同时,我们强调以人为本、助人为先,在推进社区项目的同时广交朋友;不论是线上的聊天群组还是线下的 AOSCC 年度聚会,安同开源社区都努力成为维系社区人脉、维护开发者和用户关系、扩展社区与企业关系和资源共享的一股积极力量。 + +过去的一年中,社区维护的 Linux 发行版 AOSC OS(中译:安同 OS)逐步趋于成熟,在为用户提供可靠、舒心的使用体验的同时,也带动着社区项目的发展。其中,我社维护的软件包管理前端 [Omakase](https://github.com/AOSC-Dev/oma) 正式成为系统的基础组件,逐步替代 APT 成为新的包管理工具;系统安装器 [DeployKit](https://github.com/AOSC-Dev/aoscdk-rs) 逐渐稳定,为各种不同架构的设备提供界面统一、高效部署的安装体验;基于 AOSC OS 衍生的专用发行如维护与恢复环境 RescueKit、硬件稳定性测试环境 BurnKit 等也将陆续亮相,丰富各类用户的系统工具包。与此同时,AOSC OS 推进龙架构 (LoongArch) 支持,作为该架构设备桌面支持和体验改善的排头兵,为新架构用户排雷、解决问题、优化性能,相信能在给 LoongArch 爱好者们提供好用的系统的同时,给其他发行版的架构支持工作提供参考和代码贡献。 + +在未来的一年中,我们将继续努力,持续维护和改良 AOSC OS 各版本和周边软件的使用体验,完善面向老设备的 Afterglow 发行版设计和维护流程,推进社区网站和文档资源整理工作,筹备 AOSCC 2024 线下聚会,扩展社区在开源软件生态中的贡献和与不同软硬件厂商的积极合作。安同开源社区将继续以积极、友好和专业的态度服务来自社区内外的用户、开发者和爱好者们。 + +你好,安同!在一起,才是开源。 + +创始人白铭骢于 2023 年 11 月 23 日 + +*(好了,白某的肉麻话讲完了,下面讲正事儿……)* + +AOSC OS 快讯 +------------ + +在过去几周中,社区开发者们除继续对 [AOSC OS](https://aosc.io/zh-cn/downloads/) 进行日常维护外,还为系统引入了许多更新、修复,推进了系统周边组件的开发,希望这些工作能为您的工作与娱乐生活带来便利。 + +### Apple Silicon 版 AOSC OS 系统发布 + +![安同 OS,启动!](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231125/imgs/apple-silicon.jpg) + +Apple Silicon 版 AOSC OS 系统发布,搭载 M1 或 M2 芯片的 Mac 电脑用户现可安装 AOSC OS 系统。目前的系统在绝大多数基于 M1 芯片的设备开箱即用[^1],除 OpenGL 图形加速[^2]和 Thunderbolt[^3] 外,内置存储、各接口、音频、Wi-Fi 和摄像头等内置设备均可使用。M2 支持仍在完善中[^4],M3 支持即将发布。 + +在 macOS Ventura (13) 或更新版本系统的终端中运行如下命令即可安装 AOSC OS: + +``` +curl https://releases.aosc.io/install-asahi | sh +``` + +如果您在安装或使用系统时遇到问题,请在 AOSC OS GitHub 仓库 [报告问题](https://github.com/AOSC-Dev/aosc-os-abbs/issues/new?assignees=&labels=&projects=&template=bug-report.yml) 或于下列联系方式中与我们取得联系。 + + +### 2023 年底 AOSC OS 壁纸开放征集 + +多年来,得益于来自社区的踊跃投稿,AOSC OS 的壁纸包内容愈发丰富(目前包含超过 100 张)。距离上次壁纸征集已有半年,现征集社区壁纸投稿,欢迎大家参与! + +考虑到过去数次壁纸征集投稿量非常大,导致壁纸包大小急剧增长,今年年底征集我们将在贡献者间进行初步选拔,选出 10 张壁纸纳入默认的壁纸包中(其余投稿将包含在额外 (extras) 壁纸包中,但考虑到对系统大小的影响,因此默认不预装)。来年上半年的默认壁纸将通过社区投票在通过初选的壁纸中选出。 + +#### 投稿规则 + +- **投稿仅限原创作品**,但格式不限(摄影作品或平面设计均可) +- 除非作为平铺图案使用,壁纸分辨率**必须高于 3000×2000** +- 投稿**不得包含商标及(虚拟及现实生活中)除安安/同同外的肖像** +- 投稿**不得包含有关政治、种族、宗教的观点性内容** + +#### 投稿流程 + +1. 在 GitHub 上的 [征集公告](https://github.com/AOSC-Dev/aosc-os-abbs/discussions/4836) 跟帖回复要投稿的壁纸 +2. 在**每张**壁纸链接下注明如下信息:壁纸标题、作者名称及邮箱地址,以及壁纸许可 + +> 注:如上规则解释权归社区贡献者所有。在征集截止后,社区贡献者将召开例会,届时我们将根据合规性及质量规则筛选壁纸投稿,并组织内部投票选出十张候选默认壁纸。 + +**投稿截止时间:UTC +8 时间 12 月 15 日零时。** + +感谢您的投稿! + +### 软件更新清单数据 (Topic Update Manifest) + +相信使用过 Windows 的朋友们大多都见过 Windows Update 的界面。虽说 Windows Update 由于种种设计和使用体验问题可以说是毁誉参半,但我们发现其对系统更新内容的整理和呈现方式实际上有可取之处。Linux 世界中,系统更新大多以软件包为单位来更新,且数量往往较多;包管理系统就是 Linux 世界的 Windows Update,但用户在更新系统时往往只能看到具体更新了什么软件包,但很难了解到这些软件包更新的内容和效果。 + +以 Windows Update 更新包的描述格式为蓝本,我们设计了一款用于描述更新大致内容的[元数据格式规范](https://gist.github.com/MingcongBai/912e778216aad58cf504713dcd4898cc),方便包管理前端呈现用户可读的系统更新概览。该格式规范目前正在征求意见中,欢迎您来评论区提出意见和批评。 + +### 预览:BurnKit 硬件稳定性测试套件 + +在推进 AOSC OS 龙架构 (loongArch) 移植的过程中,社区开发者们被 LoongArch 设备的硬件兼容性弄得焦头烂额,从内存到显卡,稳定性问题时有发生;更“要命”的是,由于龙芯和第三方板卡官方没有提供官方兼容硬件列表,社区几位开发者可以说是被整得团团转,每周都在找、买、退各种硬件,方才整出几台基本稳定的,用于日常使用和开发工作的机器。 + +为了方便验证硬件稳定性,亦配合龙芯开源社区推进 [“龙架构硬件兼容性数据库 (QVL)”](https://github.com/loongson-community/areweloongyet/issues/68) 项目的数据收集需要,我们设计了一款专门用于压测设备各组件的系统发行——BurnKit。BurnKit 可写入 U 盘或光盘中直接启动使用。 + +BurnKit 的开发工作仍处于初步设计阶段,我们计划在 BurnKit 中包含如下几个测试项目: + +- 内存稳定性测试:使用 [stressapptest](https://github.com/stressapptest/stressapptest) 持续测试设备 80% 的可用内存容量 24 小时,验证高内存 I/O 负载下的系统稳定性 +- 图形内存测试:运行 10 个 [glmark2](https://github.com/glmark2/glmark2) 实例 1 小时,验证 GPU 显存访问的稳定性 +- 存储 I/O 压测:每处理器核心运行 2 个 [stress-ng](https://github.com/ColinIanKing/stress-ng) 混合 I/O 压测项目,验证各工况下存储 I/O 的稳定性 +- OpenGL 测试:使用 [Blender](https://www.blender.org) 的 Eevee OpenGL 渲染器渲染一个较为复杂的动画序列,验证 GPU 中 OpenGL 功能的稳定性 +- GPGPU 测试:使用 [LuxMark](http://www.luxmark.info/) OpenCL 测试项目,验证 GPU 通用计算功能的稳定性 +- 组合运行上述不同项目,验证多重负载下的整体系统稳定性 + +这些项目运行过程和日志都将统一整理好,方便提交到相关数据库中,方便他人参考。如果您希望就对 BurnKit 的设计和测试项目提出建议,欢迎在 [BurnKit](https://github.com/AOSC-Dev/burnkit) 仓库中提交工单 (issue) 或来我社各聊天群组(见文末“一起吹水”一节)讨论。 + +### 持续推进 AOSC OS“合龙” + +先前,我们启动了“合龙”工作——将目前位于前沿分支 (`frontier`) 中的移植工作合并到稳定分支 (`stable`) 中。在未来数个月中,我们将就两个分支中的源码及配置差异进行[审阅、测试及合并工作](https://github.com/AOSC-Dev/aosc-os-abbs/pull/4701),直到 LoongArch 架构构建配置等成为稳定系统的一部分。 + +目前,用于 LoongArch 的实验性系统发行已经可以从[社区主页下载](https://aosc.io/zh-cn/downloads),欢迎试用并提供反馈,亦欢迎有志之士加入“合龙”工作! + +### 更新速览 + +#### 系统组件 + +过去两周中我们为 AOSC OS 推送了许多更新,这里简要介绍其中几项: + +- 十月图形栈套件更新 (`graphical-stack-survey-20231031`):引入大量图形栈组件更新,修缮新硬件支持并提高稳定性;修复 Firefox 视频硬件解码支持,提高多媒体浏览体验 +- [Omakase](https://github.com/AOSC-Dev/oma) 包管理前端更新至 1.1.8,修复无法同时查询多个软件包详情和无法正常显示依赖报错的问题 +- 软件源镜像管理器 (`mirrormgr`) 更新至 0.8.0,新增 Omakase 集成支持,取代先前的 apt-gen-list 工具 +- systemd 系统初始化及服务管理器 (`systemd`) 更新至 254.6,引入大量新特性并修复了安装时的警告输出 +- Firefox 浏览器 (`firefox`) 更新至 119.0.1,打开二级架构的硬件视频解码加速支持,大幅度提升观看在线视频时性能 +- Telegram 即时通讯软件 (`telegram-desktop`) 更新至 4.11.8,支持数种新的消息及引用格式 +- Discord 聊天、语音及直播软件更新至 0.0.35 +- 命令行有道词典 (`ydcv-rs`) 更新至 0.6.3,修复“网络短语”栏目的解析特性及二级架构的 HTTPS 访问支持 +- MKV 视频格式处理套件 (`mkvtoolnix`) 更新至 79.0,新增从 Dolby Vision 提取 AV1 等特性支持 +- Blender 图形设计套件 (`blender`) 更新至 3.6.4 +- R 统计学编程与绘图套件 (`r`) 更新至 4.3.1 +- Exim 邮件服务器与客户端套件 (`exim`) 更新至 4.97,修复数个功能性问题与安全漏洞 +- Fcitx 的萌娘百科词库 ([fcitx5-pinyin-moegirl](https://github.com/outloudvi/mw2fcitx)) 更新至 20231114,引入许多新词 +- Boost 运行时与开发头文件库 (`boost`) 更新至 1.83 并更新或重构相关软件,改善部分新 C++ 程序的开发体验并引入了 NumPy 绑定库以支持 LuxCoreRender 等科学计算相关软件 +- NVIDIA 通用计算与编程套件 CUDA (`cuda`) 更新至 12.2.2+535.104.05,修复与新 NVIDIA 驱动的兼容性 +- Gitoxide 高性能 Git 实现 (`gitoxide`) 更新至 0.31.1,新增 Git dump 等协议特性支持 +- 用于 Bash 的 Git 提示符组件 ([bash-git-status](https://github.com/AOSC-Dev/bash-git-status)) 更新至 0.2.1,改善 Rebase 等操作时的提示样式 +- 命令行文件搜索工具 (`fd`) 修复了在 Apple Silicon 设备等使用 16K 内核分页设备上无法使用的问题 +- Sphinx 文档生成套件 (`sphinx`) 更新至 7.0.1,修复与文档格式转换工具 (`docutils`) 的兼容性 +- Docutils 文档格式转换工具 (`docutils`) 更新至 0.20.1,修复与 Sphinx 7.x 的兼容性 +- TeXLive 套件 (`texlive`) 修复安装时格式生成脚本报错及某些工具指向错误路径的问题 +- 可执行文件压缩工具 (`upx`) 更新至 4.2.1,修复 Rust 二进制压缩支持 +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) 半自动打包工具更新至 1.7.5,详见下文 + +#### 新增组件 + +过去两周,AOSC OS 软件仓库中新增如下软件包: + +- 可移植事件主循环库 (`aml`) +- 只读 APFS 文件系统驱动 (`apfs-fuse`) +- 代码结构搜索、修整及重写工具 (`ast-grep`) +- 命令行程序性能分析工具 (`hyperfine`) +- EDID 与 DisplayID 解析库 (`libdisplay-info`) +- 命令行死链探测工具 (`lychee`) +- VNC 服务端 API 库 (`neatvnc`) +- C 语言递归下降解析器 (Recursive-descent Parser) 生成器库 (`peg`) +- Vulkan 开发者工具库 (`vulkan-utility-libraries`) + +其中,与 Apple Silicon 设备支持有关的包有: + +- 基础支持套件包 (`asahi-base`) +- ALSA 音频系统布局配置 (`alsa-ucm-conf-asahi`) +- 通用管理组件与脚本 (`asahi-common`) +- 固件提取器 (`asahi-fwextract`) +- Linux 内核 (`linux-kernel-asahi`, `linux+kernel+asahi`) +- 通用引导器 (`m1n1`) +- U-Boot 引导器镜像 (`uboot-asahi`) + +#### 开发工具 + +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) 半自动打包工具发布 1.7.5 版,将 `/usr/gnemul` 模拟系统根路径加入到路径白名单中;默认关闭 `update-alternative` 工具过于敏感的警告输出;在构建后安装软件包时默认使用软件包中附带的新版配置文件 +- [aoscbootstrap](https://github.com/AOSC-Dev/aoscbootstrap) 发行版生成工具发布 0.3.3 版,修复某些情况下清理多余文件时无法删除 `/proc` 下文件的问题 + +#### 周边项目 + +- Bash 基础配置 ([bash-config](https://github.com/AOSC-Dev/bash-config)) 发布 0.6.0 版,默认开启 `ip` 命令的彩色高亮功能 +- PMON 配置生成器 ([pmon-update](https://github.com/loongson-community/pmon-update)) 新增发行版通用实现(先前只支持 Debian 系发行版),可改善搭载 PMON 固件的 MIPS 龙芯设备 (`loongson2f`, `loongson3`) 上管理多个内核版本时的体验 + +### 尝鲜预报 + +为更好地测试我们的系统更新,我们为不同类别的更新创建相应测试源,供用户与贡献者测试。目前,我们开放如下测试源: + +- **Linux 内核 6.6 (`linux-kernel-6.6`):** 将 Linux 内核更新至 6.6 分支,新增硬件支持(如在 RISC-V 上打开 ACPI 支持,新增龙架构配置等),引入性能优化等(如在 x86_64 架构内核上关闭先前因为疏忽打开的调度器调试支持`CONFIG_DEBUG_PREEMPT`,加速应用启动) +- **MIPS 龙芯修缮 (`loongson3-fixup-2`):** 为龙芯专版 GRUB (`grub-loongson3`) 新增 `update-grub` 命令,默认为板载显卡选用 `loongson` 驱动,关闭 LevelDB 的 tcmalloc 支持以修复中州韵 (RIME) 输入法崩溃的问题等 +- **signing-party (`signing-party-new`):** 引入 `signing-party` 包,方便用户参加 PGP 签名派对等社交场合 + +这些测试源也将同步至我们的龙架构 (LoongArch) 前沿分支 (`frontier`),并为正式引入龙架构支持做准备。 + +输入如下命令方可随时加入或退出测试源: + +``` +sudo oma topics +``` + +如果您在使用如上测试源的过程中遇到问题,请随时联系我们,我们将尽力协助您修复问题。 + +社区快讯 +-------- + +### 讨论会:社区论坛搭建筹备 + +考虑到社区邮件列表维护状态欠佳,我们希望尽快将社区的非即时通信转移到一个论坛系统上。 + +我们暂定于在 UTC+8 时间本周日(2023 年 11 月 26 日)下午二时就论坛平台选择、工作计划和人员安排等进行讨论。如果您有兴趣参与社区论坛维护和运营,欢迎来 [语音频道](https://discord.gg/VYPHgt9) 参与本次讨论会。 + +### 预告:《聊斋》创刊号 + +> 编者按:拖这么久了,也许有必要解释下为什么这期《聊斋》为何迟迟没有发布——考虑到目前社区正与龙芯中科的工程师协同调试使用过程中遇到的问题,我们不希望在有关问题得到解决或得出初步结论之前草率地进行讨论或吐槽;此外,遇到的问题和解决过程记录较长,我们目前希望更系统性地整理该刊内容,并分期发布,方便读者阅读。在一切就绪后,《聊斋》中遇到的每个问题将附有解决方案、或对问题原因的分析,以期最大化此类内容的建设性。感谢各位读者的理解和耐心! + +过去几个月中,社区贡献者陆续购买了数台搭载龙芯 3A5000 及 3A6000 的设备,用于各种不同场景。那么,龙架构 (LoongArch) 加持的龙芯设备的使用体验如何呢?敬请期待《聊斋》创刊号! + +![AOSCC 2023 会场上的龙芯 3A5000 台式机](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231125/imgs/3a5000.jpg) + +一起吹水 +-------- + +互联网是我社的主要活动场所,欢迎来社区各群聊及语音频道交流玩耍: + +### 微信群 + +请扫描此二维码添加好友并说明来意:申请加入 AOSC 社区频道。 + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231125/imgs/wechat.png) + +### QQ 群 + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231125/imgs/qq.jpg) + +### Telegram 群组 + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231125/imgs/telegram.png) + +### Discord 语音频道 + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231125/imgs/discord.png) + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周五午间 12 时发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2023-12-09-coffee-break.md b/content/news/2023-12-09-coffee-break.md new file mode 100644 index 00000000..92d07285 --- /dev/null +++ b/content/news/2023-12-09-coffee-break.md @@ -0,0 +1,210 @@ +--- +categories: + - journals +title: "Coffee Break: December Issue 1/2" +date: 2023-12-09T12:00:00+08:00 +important: false + +--- + +> "What would y'all like to drink today?" + +Thank you for reading "Coffee Break," AOSC's semi-monthly newsletter! Here, you will find summaries of development updates, community matters, and upcoming events in an accessible and fun fashion. This column is also used to publish interview transcripts with individuals and representatives from various groups, clubs, and industries and will be published as special issues. This column does not contain op-ed-type contents. + +AOSC OS: Featured Items +----------------------- + +In the past two weeks, besides routine maintenance on [AOSC OS](https://aosc.io/downloads), community developers also introduced many updates and fixes, as well as the accompanying applications and components. We hope that these updates will bring you enjoyment and productivity. + +### oma 1.2 Released + +Recently, community developer [Mag Mell](https://github.com/eatradish) has released oma version 1.2 with several new features: + +- Much improved error output and debug logging, allowing for easier troubleshooting by users and developers alike. +- New `--sysroot=` parameter to manager other AOSC OS installations on your devices. + +With the 1.2 release, we have also decided to rename Omakase as oma. "Omakase" was really a misnomer, previously used by our initial implementation, which was a Nix-like manifest-driven package manager (like how the chef assembles your meal per their specification); the current implementation is a much conservative one, working similarly to APT. + +> Well, so what does oma stand for? Who knows! Let us know if you have any ideas. + +oma 1.2 is now available in AOSC OS's stable repository, enjoy! + +### Stayin' Alive: A New Dual Loongson 3B4000 Server to Bolster AOSC OS Maintenance + +In recent years, the LoongArch instruction set architecture has gradually replaced MIPS to drive Loongson's processor cores. However, many Loongson users and enthusiasts still have MIPS-based 1000 - 4000 generation Loongson devices on hand, even ones built around the ancient Loongson 2F processor (such as Lemote's YeeLoong 8089 netbook). + +Our community distributions still support these MIPS-based Loongson devices and plan to continue offering support in the coming years. Our AOSC OS mainline distribution supports Loongson 3 of the 1000 - 4000 generations; Afterglow, our distribution for legacy devices, supports Loongson 2F platforms. However, as open source software updates are frequent and the distribution code base continues to grow, our only MIPS Loongson build server is beginning to struggle. + +![Our recently acquired dual 3B4000 motherboard.](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231209/imgs/3b4000.jpg) + +To alleviate this computational shortfall, we called a crowdsourcing project to build our new dual 3B4000 server. Thanks to the generosity of our community members, we managed to source all parts and funds necessary in just a day. While the parts are still on the way, we plan to assemble the server and put it into use in the coming week. This new server will continue to support AOSC OS and Afterglow maintenance for this architecture. + +### Updates from the Frontier: Mainlining LoongArch + +Earlier, we have initiated the effort to merge the LoongArch port AOSC OS from the `frontier` branch to our `stable` branch. In the next few months, we will continue to [review, test, and merge]https://github.com/AOSC-Dev/aosc-os-abbs/pull/4701) the changes between the two branches. The completion of this task marks the LoongArch port as stable. + +You may download the experimental LoongArch system release from the [community portal](https://aosc.io/zh-cn/downloads). We look forward to hearing your feedback and welcome your contribution to making our LoongArch port better! + +### At a Glance: AOSC OS Updates + +#### System Components + +A good number of updates made it into AOSC OS in the past two weeks, here are a few items of note: + + +- [oma](https://github.com/AOSC-Dev/oma) package manager frontend was updated to 1.2.4, introducing new features and fixes (see "oma 1.2 Released" above). +- LLVM runtime and toolchain (`llvm`, `llvm-runtime`; containing Clang, LLDB, LLD, etc.) was updated to 17.0.6, with support for many new architecture features and bug fixes. +- Fcitx 5 (`fcitx5-*`) and RIME input method engine components (`rime-*`) were updated to their newest versions, introducing new features and a fix for system log flooding when using the RIME input methods. +- Discord (`discord`) was update to 0.0.37. +- Docker system and application container manager (`docker`) was updated to 24.0.7. +- Docker Compose multi-container manager (`docker-compose`) was updated to 2.23.3. +- Feishin media streaming service client (`feishin`) was updated to 0.5.2. +- Nano text editor (`nano`) was updated to 7.2 with updated nanorc syntax highlighting collection. +- OpenVPN (`openvpn`) was update to 2.5.2. +- PostgreSQL database suite (`postgresql`) was updated to 13.13 with support for LLVM 17-based JIT engine. +- Rust programming language toolchain (`rustc`) was updated to 1.74.0. +- SuperSlicer 3D printer instruction generator (`superslicer`) was updated to 2.25.9.3 with support for cooling instructions for Prusa printers. +- Telegram instant messaging client (`telegram-desktop`) was updated to 4.12.2. +- hwinfo system hardware viewer (`hwinfo`) was updated to 23.2 with support for LoongArch. +- i3 tiling window manager (`i3`) was updated to 4.23 with support for the "focus workspace" command, as well as other usability and documentation fixes. +- ripgrep high-performance file content search utility (`ripgrep`) was updated to 14.0.3. +- strace program debugger (`strace`) was updated to 6.5 with support for LoongArch. +- Introduced automatic reloading support for binary translators and emulators (Wine, Mono, and Qemu user emulator, etc.), these tools should now work right away after installation without rebooting. +- Fixes an issue in the Evolution mail client (`evolution`) where a recent update to the WebKitGTK+ webpage rendering engine resulted in incorrect content height. +- Fixes an issue where Pytest (`pytest`) fails to run due to missing dependencies. + +**New Packages** + +We introduced a few packages into the AOSC OS repository in the past two weeks: + +- `iniconfig`: A small and simple INI-file parser module for Python. +- `libicns`: Library and tools for manipulating Macintosh .icns files. +- `libnvme`: Library for NVMe protocol definition. + +**Contributors** + +Thank you to our colleagues who helped maintain AOSC OS (in alphabetical order): + +- [salieri](https://github.com/BC204) +- [Henry Chen](https://github.com/chenx97) +- [Mag Mell](https://github.com/eatradish) +- [Felix Yan](https://github.com/felixonmars) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [jiegec](https://github.com/jiegec) +- [Mingcong Bai](https://github.com/MingcongBai) +- [OriginCode](https://github.com/OriginCode) + +#### Development Tools + +- [ACBS](https://github.com/AOSC-Dev/acbs) package build script, source, and build manager version 20231205 was released. [Zixing Liu](http://github.com/AOSC-Dev/acbs) implemented a `use-url-name` switch for the source code records, allowing packagers to control whether to keep the original file name as recorded in the URL; this version also fixes an issue where dependencies (and thus build orders) for sub-packages were incorrectly calculated. +- [aosc-findupdate](https://github.com/AOSC-Dev/aosc-findupdate) package version checker version 0.4.0 was released. [Felix Yan](https://github.com/felixonmars) fixed an issue where the utility fails to recognise update checking settings following a dependency update; [jiegec](https://github.com/jiegec) introduced the `-U` switch, which makes use of [Ciel](https://github.com/AOSC-Dev/ciel-rs) and [ACBS](https://github.com/AOSC-Dev/acbs) to automatically download source code files and refresh checksums after update checks; [Mag Mell](https://github.com/eatradish) improved error handling logic. +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) semi-automatic packaging toolkit version 1.7.6 was released. [Mingcong Bai](https://github.com/MingcongBai) fixed an issue where some packages would fail to build due to an unset `TZ` timezone variable (Autobuild3 will now set `TZ=UTC` at the start of each build). +- [mirrormgr](https://github.com/AOSC-Dev/mirrormgr) package repository mirror manager version 0.9.0 was released. [Mag Mell](https://github.com/eatradish) introduced support for refreshing topic repositories. +- [pushpkg](https://github.com/AOSC-Dev/scriptlets/tree/master/pushpkg) package uploading utility version 0+git20231129 was released. [Felix Yan](https://github.com/felixonmars) introduced the `-i` (`--identity-file`) switch, allowing maintainers to specify identity files (private keys) stored in non-standard locations. +- [treevsrepo](https://github.com/AOSC-Dev/treevsrepo) package version difference checker introduced many new features and fixes. [jiegec](https://github.com/jiegec) introduced support for checking versions against testing (topic) repositories and fixed the previously broken Epoch comparison logic, as well as an issue where versions of package variants did not match the target architectures; [Mag Mell](https://github.com/eatradish) fixed an issue where the checker fails to recognise some packages in the repository. +- [jiegec](https://github.com/jiegec) commenced work to implement an automated packaging agent (bot) named [BuildIt!](https://github.com/AOSC-Dev/buildit). Very soon, package maintainers will be able to initiate packge build jobs from Telegram, without the need to log into individual build servers via SSH. This will greatly enhance efficiency and make maintenance work less tedious. + +#### Peripheral Projects + +- Apple Silicon device booting and management scripts ([asahi-scripts](https://github.com/AOSC-Dev/asahi-scripts)): [Xinhui Yang](https://github.com/Cyanoxygen) implemented a swapfile creation logic and improved partition ID randomisation and recording logic. This should make the first-boot routines more robust, as well as addressing a previous issue where AOSC OS did not have any available swap space after installation - the system should now be more stable and responsive under heavy load. +- Bash basic configuration, ([bash-config](https://github.com/AOSC-Dev/bash-config)), version 0.6.3 was released. [Mingcong Bai](https://github.com/MingcongBai) and [Zixing Liu](https://github.com/liushuyu) rewrote the cd-to-parent-directories shorthand as a dynamic function, which will now allow switching to parent directories up to 16 levels from the current working directory; the executable PATH hashing function was disabled to avoid confusion when a command is available from multiple directories in the executable path (`$PATH`) and Bash refuses to follow the path order recorded in that variable. + +### In the Oven + +To help test our system updates, we created various "topic" repositories to deliver them to our users and maintainers. The following topic repositories were created earlier this week: + +- **Linux Kernel 6.6 (`linux-kernel-6.6`):** Updates Linux Kernel to the 6.6 branch, enabling new hardware support (enabling ACPI support on RISC-V, introducing LoongArch configuration, etc.) and improving performance (disabling scheduler debugging `CONFIG_DEBUG_PREEMPT` on x86_64, which was enabled by mistake, improving application launch times). +- **Fix-ups for MIPS-based Loongson Systems (`loongson3-fixup-2`):** Introducing the `update-grub` command to GRUB for MIPS-based Loongson systems (`grub-loongson3`), selecting `loongson` as the default Kernel graphical driver, disabling tcmalloc support for LevelDB to fix RIME input method crashes, etc. +- **End of November Mozilla Survey (`mozilla-survey-20231122`):** Updates Firefox to 112.0 and Thunderbird to 115.5.0, enabling hardware video encode/decode acceleration for all mainline architectures and introducing OpenH264 codec support, making it possible to make use of audio/video conferencing on architectures with WebRTC support. +- **signing-party (`signing-party-new`):** Introducing `signing-party`, useful for PGP signing parties and other social occasions. +- **Yazi terminal file manager (`yazi-new`):** Introduces Yazi as a new terminal file manager (`yazi`). + +Changes from these topics will also make it to our work-in-progress LoongArch port, helping adopting LoongArch as an officially supported architecture. + +You may enable and test out the aforementioned updates with the following command: + +``` +sudo oma topics +``` + +Should you run into issues while using the topic repositories, please don't hesitate to get in touch for assistance. + +Community Updates +----------------- + +### Coming Soon: AOSC BBS + +![A sneak peak at our new community BBS.](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231209/imgs/bbs.png) + +Two weeks ago, we have set up our community forum (BBS) and designed the basic board layout. We plan to open up the BBS for registration after readying all necessary documentation. The BBS defaults to the Chinese language by default, but comes with English language boards for our friends around the world. The BBS will host all community and project announcements and future bi-weekly issues will also be published there. + +We plan to complete the aforementioned preparation by the end of this year. + +URL to our new BBS, for your record: https://bbs.aosc.io/ + +### Call for AOSC OS Wallpapers Now Open for 2023H2 + +In the past few years, thanks to active participation from our community members, our wallpaper collection has grown substantially (currently containing more than 100 wallpapers). Now that it has been over six months since our last call for wallpapers, we welcome your submissions! + +The volume of the last few submissions had been vast and the size of our wallpaper package exponentially. In an attempt of controlling its size, the contributors will vote for ten (10) candidates for inclusion in the default wallpaper collection, these candidates will then go into a community poll to produce our next default wallpaper. The rest of the submissions will go into another non-preinstalled package (extras) in the interest of controlling our distribution size. + +#### Rules + +1. **You must be the original author of your submission**, though you may submit photographs or graphic designs. +2. Your submission(s) must be of **3000x2000 or higher resolution**, unless they are used as tiled patterns. +3. Your submission **must not contain trademarks or (virtual or real-life) human(oid) portraits**, except for An-An and Tong-Tong. +4. Your submission **must not contain political, racial, or religious opinions.** + +#### Submission Format + +1. Upload your submission in a reply below. +2. Note the following under **each of your submissions:** title of wallpaper, your name and e-mail, and licensing terms. + +*Note: The rules and expectations above are subject to interpretation by our community contributors. After the submission deadline, community contributors will convene to audit and filter all submissions based on rule compliance and quality. We will hold an internal vote to select ten candidates for the community poll.* + +**Submissions will close at 0:00 on December 15th, UTC +8 time.** + +Thank you in advance for your contribution! + +Come Chat! +-------- + +Most of our work are conducted over the Internet, come chat and work with us! Please note that most members of the following chat groups are Chinese speakers, but please feel free to ask for assistance and translation. + +### Telegram + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231209/imgs/telegram.png) + +### Discord + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231209/imgs/discord.png) + +### WeChat + +Please scan this QR code and note that you would like to join our community chat group. + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231209/imgs/wechat.png) + +### QQ + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231209/imgs/qq.jpg) + +Community Outreach +------------------ + +Ever since we caught ourselves in a conflict at Baidu Tieba's Linux community, we have effectively halted all outreaching and promotional campaigns. Now that our projects and community are both maturing, we have decided to re-double our outreach and promotional efforts to expand our networks for friends and collaborators. + +The semimonthly issue you are reading right now is part of the aforementioned effort. So far, we have planned the following columns: + +- Coffee Break: Semimonthly Newsletters +- SIGILL: Rare and Unusual Hardware +- Retro: Retro Software and Hardware +- Live: In-Person Events + +"Coffee Break" issues are published every second and fourth Fridays at 12 P.M. UTC+8 time. Other columns are published irregularly per content and editing schedules. The English version of the aforementioned materials are published on the following platforms: + +- Our community portal +- Twitter/X: @aosc_dev + +We are also seeking coverage from Linux-related media to help spread the word. diff --git a/content/news/2023-12-09-coffee-break.zh-cn.md b/content/news/2023-12-09-coffee-break.zh-cn.md new file mode 100644 index 00000000..78380b3a --- /dev/null +++ b/content/news/2023-12-09-coffee-break.zh-cn.md @@ -0,0 +1,211 @@ +--- +categories: + - journals +title: "安记冰室・十二月上" +date: 2023-12-09T12:00:00+08:00 +important: false + +--- + +> “你们滋饮点么?” + +欢迎阅读安同开源社区 (AOSC) 双周报——《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +AOSC OS 快讯 +------------ + +在过去几周中,社区开发者们除继续对 [AOSC OS](https://aosc.io/zh-cn/downloads/) 进行日常维护外,还为系统引入了许多更新、修复,推进了系统周边组件的开发,希望这些工作能为您的工作与娱乐生活带来便利。 + +### oma 1.2 发布 + +近日,社区开发者 [傅孝元](https://github.com/eatradish) 发布了 oma 1.2 版,该版引入了如下几个特性: + +- 大幅度改善报错和调试信息,方便用户和开发者解决使用过程中遇到的问题 +- 新增 `--sysroot=` 参数,允许管理设备中安装的其他 AOSC OS 系统或容器 + +此外,随着 1.2 的发布,我们决定将 Omakase 更名为 oma,摒弃之前名不副实的 Omakase 命名。Omakase 最初的设计类似 Nix,基于中心配置重新组装系统,而目前的实现相对传统,即由用户“点单”安装软件包的设计显然和 Omakase 指代的“厨师发办”意思相悖。 + +> …… 那么,oma 的全称是什么呢?我们也不知道!欢迎各位读者广开脑洞~ + +该版本 oma 已推送至 AOSC OS 稳定源,祝使用愉快! + +### 持续维护:新龙芯 3B4000 双路服务器即将投产 + +近年来,龙架构 (LoongArch) 已逐渐替代 MIPS 架构,成为龙芯处理器的核心指令集架构。然而,先前许多龙芯爱好者手上依然有基于 MIPS 的 1000 至 4000 系列龙芯,甚至有古董电脑玩家手上依然有龙芯 2F 机器(如龙梦的逸珑 8089 上网本)。我社发行版依然支持这些 MIPS 龙芯设备,且计划在未来数年内继续提供支持:其中,AOSC OS 主线发行支持龙芯三号 1000 - 4000 系列;面向老旧设备的星霞 OS (Afterglow) 则支持龙芯 2F。然而,开源软件更新和修复频繁且代码量不断增大,这给我社唯一一台 MIPS 龙芯编译服务器带来不小压力。 + +- +为提高 MIPS 龙芯架构的维护算力,我社发起募捐并计划组装一台新龙芯 3B4000 双路服务器。社区好友慷慨解囊,捐钱捐物,在一天内我们便集齐了所需硬件和款项。目前各种零件还在路上,我们计划在下周完成组装并将这台新服务器投入生产,为持续维护 AOSC OS 和星霞提供新的动力。 + +### 持续推进 AOSC OS“合龙” + +先前,我们启动了“合龙”工作——将目前位于前沿分支 (`frontier`) 中的移植工作合并到稳定分支 (`stable`) 中。在未来数个月中,我们将就两个分支中的源码及配置差异进行[审阅、测试及合并工作](https://github.com/AOSC-Dev/aosc-os-abbs/pull/4701),直到 LoongArch 架构构建配置等成为稳定系统的一部分。 + +目前,用于 LoongArch 的实验性系统发行已经可以从[社区主页下载](https://aosc.io/zh-cn/downloads),欢迎试用并提供反馈,亦欢迎有志之士加入“合龙”工作! + +### 更新速览 + +#### 系统组件 + +过去两周中我们为 AOSC OS 推送了许多更新,这里简要介绍其中几项: + +- [oma](https://github.com/AOSC-Dev/oma) 包管理前端更新至 1.2.4,引入数个新特性及修复(见上文“oma 1.2 发布”) +- LLVM 运行时及工具链(`llvm`, `llvm-runtime`;Clang, LLDB, LLD 等)更新至 17.0.6,引入数个新架构支持特性和修复 +- Fcitx 5 (`fcitx5-*`) 及中州韵输入法各组件 (`rime-*`) 更新至最新版本,引入新特性和改进并修复中州韵输入时系统日志输出大量错误的问题 +- Discord 聊天、语音及直播软件 (`discord`) 更新至 0.0.37 +- Docker 系统及应用容器管理器 (`docker`) 更新至 24.0.7 +- Docker Compose 多容器管理器 (`docker-compose`) 更新至 2.23.3 +- Feishin 流媒体服务客户端 (`feishin`) 更新至 0.5.2 +- Nano 文本编辑器 (`nano`) 更新至 7.2 并同步最新 nanorc 高亮配置集 +- OpenVPN 代理服务器管理套件 (`openvpn`) 更新至 2.5.2 +- PostgreSQL 数据库套件 (`postgresql`) 更新至 13.13,支持基于 LLVM 17 的 JIT 加速引擎 +- Rust 编程语言工具链 (`rustc`) 更新至 1.74.0 +- SuperSlicer 3D 打印机指令生成器 (`superslicer`) 更新至 2.25.9.3,新增 Prusa 打印机散热选项支持 +- Telegram 即时通信客户端 (`telegram-desktop`) 更新至 4.12.2 +- hwinfo 系统硬件查看器 (`hwinfo`) 更新至 23.2,新增龙架构 (LoongArch) 支持 +- i3 平铺窗口管理器 (`i3`) 更新至 4.23,新增“聚焦工作区 (focus workspace)”命令并修复数个程序和文档问题 +- ripgrep 高性能文件内容搜索工具 (`ripgrep`) 更新至 14.0.3 +- strace 程序调试器 (`strace`) 更新至 6.5,新增龙架构 (LoongArch) 支持 +- 为二进制模拟器(如 Wine、Mono 和 Qemu 用户态模拟器等)新增自动二进制格式配置重载支持,后续安装这些软件包,无需重启系统即可开始使用 +- 修复 Evolution 邮件客户端 (`evolution`) 在 WebKitGTK+ 网页渲染引擎更新后内容高度不正常的问题 +- 修复 Pytest (`pytest`) 因缺少组件依赖无法运行的问题 + +**新增组件** + +其中,AOSC OS 软件仓库中新增如下软件包: + +- Python INI 文件解析模块 (`iniconfig`) +- ICNS 图像渲染库及处理工具 (`libicns`) +- NVMe 协议库 (`libnvme`) + +**本期包工** + +感谢这两周参与 AOSC OS 维护工作的各位同事(按字母顺序): + +- [salieri](https://github.com/BC204) +- [Henry Chen](https://github.com/chenx97) +- [傅孝元](https://github.com/eatradish) +- [Felix Yan](https://github.com/felixonmars) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [白铭骢](https://github.com/MingcongBai) +- [千须末 (OriginCode)](https://github.com/OriginCode) + +#### 开发工具 + +- [ACBS](https://github.com/AOSC-Dev/acbs) 软件包构建脚本、源码及构建管理器发布 20231205 版:[刘子兴](http://github.com/AOSC-Dev/acbs) 为源码记录文件实现了 `use-url-name` 选项,允许控制下载源码时是否保持 URL 中记录的文件名并修复子包构建顺序计算不正确导致报错的问题 +- [aosc-findupdate](https://github.com/AOSC-Dev/aosc-findupdate) 软件包更新查询工具发布 0.4.0 版:[Felix Yan](https://github.com/felixonmars) 修复了先前依赖更新后无法正确识别查询类别的问题;[陈嘉杰 (jiegec)](https://github.com/jiegec) 新增 `-U` 选项,可利用 [Ciel](https://github.com/AOSC-Dev/ciel-rs) 和 [ACBS](https://github.com/AOSC-Dev/acbs) 在查找更新后自动下载源码并刷新校验值记录;[傅孝元](https://github.com/eatradish) 改善了错误管理逻辑 +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) 半自动打包工具发布 1.7.6 版:[白铭骢](https://github.com/MingcongBai) 修复了某些软件包因为 `TZ` 时区设置变量未设定时无法编译的问题(默认设置 `TZ=UTC`) +- [mirrormgr](https://github.com/AOSC-Dev/mirrormgr) 软件包源镜像管理器发布 0.9.0 版:[傅孝元](https://github.com/eatradish) 新增测试源刷新功能 +- [pushpkg](https://github.com/AOSC-Dev/scriptlets/tree/master/pushpkg) 软件包推送工具发布 0+git20231129 版:[Felix Yan](https://github.com/felixonmars) 新增 `-i` (`--identity-file`) 选项,允许在推送软件包时指定非标准位置存放的私钥文件 +- [照妖镜 (treevsrepo)](https://github.com/AOSC-Dev/treevsrepo) 软件包版本比对工具引入许多新特性和修复:其中 [陈嘉杰 (jiegec)](https://github.com/jiegec) 为 treevsrepo 引入了测试源 (topic) 版本比对支持、修复了 Epoch 比对行为不正确的问题并修复软件包变种版本比对时未参考具体对应架构的问题;[傅孝元](https://github.com/eatradish) 修复了探测软件源中某些软件包无法比对的问题 +- [陈嘉杰 (jiegec)](https://github.com/jiegec) 开始实现一款名为 [BuildIt!](https://github.com/AOSC-Dev/buildit) 的自动打包机器人,在实现完成后,软件包维护者们可以从 Telegram 发起各架构软件包构建,无需自行登录 SSH 并手动上传软件包,提高打包效率,降低维护工作繁琐程度 + + +#### 周边项目 + +- Apple Silicon 设备启动及管理脚本 ([asahi-scripts](https://github.com/AOSC-Dev/asahi-scripts)):[杨欣辉](https://github.com/Cyanoxygen) 实现了虚拟内存交换文件 (swapfile) 创建逻辑并改进分区 ID 随机化和记录流程;初次启动配置更可靠、修复先前安装 AOSC OS 后没有虚拟内存文件的问题,改善高负载下系统稳定性和响应度 +- Bash 基础配置 ([bash-config](https://github.com/AOSC-Dev/bash-config)) 发布 0.6.3 版:[白铭骢](https://github.com/MingcongBai) 和 [刘子兴](https://github.com/liushuyu) 将用于切换到上级目录的语法糖改写为动态函数,允许切换到最多 16 层上级目录;默认关闭可执行路径哈希记录 (executable PATH hashing) 功能,以免在多个可执行路径下存在同名命令时出现执行命令时选用可执行路径 `$PATH` 变量中记录顺序不一致的问题 + +### 尝鲜预报 + +为更好地测试我们的系统更新,我们为不同类别的更新创建相应测试源,供用户与贡献者测试。其中,如下几个测试源包含重要更新: + +- **Linux 内核 6.6 (`linux-kernel-6.6`):** 将 Linux 内核更新至 6.6 分支,新增硬件支持(如在 RISC-V 上打开 ACPI 支持,新增龙架构配置等),引入性能优化等(如在 x86_64 架构内核上关闭先前因为疏忽打开的调度器调试支持`CONFIG_DEBUG_PREEMPT`,加速应用启动) +- **MIPS 龙芯修缮 (`loongson3-fixup-2`):** 为龙芯专版 GRUB (`grub-loongson3`) 新增 `update-grub` 命令,默认为板载显卡选用 `loongson` 驱动,关闭 LevelDB 的 tcmalloc 支持以修复中州韵 (RIME) 输入法崩溃的问题等 +- **十一月底 Mozilla 套件更新 (`mozilla-survey-20231122`):** 更新 Firefox 浏览器至 112.0、Thunderbird 邮件客户端至 115.5.0,为所有主线架构打开硬件视频编解码加速支持及 OpenH264 编解码器支持,允许在支持 WebRTC 特性的架构上使用视讯会议平台 +- **signing-party (`signing-party-new`):** 引入 `signing-party` 包,方便用户参加 PGP 签名派对等社交场合 +- **鸭子 (Yazi) 命令行文件管理器 (`yazi-new`):** 引入鸭子命令行文件管理器 (`yazi`) + +这些测试源也将同步至我们的龙架构 (LoongArch) 前沿分支 (`frontier`),并为正式引入龙架构支持做准备。 + +输入如下命令方可随时加入或退出测试源: + +``` +sudo oma topics +``` + +如果您在使用如上测试源的过程中遇到问题,请随时联系我们,我们将尽力协助您修复问题。 + +社区快讯 +-------- + +### 社区论坛即将上线 + +![社区论坛一瞥](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231209/imgs/bbs.png) + +两周前,我们初步搭建了社区论坛并设计了基础板块,我们计划在各类文案和规则文档完成后上线社区论坛;论坛默认语言为中文,但开设英文专版以便国际友人参与讨论。在论坛搭建完成后,论坛将用同步发布各类社区及项目信息;《安记冰室》等专栏也将在论坛发布。 + +目前论坛尚未开放注册,我们计划在年内完成上述准备工作。 + +论坛地址:https://bbs.aosc.io/ + +### 2023 年底 AOSC OS 壁纸开放征集 + +多年来,得益于来自社区的踊跃投稿,AOSC OS 的壁纸包内容愈发丰富(目前包含超过 100 张)。距离上次壁纸征集已有半年,现征集社区壁纸投稿,欢迎大家参与! + +考虑到过去数次壁纸征集投稿量非常大,导致壁纸包大小急剧增长,今年年底征集我们将在贡献者间进行初步选拔,选出 10 张壁纸纳入默认的壁纸包中(其余投稿将包含在额外 (extras) 壁纸包中,但考虑到对系统大小的影响,因此默认不预装)。来年上半年的默认壁纸将通过社区投票在通过初选的壁纸中选出。 + +#### 投稿规则 + +- **投稿仅限原创作品**,但格式不限(摄影作品或平面设计均可) +- 除非作为平铺图案使用,壁纸分辨率**必须高于 3000×2000** +- 投稿**不得包含商标及(虚拟及现实生活中)除安安/同同外的肖像** +- 投稿**不得包含有关政治、种族、宗教的观点性内容** + +#### 投稿流程 + +1. 在 GitHub 上的 [征集公告](https://github.com/AOSC-Dev/aosc-os-abbs/discussions/4836) 跟帖回复要投稿的壁纸 +2. 在**每张**壁纸链接下注明如下信息:壁纸标题、作者名称及邮箱地址,以及壁纸许可 + +> 注:如上规则解释权归社区贡献者所有。在征集截止后,社区贡献者将召开例会,届时我们将根据合规性及质量规则筛选壁纸投稿,并组织内部投票选出十张候选默认壁纸。 + +**投稿截止时间:UTC +8 时间 12 月 15 日零时。** + +感谢您的投稿! + +一起吹水 +-------- + +互联网是我社的主要活动场所,欢迎来社区各群聊及语音频道交流玩耍: + +### 微信群 + +请扫描此二维码添加好友并说明来意:申请加入 AOSC 社区频道。 + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231209/imgs/wechat.png) + +### QQ 群 + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231209/imgs/qq.jpg) + +### Telegram 群组 + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231209/imgs/telegram.png) + +### Discord 语音频道 + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231209/imgs/discord.png) + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周五午间 12 时发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2023-12-23-coffee-break.md b/content/news/2023-12-23-coffee-break.md new file mode 100644 index 00000000..60507ad9 --- /dev/null +++ b/content/news/2023-12-23-coffee-break.md @@ -0,0 +1,300 @@ +--- +categories: + - journals +title: "Coffee Break: December Issue 2/2" +date: 2023-12-23T12:00:00+08:00 +important: false + +--- + +> "What would y'all like to drink today?" + +Thank you for reading "Coffee Break," AOSC's semi-monthly newsletter! Here, you will find summaries of development updates, community matters, and upcoming events in an accessible and fun fashion. This column is also used to publish interview transcripts with individuals and representatives from various groups, clubs, and industries and will be published as special issues. This column does not contain op-ed-type contents. + +Special: Happy New Year! +-------------- + +Dear Readers, + +This will be the last *Coffee Break* issue of 2023. I'm happy to say that, since the inaugural issue in August, *Coffee Break* has successfully marked the return of our outreaching effort. Moreover, it demonstrated well the hard work our contributors put in to push our community projects forward. + +As you will see, the second December issue is packed to the brim with news on important breakthroughs and new projects - the deployment of our first maintenance automation framework, improved support for non-standard devices, and the beginning of our new packaging toolkit - these new progress marked the end to a successful 2023 here at AOSC. In 2024, with our passion, professionalism, and diligence, AOSC will be sure to see great strides in realising our goals - whether technical or cultural. With new ideas, new methods, and new achievements, we will continue to - with full dedication - serve users, friends, and colleagues in and around our community. + +On behalf of AOSC, I would like to extend my gratitude for the hardwork our contributors have put into development and operational tasks. I also wish our colleagues and readers a happy new year and great success and health in 2024. + +— Mingcong Bai + +AOSC OS: Featured Items +----------------------- + +In the past two weeks, besides routine maintenance on [AOSC OS](https://aosc.io/downloads), community developers also introduced many updates and fixes, as well as the accompanying applications and components. We hope that these updates will bring you enjoyment and productivity. + +### Revolutionising Productivity: AOSC OS Maintenance Automation is Now Live! + +In the past two weeks, community developers [Jiajie Chen (jiegec)](https://github.com/jiegec) launched the [BuildIt!](https://github.com/AOSC-Dev/buildit) project - our maintenance automation framework. Working with [Xiaoyuan Fu](https://github.com/eatradish), this minimalistic implementation has been completed, published, and deployed to automate AOSC OS maintenance, **marking the end of more than a decade of manual maintenance.** + +Essentially, BuildIt! is a build job distribution manager with the following key functionalities: + +- A bot interface for maintainers to build jobs and send other commands via Telegram. +- Distributing maintainer-submitted build jobs to various community build servers. +- Launching Ciel to build packages according to standardised routines. +- Uploading built packages to their respective repositories. +- Collecting and uploading logs and status to report to maintainers via the bot interface. +- Submitting pull requests to the [ABBS tree](https://github.com/AOSC-Dev/aosc-os-abbs), automatically generating overviews and labels. +- Updating pull requests based on build status. + +As a distribution with thousands of available components (packages) and support for multiple architectures and devices - not to mention one that's maintained by volunteers - the implementation of an automation framework revolutionises our productivity. Maintainers will no longer need to log onto individuals build servers, launching build jobs and uploading packages manually, and waiting for build jobs to complete in front of their computers. In terms of chores, after committing changes and testing updates, maintainers will no longer have to fill out the frankly quite verbose pull request templates or, worse yet, ticking test build checklists manually. Since the deployment of BuildIt! This past Wednesday, we have seen a noticeable uplift in maintainer participation. The elimination of mundane busywork will be sure to leave more room for other important tasks, such as experience optimisation, standardisation, and quality assurance. + +This is only the beginning. AOSC OS's long-term maintenance will enter a new phase marked by higher efficiency and better quality, promising better developer and user experience. BuildIt!'s deployment is undoubtedly one of the most exciting historical milestones as we enter 2024. + +### Devena: AOSC OS's Non-Standard Device Support Project + +AOSC OS cares about your development board and non-standard devices! + +Devena (Device Enablement) was initially named by [Icenowy Zheng](https://github.com/Icenowy) as an effort to provide out-of-the-box support for ARM devices. By implementing device-specific components, this project aims to simplify AOSC OS installation routines and improve user experience on devices like the Raspberry Pi, Apple Silicon devices, and Surface tablets. + +![Devena's first-boot wizard.](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231223/imgs/devena-init.png) + +[devena-lib](https://github.com/AOSC-Dev/devena-lib) is a core project of the Devena project, currently headed by [Xinhui Yang](https://github.com/Cyanoxygen). This project aims to define reusable routines for different devices, such as a first-boot wizard, kernel and firmware updaters, etc. devena-lib splits the first-boot wizard into several steps and makes use of Dracut's initial RAM disk framework to complete these operations as early as possible. These routines will be needed by most Devena's target devices: + +- Re-partitioning (GPT). +- Resizing root partitions and filesystems. +- Randomizing file system and partition UUIDs. +- Generating optimised system configurations for specific devices. + +Devena will also introduce a Kconfig-based image generator, making it possible for users to generate images for their own images. + +### Autobuild4 Development Commences + +As we work towards automated maintenance for AOSC OS, community developer [Zixing Liu](https://github.com/liushuyu) has published early code for [Autobuild4](https://github.com/AOSC-Dev/autobuild4), our next-generation packaging toolkit. Compared to [Autobuild3](https://github.com/AOSC-Dev/autobuild3), which has been in use for close than a decade at this point, Autobuild4 focuses on improving reliability, ease-of-use, and performance optimisation. Autobuild4 will also incorporate [ACBS](https://github.com/AOSC-Dev/acbs)'s functionalities. + +Over the longer term, Autobuild4 will also incorporate features such as automatic dependency generation and compatibility for Debian-like dependencies, improving quality of maintenance and application compatibility. + +For details on Autobuild4's feature plans, please refer to our [contributor minutes](https://wiki.aosc.io/developer/minutes/20231216/) on December 16th. + +### LibLoL: Compatibility Runtime for LoongArch's Old-World ABI + +Taking a look at the [*This Week in Loong*](https://areweloongyet.com/newsletter) newsletters from Loongson Community's [*Are We Loong Yet?*](https://areweloongyet.com/), LoongArch's software ecosystem is advancing and expanding at a rapid pace. With the effort of both upstream projects and system integrators such as our community, users of open-source LoongArch system ports are seeing improvements in user experience over time. However, with the split ecosystem between the ["New World" and "Old World"](https://areweloongyet.com/docs/old-and-new-worlds), many proprietary software such as Kingsoft's WPS Office, Tencent's QQ, and Loongson's printer driver engine (LSVP) designed for the old-world ABI are not available to users of open source, upstream-targetting, and standardised new-world software ecosystem. + +To be sure, we support the new-world ecosystem both in principle and action, as we like to see a more open and standardised LoongArch ecosystem. However, as system vendor, we should do what we can to help our users out this unfortunate, two-world reality. This week, community developer [Miao Wang](https://github.com/shankerwangmiao) came up with a solution - libLoL (LoongArch on LoongArch). LibLoL is a compatibility runtime for old-world applications with two key components: + +- In the kernel - the [la_ow_syscall](https://github.com/shankerwangmiao/la_ow_syscall) kernel module provides support for old-world system calls, making it possible to run old-world applications on new-world kernels. +- In the userspace - leveraging the old-world distribution [Loongnix](https://www.loongson.cn/system/loongnix)'s core runtime libraries to run old-world applications seamlessly on new-world systems. + +At present, LibLoL has completed [an initial runtime design](https://github.com/AOSC-Dev/aosc-os-abbs/pull/4949). With the completion of a kernel module wizard, libLoL will be provided as an optional component for AOSC OS users. We also welcome maintainers of other new-world distributions to reference our work and integrate libLoL in their system builds as deemed necessary. + +Once again, the goal of developing libLoL is to improve application compatibility and to make our users' lives easier. **We resolutely oppose the old-world software ecosystem for its closeness and lack of sustainability. We urge Loongson to uphold its promises from late November and stay true to its upstream-first policy.** + +### Coming Up: KDE 6 Testing and Survey + +![Arch Linux has rolled out KDE 6 updates in its KDE-Unstable repository.](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231223/imgs/arch-linux-kde-unstable.png) + +For many years, AOSC OS's desktop experience has been built upon the KDE desktop environment. KDE's sustained development is key to AOSC OS's core user experience as a desktop distribution. + +As KDE 6 will be released in spring 2024 and that Arch Linux has rolled out the [KDE-Unstable](https://archlinux.org/packages/?repo=KDE-Unstable) repository for early testing, we plan to hold a meeting on December 24th at 2 P.M., UTC+8 time. At the meeting, we will survey Arch Linux's KDE 6 packaging, configuration, and user experience to help plan out our own KDE 6 updates. The meeting will be held as a video livestream. + +Come to our [Discord server](https://discord.gg/VYPHgt9) to participate. + +### QVQNetwork Now Mirroring Our Community Repository! + +![QVQNetwork Open Source Mirror Now Live!](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231223/imgs/new-mirror-qvqnetwork.png) + +[QVQNetwork Open Source Mirror](https://mirrors.qvq.net.cn/), an 1Gbps bandwidth mirror located in Chongqing, China, has recently started to mirror our community repository. This repository will help serve our users located in mainland China. + +We would like to extend our utmost gratitude for our friends at QVQNetwork. Thank you! + +### Updates from the Frontier: Mainlining LoongArch + +Earlier, we have initiated the effort to merge the LoongArch port AOSC OS from the `frontier` branch to our `stable` branch. In the next few months, we will continue to [review, test, and merge]https://github.com/AOSC-Dev/aosc-os-abbs/pull/4701) the changes between the two branches. The completion of this task marks the LoongArch port as stable. + +You may download the experimental LoongArch system release from the [community portal](https://aosc.io/zh-cn/downloads). We look forward to hearing your feedback and welcome your contribution to making our LoongArch port better! + +### At a Glance: AOSC OS Updates + +#### System Components + +A good number of updates made it into AOSC OS in the past two weeks, here are a few items of note: + +- [oma](https://github.com/AOSC-Dev/oma) package management frontend has been updated to to 1.2.4, fixing some runtime errors and improving dpkg status handling logic. +- [AOSC OS system installer](https://github.com/AOSC-Dev/aoscdk-rs) has been updated to to 0.11. +- Mozilla Suite Survey (November 2023) (`mozilla-survey-20231122`): updating Firefox (`firefox`) to 120.0.1, Thunderbird (`thunderbird`) to 115.5.2, enabling hardware video acceleration and OpenH264 codec support for all ports, enabling the use of WebRTC-based audio/video conferencing. +- Visual Studio Code (`vscode`) and VSCodium (`vscodium`) has been updated to to 1.85.0. +- Discord (`discord`) has been updated to to 0.0.39. +- Gitoxide(`gitoxide`), a high-performance Git client, has been updated to 0.32.0. +- OpenVPN (`openvpn`) has been updated to 2.5.3. +- open-rs universal file opener (`open-rs`) has been updated to 5.0.1. +- PipeWire (`pipewire`), an audio/video device and stream manager, has been updated to 1.0.0. +- yt-dlp (`yt-dlp`), a media stream downloader, has been updated to 2023.11.16, fixing support for various video streaming platforms. +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) semi-automated packaging toolkit has been updated to 1.8.3 (see the "Development Tools" section below). +- [ACBS](https://github.com/AOSC-Dev/acbs) package build script, source, and build manager has been updated to 20231217.4 (see the "Development Tools" section below). +- Hardware device information database (`hwdata`) has been updated to 0.377, introducing many new information on hardware components and parameters. +- Fixed an issue where an OpenVDB runtime update rendered applications like Blender unusable. +- Improved Rust application building on the MIPS Loongson port (`loongson3`), fixing many build failures. +- Fixed an issue where Shadowsocks (`shadowsocks-libev`) could not make use of the `IP_TRANSPARENT` feature as normal users. +- Merged LoongArch-specific porting changes, mainlining is now imminent. + +**New Packages** + +We introduced a few packages into the AOSC OS repository in the past two weeks: + +- Command-line image-to-ASCII art converter (`aarty`). +- High-performance memory allocator runtime (`mimalloc`). +- The Mold linker (`mold`). +- Yazi, a command-line file manager (`yazi`). +- Command-line directory switching helper (`zoxide`). + +**Contributors** + +Thank you to our colleagues who helped maintain AOSC OS (in alphabetical order): + +- [salieri](https://github.com/BC204) +- [Henry Chen](https://github.com/chenx97) +- [Tianhao Chai](https://github.com/cthbleachbit) +- [Xiaoyuan Fu](https://github.com/eatradish) +- [Felix Yan](https://github.com/felixonmars) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [Jiajie Chen (jiegec)](https://github.com/jiegec) +- [Zixing Liu](https://github.com/liushuyu) +- [Mingcong Bai](https://github.com/MingcongBai) +- [canarypwn](https://github.com/Nyovelt) +- [OriginCode](https://github.com/OriginCode) +- [Jiangjin Wang](https://github.com/RedL0tus) +- [Suyun](https://github.com/Suyun114) + +#### Development Tools + +- [ACBS](https://github.com/AOSC-Dev/acbs) package build script, source, and build manager version 20231217.4 was released. [Zixing Liu](https://github.com/liushuyu) and [Mingcong Bai](https://github.com/MingcongBai) re-designed the build summary interface, making it easier for automation frameworks to recognise and report build status. +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) semi-automated packaging toolkit version 1.8.3 was released. [Zixing Liu](https://github.com/liushuyu) worked around an issue where link-time optimisation (LTO) would fail on LoongArch due to a toolchain bug, as well as introducing a routine to get rid of extraneous spaces in compiler and linker flags; [Mingcong Bai](https://github.com/MingcongBai) improved error output for missing ld.lld in the Rust build template, making it easier to understand by pointing out potential solutions; [OriginCode](https://github.com/OriginCode) fixed a warning about deprecated Meson invocation in the Meson build template. +- [Jiajie Chen (jiegec)](https://github.com/jiegec) and [Xiaoyuan Fu](https://github.com/eatradish) completed basic implementation of the [BuildIt!](https://github.com/AOSC-Dev/buildit) automation framework for AOSC OS maintenance (see the "Revolutionising Productivity: AOSC OS Maintenance Automation is Now Live!" above). +- [Zixing Liu](https://github.com/liushuyu) announced [Autobuild4](https://github.com/AOSC-Dev/autobuild4)'s early implementation (see the "Autobuild4 Development Commences" section above). +- [Xiaoyuan Fu](https://github.com/eatradish) implemented a GitHub authentication infrastructure named [minzhengbu](https://github.com/AOSC-Dev/minzhengbu). Maintainers using Telegram may now use this tool to connect their accounts, making it possible to open pull requests automatically with BuildIt!. + +#### Peripheral Projects + +- Basic Bash configuration ([bash-config](https://github.com/AOSC-Dev/bash-config)) version 0.6.5 was released. [Mingcong Bai](https://github.com/MingcongBai) fixed an issue where executable search path (`$PATH`) would be replaced erroneously under WSL environments, as well as enabling end-of-line whitespace highlighting in `git diff`. +- [RepoKit](https://github.com/AOSC-Dev/repokit) repository manager suite registers [QVQNetwork open source mirror](https://mirrors.qvq.net.cn/), the system installer and other applications may now make use of this information to download files and information from this mirror. +- [Xinhui Yang](https://github.com/Cyanoxygen) released [devena-lib](https://github.com/AOSC-Dev/devena-libs) (see the "Devena: AOSC OS's Non-Standard Device Support Project" section above). + +### In the Oven + +To help test our system updates, we created various "topic" repositories to deliver them to our users and maintainers. The following topic repositories were created earlier this week: + +- **Shell Survey (December 2023) (`app-shells-survey-20231210`):** Updates many command-line shells (such as Bash and Fish), introducing many new features. +- **Wine Vulkan Gaming Survey (December 2023) (`wine-vulkan-survey-202312`):** Updates Wine (Windows applications emulator) and Vulkan graphical stack components, improving Windows gaming experience (especially for 32-bit DirectX titles). +- **WSL (Windows Subsystem for Linux) Survey (December 2023) (`wsl-survey-20231213`):** Introduces improvements to the out-of-the-box experience for WSL installations, enabling systemd support, and adding tools for managing daemons and memory caching. +- **Linux Kernel 6.6 (`linux-kernel-6.6`):** Updates Linux Kernel to the 6.6 branch, enabling new hardware support (enabling ACPI support on RISC-V, introducing LoongArch configuration, etc.) and improving performance (disabling scheduler debugging `CONFIG_DEBUG_PREEMPT` on x86_64, which was enabled by mistake, improving application launch times). +- **Fix-ups for MIPS-based Loongson Systems (`loongson3-fixup-2`):** Introducing the `update-grub` command to GRUB for MIPS-based Loongson systems (`grub-loongson3`), selecting `loongson` as the default Kernel graphical driver, disabling tcmalloc support for LevelDB to fix RIME input method crashes, etc. +- **Cross Toolchain for LoongArch64 (`loongarch64-cross-new`):** Introducing a LoongArch cross toolchain. + +Changes from these topics will also make it to our work-in-progress LoongArch port, helping adopting LoongArch as an officially supported architecture. + +You may enable and test out the aforementioned updates with the following command: + +``` +sudo oma topics +``` + +Should you run into issues while using the topic repositories, please don't hesitate to get in touch for assistance. + +Community Updates +----------------- + +### The Inagural Issue for *SIGILL* to be Published Next Week + +Last week, our community submitted a report titled *Community Report: Observations and Suggestions for Improving Community-Loongson Collaboration* to Loongson's leadership. The report, penned by [Mingcong Bai](https://github.com/MingcongBai), contains a review of issues and concerns observed during the past few months, as our community participated in community efforts to improve LoongArch's software ecosystem. With many points of constructive criticism, the report aims to help improve collaboration between Loongson and the hobbyist community. With this, we believe that we have sufficiently proven our good will and it is now appropriate to publish our inaugural *SIGILL* issue on LoongArch devices. + +!["Kilobyte Dance": Display corruption caused by incorrect write-combine implementation in the AMDGPU kernel module.](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231223/imgs/kilobytedance.jpg) + +This inaugural issue was penned by [千须末 (OriginCode)](https://github.com/OriginCode), entitled "Loongson 3A5000 User Experience Report." In this issue, he reviews his many endeavours with a Loongson 3A5000 desktop computer he won in an AOSCC 2023 raffle. + +### AOSC OS 2023H2 Default Wallpaper Poll + +![16 AOSC OS wallpaper finalists.](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231223/imgs/wallpaper-poll.jpg) + +After a first-round poll among community contributors, we have selected 16 finalists for AOSC OS's next default wallpaper. Over the next week, the community will select the next default wallpaper and lockscreen background with an open poll, come cast your vote (you may select as many wallpapers as you wish)! + +The 16 finalists are as follows: + +- Geometric Dusk (author: Ariel AxionL) +- Brisk (author: Mingcong Bai) +- Pathway of Reflections (author: lz233) +- Yulong (author: 新一) +- The Desert (author: 椰椰雪球) +- Skylight (author: 椰椰雪球) +- Mountain Range II (author: Mogician Yang) +- Patches II (author: Mogician Yang) +- Fly Low (author: Mogician Yang) +- Mount Fuji I (author: Yu Changyuan) +- Mount Fuji III (author: Yu Changyuan) +- Pamukkale (author: Yu Changyaun) +- Qilian Mountain (author: Yu Changyuan) +- Rapeseed Field I (author: Yu Changyuan) +- Rapeseed Field III (author: Yu Changyuan) +- Morrow Ray Upon Meili (author: YzyParry) + +The poll will close at midnight on December 31, 2023, UTC+8 time. + +Link to the poll: https://forms.gle/EAEjwTEEgDDzw4GG6 + +### The 2024 AOSC "Roaming Camera" Project Wants Your Opinions + +In 2024, we plan to emulate Bilibili user [LKs](https://space.bilibili.com/125526/)'s "Drifting Camera" project and launch our own "Roaming Camera" project. In this project, one of the community member will loan out a camera-lens combo for 6 or 12 months. The camera will be shipped from one participant to the next, each selecting and submitting their best work. The resulting collection will become the default wallpapers for 2024H1 or 2024H2. As this first "Roaming Camera" is a trial run, we plan to only allow previous contributors and other trusted individuals (such as those recommended by said contributors) as participants. + +To help planning this project, we have opened a survey for your opinions on the duration, geographic range, equipments, and other aspects essential to the project's success. We plan to officialy launch 2024's "Roaming Camera" project by March of 2024. + +Link to the survey: https://forms.gle/zA74WjimoXrmJURh7 + +### Sticker Pack for An-an and Tong-tong + +![An-an and Tong-tong, our community mascots.](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231223/imgs/mascots.png) + +We plan to commission an illustrator to create a sticker pack for our community mascots, An-An and Tong-Tong. The sticker pack will be used as chat stickers, website decorations, as well as components in our outreaching materials. When we talked to a few people who have previously commissioned such projects, a few noted that our current design documentation may not be sufficient for a sticker pack; collecting a list of designs will help the illustrator with creating said sticker pack. + +For this purpose, we started a survey to collect themes, composition, contexts, and memes for the stickers. Please describe your ideas in as much details as possible. The survey will close at midnight on December 31, 2023, UTC+8 time. + +We will work to implement this project early next year and we expect to launch crowdsource campaigns to reimburse the commission and other expenses. + +Link to the survey: https://forms.gle/t4rcLj6omCE4cufy5 + +Come Chat! +-------- + +Most of our work are conducted over the Internet, come chat and work with us! Please note that most members of the following chat groups are Chinese speakers, but please feel free to ask for assistance and translation. + +### Telegram + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231209/imgs/telegram.png) + +### Discord + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231209/imgs/discord.png) + +### WeChat + +Please scan this QR code and note that you would like to join our community chat group. + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231209/imgs/wechat.png) + +### QQ + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231209/imgs/qq.jpg) + +Community Outreach +------------------ + +Ever since we caught ourselves in a conflict at Baidu Tieba's Linux community, we have effectively halted all outreaching and promotional campaigns. Now that our projects and community are both maturing, we have decided to re-double our outreach and promotional efforts to expand our networks for friends and collaborators. + +The semimonthly issue you are reading right now is part of the aforementioned effort. So far, we have planned the following columns: + +- Coffee Break: Semimonthly Newsletters +- SIGILL: Rare and Unusual Hardware +- Retro: Retro Software and Hardware +- Live: In-Person Events + +"Coffee Break" issues are published every second and fourth Fridays at 12 P.M. UTC+8 time. Other columns are published irregularly per content and editing schedules. The English version of the aforementioned materials are published on the following platforms: + +- Our community portal +- Twitter/X: @aosc_dev + +We are also seeking coverage from Linux-related media to help spread the word. diff --git a/content/news/2023-12-23-coffee-break.zh-cn.md b/content/news/2023-12-23-coffee-break.zh-cn.md new file mode 100644 index 00000000..4c18e346 --- /dev/null +++ b/content/news/2023-12-23-coffee-break.zh-cn.md @@ -0,0 +1,303 @@ +--- +categories: + - journals +title: "安记冰室・十二月下" +date: 2023-12-23T12:00:00+08:00 +important: false + +--- + +> “你饮咩茶啊?” + +欢迎阅读安同开源社区 (AOSC) 双周报——《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +专栏:新年寄语 +-------------- + +各位读者朋友们: + +您现在阅读的是我社在本年度发布的最后一期双周报《安记冰室》。我很欣慰:本刊从八月开始记录我社开发和组织工作的点点滴滴,不仅成功重启了我社的外宣工作,更让社区各位同事的辛勤工作得到了充分展示。如您所见,十二月下号很可能是我们工作成果最多的一期——自动化设施的正式投产、非标准设备支持的新进展、新构建工具的开工大吉无疑为 2023 年画下了圆满的句号。我相信,2024 年的安同开源社区也将继续前进,认真、专业、热情地实现我们的技术和文化愿景,提出新想法、实践新思路、造就新成绩,并以此全心全意服务社区内外的用户、好友和同仁们。 + +在新年之际,我在此感谢今年以来为社区各位同事在开发和组织工作的不懈努力,也预祝各位同事和读者朋友们新年快乐,万事顺意,身体健康! + +白铭骢,于《安记冰室》十二月下号截稿前 + +AOSC OS 快讯 +------------ + +在过去几周中,社区开发者们除继续对 [AOSC OS](https://aosc.io/zh-cn/downloads/) 进行日常维护外,还为系统引入了许多更新、修复,推进了系统周边组件的开发,希望这些工作能为您的工作与娱乐生活带来便利。 + +### 解放生产力:AOSC OS 自动化设施正式投产! + +近两周,社区开发者 [陈嘉杰 (jiegec)](https://github.com/jiegec) 发起了 [BuildIt!](https://github.com/AOSC-Dev/buildit) 项目,与 [傅孝元](https://github.com/eatradish) 一同协作,以最小最简的原则进行设计和实现工作,至截稿时已正式实现、发布和部署了我社发行版 AOSC OS 的自动维护设施,**结束了社区长达十余年的人工维护历史。** + +从本质上说,BuildIt! 是一个构建任务分发管理器,其主要功能有: + +- 机器人界面,维护者可以通过 Telegram 聊天软件给管理器提交任务和发出其他指令 +- 将维护者提交的构建任务分发到社区的各构建服务器 +- 在目标服务器启动 Ciel,使用标准流程编译和上传软件包 +- 将编译成功的软件包上传至相应软件源中 +- 收集、汇总编译日志和状态,通过机器人交互界面反馈给维护者 +- 根据维护者提供的信息向 [ABBS 软件包构建配置树](https://github.com/AOSC-Dev/aosc-os-abbs) 提交合并请求、自动生成更改概览、标记更改类型 +- 根据构建情况自动更新上述合并请求 + +作为一个支持多种架构和设备的、维护着数千个系统组件(软件包)且由志愿者业余参与维护的 Linux 发行版,这一自动化设施的实现和投产将无疑起到“解放生产力”的作用:维护者们不再需要逐一登录各构建服务器、手动输入构建和上传等指令和坐在电脑前等待构建任务完成;在编码和测试工作完成后,亦无需编写格式繁琐的合并请求正文,更不用自动勾选和记录构建测试情况。在本周三自动化设施投产后,我社的维护积极性已有可见改善——将啰嗦的流程和千篇一律的重复劳动排除后,相信我社维护者将有更多精力和意愿推进 AOSC OS 的细节调优、结构标准化和质量管控工作。 + +自动化设施只是一个起点,一个前提,相信从这周开始,AOSC OS 的持续维护和发展将进入效率更高、质量更高、开发者和用户体验共进的新轨道。BuildIt! 的实现和投产无疑是迎接 2024 年之际令社区贡献者们欢欣鼓舞的一大里程碑事件。 + +### Devena 计划:AOSC OS 非标准设备镜像支持库 + +AOSC OS 关爱您的开发板和各类非标准设备! + +Devena(全称 Device Enablement)最初由 [Icenowy Zheng](https://github.com/Icenowy) 提出,旨在为 AOSC OS 提供各种 ARM 设备提供开箱支持,通过引入设备专属支持组件,大幅度简化在如树莓派、Apple Silicon 乃至 Surface 等设备上安装 AOSC OS 的流程、优化使用体验。 + +![Devena 初次启动向导](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231223/imgs/devena-init.png) + +其中,[devena-lib](https://github.com/AOSC-Dev/devena-lib) 为 Devena 计划的核心项目,目前由 [杨欣辉](https://github.com/Cyanoxygen) 主管。该项目主旨是定义各类设备需要用到的、可以复用的过程,如:初次启动设置过程、日常内核更新及固件更新过程等。devena-lib 将初次启动过程分为若干个小步骤,利用 Dracut 初始化内存盘管理器的框架完成操作。这些初次启动设置的步骤是绝大多数需要使用特殊 AOSC OS 镜像的 Devena 目标设备所需要的,如: + +- 调整分区表 (GPT) +- 扩展根分区大小和文件系统 +- 生成随机的文件系统和分区表 UUID +- 生成和应用基于设备具体硬件条件优化的系统配置 + +Devena 日后还将开发一个基于 Kconfig 的镜像生成器,让用户可以随时生成给自己的开发板使用的镜像。 + +### 新世代 AOSC OS 构建工具 Autobuild4 开发启动 + +在社区发行版维护转向自动化之际,社区开发者 [刘子兴](https://github.com/liushuyu) 发布了我社新一代的软件包构建工具 [Autobuild4](https://github.com/AOSC-Dev/autobuild4)。Autobuild4 相对目前已投产使用近十载的 [Autobuild3](https://github.com/AOSC-Dev/autobuild3) 更注重可靠性、使用简化和性能优化。此外,Autobuild4 将集成现有 [ACBS](https://github.com/AOSC-Dev/acbs) 软件包配置与源码管理器的功能,可以直接管理现有的构建配置。 + +在初步开发完成后,Autobuild4 还将引入诸如自动依赖补全、泛 Debian 兼容性等特性,以其改善发行版维护质量和提升系统软件兼容性。 + +有关 Autobuild4 的实现愿景,请见我社于 12 月 16 日的 [讨论纪要](https://wiki.aosc.io/developer/minutes/20231216/)。 + +### 展望 LibLoL:龙架构旧世界应用程序兼容运行时 + +从龙芯开源社区[“咱龙了吗?”](https://areweloongyet.com/)网站的[《每周一龙》](https://areweloongyet.com/newsletter) 栏目上的捷报频频中不难看出,当下龙架构 (LoongArch) 软件生态建设如火如荼、成绩斐然——在上游项目和如我社等系统集成项目的协作努力下,龙芯用户们使用有如 AOSC OS 等开源操作系统的体验日益改善。但是,[“新世界”和“旧世界”](https://areweloongyet.com/docs/old-and-new-worlds) 两个软件生态的割裂格局尚未成为历史,许多商业软件,如金山 WPS Office、腾讯 QQ 和龙芯打印机驱动引擎 LSVP 等商业软件至今面向封闭和非标准的旧世界生态发布,而使用面向开源、上游集成和标准化的新世界生态的用户们则无奈与这些软件有如“阴阳两隔”,无福消受。 + +尽管我社在原则和行动上上坚定支持新世界生态,期待着龙芯软件生态的日益开放化和标准化,我们认为作为操作系统发行方必须牢记服务用户需求的宗旨,因此,我们不应该对生态割裂这一不幸而无奈的现状坐视不管。对此,我社开发者 [王邈](https://github.com/shankerwangmiao) 交出了他的答卷:libLoL (LoongArch on LoongArch) 旧世界应用程序兼容运行时。这一项目由两大部分组成: + +- 内核部分:通过 [la_ow_syscall](https://github.com/shankerwangmiao/la_ow_syscall) 模块,给 Linux 内核新增旧世界系统调用支持,进而使得新世界内核得以兼容旧世界运行时和应用程序 +- 运行时部分:使用旧世界发行版 [Loongnix](https://www.loongson.cn/system/loongnix) 的核心运行时库,使得旧世界应用程序可以无缝在新世界系统上启动 + +LibLoL 目前 [已经完成运行时部分的设计](https://github.com/AOSC-Dev/aosc-os-abbs/pull/4949),在完成内核模块(亦可理解为驱动)的载入向导后,将作为可选特性提供给使用龙架构设备的 AOSC OS 用户使用,敬请期待!我们也欢迎其他新世界发行版维护者考察 LibLoL,视自身情况和需求集成这一项目的成果。 + +最后再次重申我社立场:开发这一旧世界兼容运行时的初衷是提升兼容性和方便用户。**我社坚决反对闭门造车和不可持续的旧世界软件生态建设,并强烈呼吁龙芯恪守十一月底有关支持上游开源生态建设的承诺,坚持和鼓励新世界软件生态建设。** + +### 会议预告:KDE 6 测试考察 + +![Arch Linux 的 KDE-Unstable 已开始推送 KDE 6 测试版相关组件](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231223/imgs/arch-linux-kde-unstable.png) + +多年来,AOSC OS 的桌面体验一直得益于 KDE 桌面环境的强力驱动,KDE 桌面的发展直接决定着 AOSC OS 的核心用户体验。 + +KDE 6 将于 2024 年春季发布,考虑到该桌面更新发布在即且 Arch Linux 已有专用 [KDE-Unstable](https://archlinux.org/packages/?repo=KDE-Unstable) 源可供测试,我们计划在 UTC+8 时间本周日(12 月 24 日)下午 2 时组织会议,对 Arch Linux 的 KDE 6 桌面打包方式、配置和使用体验进行考察,以便筹划 AOSC OS 相应的更新工作。届时,考察将以视频直播的方式进行。 + +欢迎各位来我社 [语音频道](https://discord.gg/VYPHgt9) 参与本次会议。 + +### QVQNetwork 新镜像上线! + +![QVQNetwork 新镜像上线!](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231223/imgs/new-mirror-qvqnetwork.png) + +近日,[QVQNetwork 开源镜像站](https://mirrors.qvq.net.cn/) 收录了我社软件源。该 1Gbps 带宽镜像位于重庆市,相信将为中国内地用户们提供高质高速的服务。 + +再次感谢 QVQNetwork 的鼎力相助! + +### 持续推进 AOSC OS“合龙” + +先前,我们启动了“合龙”工作——将目前位于前沿分支 (`frontier`) 中的移植工作合并到稳定分支 (`stable`) 中。在未来数个月中,我们将就两个分支中的源码及配置差异进行[审阅、测试及合并工作](https://github.com/AOSC-Dev/aosc-os-abbs/pull/4701),直到 LoongArch 架构构建配置等成为稳定系统的一部分。 + +目前,用于 LoongArch 的实验性系统发行已经可以从[社区主页下载](https://aosc.io/zh-cn/downloads),欢迎试用并提供反馈,亦欢迎有志之士加入“合龙”工作! + +### 更新速览 + +#### 系统组件 + +过去两周中我们为 AOSC OS 推送了许多更新,这里简要介绍其中几项: + +- [oma](https://github.com/AOSC-Dev/oma) 包管理前端更新至 1.2.4,修复一些运行时报错并改善 dpkg 修复软件包管理器状态的逻辑 +- [AOSC OS 系统安装器](https://github.com/AOSC-Dev/aoscdk-rs) 更新至 0.11. +- 十一月底 Mozilla 套件更新 (`mozilla-survey-20231122`):更新 Firefox 浏览器 (`firefox`) 至 120.0.1、Thunderbird 邮件客户端 (`thunderbird`) 至 115.5.2,为所有主线架构打开硬件视频编解码加速支持及 OpenH264 编解码器支持,允许在支持 WebRTC 特性的架构上使用视讯会议平台 +- Visual Studio Code (`vscode`) 及 VSCodium (`vscodium`) 集成开发环境更新至 1.85.0 +- Discord 聊天、语音及直播软件 (`discord`) 更新至 0.0.39 +- Gitoxide 高性能 Git 客户端 (`gitoxide`) 更新至 0.32.0 +- OpenVPN 代理服务器管理套件 (`openvpn`) 更新至 2.5.3 +- open-rs 万用文件打开器 (`open-rs`) 更新至 5.0.1 +- PipeWire 音视频设备及媒体流管理器 (`pipewire`) 更新至 1.0.0 +- yt-dlp 在线视频及流媒体下载器 (`yt-dlp`) 更新至 2023.11.16,修复数个流媒体网站的支持 +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) 半自动打包工具更新至 1.8.3(详见下文“开发工具”节) +- [ACBS](https://github.com/AOSC-Dev/acbs) 软件包构建脚本、源码及构建管理器更新至 20231217.4(详见下文“开发工具”节) +- 硬件设备信息库 (`hwdata`) 更新至 0.377,新增大量硬件组件名称、参数等信息 +- 修复 OpenVDB 数据结构运行时库更新导致 Blender 等应用程序无法正常启动的问题 +- 修复了大量 Rust 程序在基于 MIPS 的龙芯移植 (`loongson3`) 上无法构建的问题 +- 修复了 Shadowsocks (`shadowsocks-libev`) 无法使用一般用户权限启用 `IP_TRANSPARENT` 特性的问题 +- 合并了龙架构 (LoongArch) 专属的适配修改,AOSC OS 即将可以基于稳定源构建龙架构系统移植 + +**新增组件** + +其中,AOSC OS 软件仓库中新增如下软件包: + +- 命令行图像转 ASCII 艺术字工具 (`aarty`) +- 高性能内存分配器 (`mimalloc`) +- Mold 链接器 (`mold`) +- “鸭子”命令行文件管理器 (`yazi`) +- 命令行目录切换助手 (`zoxide`) + +**本期包工** + +感谢这两周参与 AOSC OS 维护工作的各位同事(按 GitHub 用户名字母顺序): + +- [salieri](https://github.com/BC204) +- [Henry Chen](https://github.com/chenx97) +- [柴天浩](https://github.com/cthbleachbit) +- [傅孝元](https://github.com/eatradish) +- [Felix Yan](https://github.com/felixonmars) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [canarypwn](https://github.com/Nyovelt) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [王江津](https://github.com/RedL0tus) +- [Suyun](https://github.com/Suyun114) + +#### 开发工具 + +- [ACBS](https://github.com/AOSC-Dev/acbs) 软件包构建脚本、源码及构建管理器发布 20231217.4 版:[刘子兴](https://github.com/liushuyu) 和 [白铭骢](https://github.com/MingcongBai) 重新设计了 ACBS 构建概要界面,方便自动化设施识别和反馈构建情况 +- [Autobuild3](https://github.com/AOSC-Dev/autobuild3) 半自动打包工具发布 1.8.3 版:[刘子兴](https://github.com/liushuyu) 修复了龙架构上由于工具链中已知问题导致某些软件包链接时优化(Link-Time Optimisation,简称 LTO)过程中报错的问题,并引入了一套用于清理编译器和链接器参数中多余空格的逻辑;[白铭骢](https://github.com/MingcongBai) 修缮了 Rust 构建模板中 ld.lld 缺失时的报错信息,使其更易懂并为用户提出解决方案;[千须末 (OriginCode)](https://github.com/OriginCode) 修复了 Meson 构建模板在搭配新版 Meson 使用时关于调用方式不正确的警告 +- [陈嘉杰 (jiegec)](https://github.com/jiegec) 和 [傅孝元](https://github.com/eatradish) 完成了 [BuildIt!](https://github.com/AOSC-Dev/buildit) AOSC OS 自动化维护设施的基础实现(详见上文“解放生产力:AOSC OS 自动化设施正式投产!”专栏) +- [刘子兴](https://github.com/liushuyu) 公布了 [Autobuild4](https://github.com/AOSC-Dev/autobuild4) 次世代软件包维护套件的初始实现(详见上文“新世代 AOSC OS 构建工具 Autobuild4 开发启动”专栏) +- [傅孝元](https://github.com/eatradish) 实现了一款名为 [minzhengbu](https://github.com/AOSC-Dev/minzhengbu) 的 GitHub 登录信息同步设施,使用 Telegram 的维护者可通过该工具绑定 GitHub 帐号,以便配合 BuildIt! 使用(如提交合并请求等操作) + +#### 周边项目 + +- Bash 基础配置 ([bash-config](https://github.com/AOSC-Dev/bash-config)) 发布 0.6.5 版:[白铭骢](https://github.com/MingcongBai) 修复了 WSL 环境下可执行文件搜索目录 (`$PATH`) 被覆盖的问题,并为 `git diff` 命令默认开启了行末空白高亮 +- [RepoKit](https://github.com/AOSC-Dev/repokit) 软件源管理套件新增 [QVQNetwork 开源镜像站](https://mirrors.qvq.net.cn/) 相关信息,安装程序等应用程序的用户现可使用该镜像下载相关数据 +- [杨欣辉](https://github.com/Cyanoxygen) 发布了 [Devena 非标准设备镜像支持库](https://github.com/AOSC-Dev/devena-libs)(详见上文“Devena 计划:AOSC OS 非标准设备镜像支持库”专栏) + +### 尝鲜预报 + +为更好地测试我们的系统更新,我们为不同类别的更新创建相应测试源,供用户与贡献者测试。其中,如下几个测试源包含重要更新: + +- **十二月命令提示符套件更新 (`app-shells-survey-20231210`):** 更新各命令提示符(如 Bash 和 Fish)并引入相应新特性 +- **十二月 Wine 及 Vulkan 图形库套件更新 (`wine-vulkan-survey-202312`):** 更新 Wine(Windows 应用程序模拟器)及 Vulkan 图形库组件,改善 Windows 游戏(尤其是 32 位的 DirectX 游戏)体验 +- **十二月 WSL (Windows Subsystem for Linux) 套件更新 (`wsl-survey-20231213`):** 改善“适用于 Linux 的 Windows 子系统”开箱使用体验,如默认打开 systemd 支持等,并引入管理后台服务和内存缓存相关的工具 +- **Linux 内核 6.6 (`linux-kernel-6.6`):** 将 Linux 内核更新至 6.6 分支,新增硬件支持(如在 RISC-V 上打开 ACPI 支持,新增龙架构配置等),引入性能优化等(如在 x86_64 架构内核上关闭先前因为疏忽打开的调度器调试支持 `CONFIG_DEBUG_PREEMPT`,加速应用启动) +- **龙架构交叉编译器 (`loongarch64-cross-new`):** 引入龙架构 (LoongArch) 交叉编译器组件 +- **MIPS 龙芯修缮 (`loongson3-fixup-2`):** 为龙芯专版 GRUB (`grub-loongson3`) 新增 `update-grub` 命令,默认为板载显卡选用 `loongson` 驱动,关闭 LevelDB 的 tcmalloc 支持以修复中州韵 (RIME) 输入法崩溃的问题等 + +这些测试源也将同步至我们的龙架构 (LoongArch) 前沿分支 (`frontier`),并为正式引入龙架构支持做准备。 + +输入如下命令方可随时加入或退出测试源: + +``` +sudo oma topics +``` + +如果您在使用如上测试源的过程中遇到问题,请随时联系我们,我们将尽力协助您修复问题。 + +社区快讯 +-------- + +### 《聊斋》创刊号将于下周发布 + +上周,我们以社区名义将由 [白铭骢](https://github.com/MingcongBai) 主编的《社区报告:关于改善龙芯中科与社区协作的几点观察和意见》提交给了龙芯中科相关的领导,将我社在过去数个月观察和参与龙芯社区软件生态维护的过程中发现的一些问题和 +疑问整理起来,以建设性为原则提出意见,希望能够进一步推动社区与龙芯中科的积极协作。至此,我们认为已充分证明我社的善意,发布这期围绕龙架构设备编写的《聊斋》创刊号的时机已经成熟。 + +![“千字节跳动”:在龙架构上由于 AMDGPU 内核驱动未正确实现写入合并 (write-combine) 导致的显示问题](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231223/imgs/kilobytedance.jpg) + +《聊斋》创刊号由 [千须末 (OriginCode)](https://github.com/OriginCode) 主编,命题“龙芯 3A5000 体验报告”。他将在本文中回顾从 AOSCC 2023 抽奖赢得一台龙芯 3A5000 台式机后的经历的“命运羁绊”和“干沟万壑”。(笑) + +### AOSC OS 廿三年末默认壁纸投票 + +![晋级决赛的 16 张 AOSC OS 壁纸](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231223/imgs/wallpaper-poll.jpg) + +经过贡献者初选,我们选出了得票最多的 16 张壁纸晋级社区投票。在未来一周余,我们将通过社区投票选出 2023 年底的默认 AOSC OS 壁纸和锁屏背景,欢迎您的参与!投票不设多选限制(您可以随意选择 1 - 16 张壁纸)。 + +本次晋级的壁纸有: + +- 斜阳几何 / Geometric Dusk(作者:Ariel AxionL) +- 爽秋 / Brisk(作者:白铭骢) +- 倒影之路 / Pathway of Reflections(作者:lz233) +- 玉龙雪山 / Yulong(作者:新一) +- 沙漠远眺 / The Desert(作者:椰椰雪球) +- 乌云过后 / Skylight(作者:椰椰雪球) +- 地之脊 II / Mountain Range II(作者:Mogician Yang) +- 拼图 II / Patches II(作者:Mogician Yang) +- 向天 / Fly Low(作者:Mogician Yang) +- 富士山 I / Mount Fuji I(作者:Yu Changyuan) +- 富士山 III / Mount Fuji III(作者:Yu Changyuan) +- 棉花堡 / Pamukkale(作者:Yu Changyaun) +- 祁连山 / Qilian Mountain(作者:Yu Changyuan) +- 油菜花田 I / Rapeseed Field I(作者:Yu Changyuan) +- 油菜花田 III / Rapeseed Field III(作者:Yu Changyuan) +- 梅里雪山日出 / Morrow Ray Upon Meili(作者:YzyParry) + +本投票将于 UTC+8 时间 2023 年 12 月 31 日午夜截止。 + +投票链接:https://forms.gle/EAEjwTEEgDDzw4GG6 + +### AOSC 廿四年“流浪相机”计划初步意向问卷 + +社区计划在 2024 年仿照 B 站 Up 主 [LKs](https://space.bilibili.com/125526/) 的“漂流相机”搞一个“流浪相机”计划,预先约定一套摄影器材(相机和镜头),将一台由社区好友借用的相机寄出,在半年到一年间在参与者间接龙,并将自己选出的最优作品投稿,作为作为廿四年中或年底的默认壁纸集。第一轮“流浪相机”属于实验性运作,我们计划限定现有贡献者和经过某种流程确认可信任的社区好友(比如贡献者认识的人)参与。 + +本问卷用于收集关于活动时长、地理范围、器材和各类意见等初步意向。本计划预计在 2024 年三月前启动。 + +问卷链接:https://forms.gle/zA74WjimoXrmJURh7 + +### 安安/同同表情包内容征集问卷 + +![社区吉祥物:安安和同同](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231223/imgs/mascots.png) + +社区计划寻找画师,根据我社吉祥物“安安”和“同同”创作各类表情,制作表情包:表情包中的各类表情除在社区聊天群组内使用之外,还可用于社区网站、外宣和活动等用途。和其他甲方沟通时,对方反馈官网提供的立绘及设定可能不够全面,且表情包具体内容也需要提前确定,以便画师进行设计。 + +本问卷用于收集表情包内容相关的点子,包括但不限于:表情主题、吉祥物的姿势、配字和具体的梗等;请尽可能详细地描述你的点子。本问卷将于 UTC+8 时间 12 月 31 日午夜截止。 + +我们计划在年初落实此事,届时可能需要发起募捐用于报销画师等相关款项,后续会再有通知。 + +问卷链接:https://forms.gle/t4rcLj6omCE4cufy5 + +一起吹水 +-------- + +互联网是我社的主要活动场所,欢迎来社区各群聊及语音频道交流玩耍: + +### 微信群 + +请扫描此二维码添加好友并说明来意:申请加入 AOSC 社区频道。 + +![wechat](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231223/imgs/wechat.png) + +### QQ 群 + +![qq](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231223/imgs/qq.jpg) + +### Telegram 群组 + +![telegram](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231223/imgs/telegram.png) + +### Discord 语音频道 + +![discord](https://raw.githubusercontent.com/AOSC-Dev/newsroom/master/coffee-break/20231223/imgs/discord.png) + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周五午间 12 时发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2023-12-31-kmod-update-renders-the-system-unbootable.md b/content/news/2023-12-31-kmod-update-renders-the-system-unbootable.md new file mode 100644 index 00000000..2ae17895 --- /dev/null +++ b/content/news/2023-12-31-kmod-update-renders-the-system-unbootable.md @@ -0,0 +1,52 @@ +--- +categories: + - advisories +title: "[SOLVED] Recent kmod 31 Update May Prevent System from Booting" +date: 2023-12-31T02:26:59+08:00 +important: true + +--- + +We have since issued kernel updates to address this issue. You may now update +your system as usual. If you have held `kmod`'s package version, please use +the following command to unhold: + +``` +sudo oma mark unhold kmod +``` + +Thank you for your patience and our apologies for any inconvenience caused. + +--- + +The `modprobe` utility in recently updated kmod 31 uses a potentially broken +module loading code path in the kernel, and may prevent xz-compressed modules +from loading. As AOSC OS currently ships all kernel modules xz-compressed, +modules will fail to load during early boot in initrd stage and in most cases +prevent the system from booting: + +``` +decompression failed with status 6 +systemd[1]: Failed to start systemd-module-load.service. +dracut: FATAL: iscsiroot requested but kernel/initrd does not support iscsi +``` + +If you have updated your system, please downgrade `kmod` to `30-1` immediately: + +``` +sudo oma install kmod:30-1 +``` + +If you have not yet updated your system, please refrain from updating or hold +your `kmod` version to `30-1`: + +``` +sudo oma mark hold kmod +``` + +We will identify the root cause of this problem and issue an update as soon as +possible. + +--- + +— Cyan diff --git a/content/news/2023-12-31-kmod-update-renders-the-system-unbootable.zh-cn.md b/content/news/2023-12-31-kmod-update-renders-the-system-unbootable.zh-cn.md new file mode 100644 index 00000000..7e345bac --- /dev/null +++ b/content/news/2023-12-31-kmod-update-renders-the-system-unbootable.zh-cn.md @@ -0,0 +1,46 @@ +--- +categories: + - advisories +title: "[已解决] 近期 kmod 31 更新可能导致系统无法启动" +date: 2023-12-31T02:26:59+08:00 +important: true + +--- + +我们已推送内核更新,修复先前 `kmod` 更新导致的启动故障,现在您可以放心更新系统了。如果您先前锁定了 `kmod` 版本,请使用如下命令解锁: + +``` +sudo oma mark unhold kmod +``` + +感谢您的耐心,我们为先前造成的不便表示歉意。 + +--- + +我们发现软件包 `kmod` 近期版本为 `31` 的更新中,其内置命令 `modprobe` 无法正常加载 xz 压缩的内核模块。由于 AOSC OS 内核模块均使用 xz 压缩,该问题会导致启动过程中模块无法正常解压载入,影响初始化内存盘 (initramfs) 引导期间的启动过程,最终导致系统无法启动。 + +此问题具体表现为启动时报告以下错误信息: + +``` +decompression failed with status 6 +systemd[1]: Failed to start systemd-module-load.service. +dracut: FATAL: iscsiroot requested but kernel/initrd does not support iscsi +``` + +如果您恰好更新过系统,请立即将 `kmod` 降级到版本 `30-1`: + +``` +sudo oma install kmod:30-1 +``` + +如果您尚未更新系统,请暂时不要更新,或者保持 `kmod` 软件包的版本为 `30-1`,并锁定该软件包的版本: + +``` +sudo oma mark hold kmod +``` + +我们会尽快找到问题根源,并尽早发布更新修复该问题。 + +--- + +— Cyan diff --git a/content/news/2024-01-14-grub-2-12-update-is-ready-for-testing.md b/content/news/2024-01-14-grub-2-12-update-is-ready-for-testing.md new file mode 100644 index 00000000..d9bed8bf --- /dev/null +++ b/content/news/2024-01-14-grub-2-12-update-is-ready-for-testing.md @@ -0,0 +1,26 @@ +--- +categories: + - advisories +title: "GRUB 2.12 Now Available for Testing" +date: 2024-01-14T18:47:12+08:00 +important: true + +--- + +Dear Users and Maintainers: + +GRUB 2.12 has recently been released and we have improved our packaging for your testing. As GRUB is a key and fundamental system component, your testing and feedback on different setups will be much appreciated (such as LVM and LUKS partition layouts). + +To test GRUB 2.12, use the following command: + +```sh +oma topics +``` + +Toggle the testing repository for `grub-2.12`, save your changes and exit. + +Please note that, shold and error occur during installation, please report the error output right away and note any particularities in your setups that may have caused the issue (such as LVM/LUKS usage and EFI system partition, etc.). If you run into boot failure, please download [LiveKit](https://aosc.io/downloads) to rescue. + +Thank you in advance for your attention. + +— Cyan diff --git a/content/news/2024-01-14-grub-2-12-update-is-ready-for-testing.zh-cn.md b/content/news/2024-01-14-grub-2-12-update-is-ready-for-testing.zh-cn.md new file mode 100644 index 00000000..fcaa1002 --- /dev/null +++ b/content/news/2024-01-14-grub-2-12-update-is-ready-for-testing.zh-cn.md @@ -0,0 +1,26 @@ +--- +categories: + - advisories +title: "GRUB 2.12 更新可供测试" +date: 2024-01-14T18:47:12+08:00 +important: true + +--- + +各位用户及维护者: + +GRUB 最近发布了 2.12 版本,软件包安装机制经过维护者几番研究之后已经初步完善,可供大家安装测试;由于涉及基本系统组件,请大家在不同的安装模式下测试本更新(如 LVM、LUKS 等),并积极提供反馈。 + +如需测试,请执行如下命令: + +```sh +oma topics +``` + +然后选中 `grub-2.12` 测试源,保存退出。 + +请注意,如果安装时出现错误,请立即报告,并且说明任何可能导致安装失败的条件(如使用了 LVM/LUKS、EFI 分区位置等);如出现引导故障,请下载 [LiveKit](https://aosc.io/zh-cn/downloads) 修复系统,并尽快提供反馈。 + +感谢大家的测试和支持! + +— Cyan diff --git a/content/news/2024-01-24-mips64r6el-demotion.md b/content/news/2024-01-24-mips64r6el-demotion.md new file mode 100644 index 00000000..b774a766 --- /dev/null +++ b/content/news/2024-01-24-mips64r6el-demotion.md @@ -0,0 +1,19 @@ +--- +categories: + - advisories +title: "MIPS64 Release 6 Port (mips64r6el) Demoted As Experimental" +date: 2024-01-24T18:47:12+08:00 +important: false + +--- + +With the lack of available hardware and serious usability issue after the LLVM +17 update (all Rust programs would fail to build), we have decided to demote the +MIPS64 Release 6 port (`mips64r6el`) to avoid further delays on shipping updates +for primary and secondary architectures. + +Following the demotion, we will continue maintaining this port, but with no +guarantees on timely updates. Should you run into issues while using this port, +please [contact us](https://aosc.io/contact) for assistance. + +— Mingcong Bai diff --git a/content/news/2024-01-24-mips64r6el-demotion.zh-cn.md b/content/news/2024-01-24-mips64r6el-demotion.zh-cn.md new file mode 100644 index 00000000..51075415 --- /dev/null +++ b/content/news/2024-01-24-mips64r6el-demotion.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - advisories +title: "MIPS64 Release 6 版本降级为实验性架构移植" +date: 2024-01-24T18:47:12+08:00 +important: false + +--- + +由于 MIPS64 Release 6 架构长期无可用硬件且 LLVM 17 后出现严重的工具链可用性问题(无法构建任何 Rust 程序),为避免后续拖延其他一、二级架构的更新和维护,我们决定将该移植降级为“实验性架构”。 + +降级后,我们将继续维护该架构移植,但对其软件包更新时效性不作保障;如果您在使用这一架构移植时遇到困难,请[联系我们](https://aosc.io/zh-cn/contact/)。 + +— 白铭骢 diff --git a/content/news/2024-01-25-font-update-issue.md b/content/news/2024-01-25-font-update-issue.md new file mode 100644 index 00000000..199a02e5 --- /dev/null +++ b/content/news/2024-01-25-font-update-issue.md @@ -0,0 +1,17 @@ +--- +categories: + - advisories +title: "User Interface May Present Display Issues Following Recent Font Updates" +date: 2024-01-25T15:55:00+08:00 +important: true + +--- + +Following recent font updates, you may find that texts may be garbled on some +programs. This issue is likely caused due to internal data structure changes in +the font files. + +Should you run into this issue, please restart your desktop session by logging out +and logging in again. + +— Mingcong Bai diff --git a/content/news/2024-01-25-font-update-issue.zh-cn.md b/content/news/2024-01-25-font-update-issue.zh-cn.md new file mode 100644 index 00000000..b99a76c7 --- /dev/null +++ b/content/news/2024-01-25-font-update-issue.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - advisories +title: "字体更新后系统界面可能出现显示问题" +date: 2024-01-25T15:55:00+08:00 +important: true + +--- + +安装近期推送的字体更新,您可能会发现系统中某些程序界面上的字体渲染会出现问题(如图例)。该问题很可能是字体中数据结构发生变化导致的。 + +如果您遇到该问题,重新登录当前会话即可解决问题。 + +— 白铭骢 diff --git a/content/news/2024-01-27-coffee-break.md b/content/news/2024-01-27-coffee-break.md new file mode 100644 index 00000000..94a23737 --- /dev/null +++ b/content/news/2024-01-27-coffee-break.md @@ -0,0 +1,268 @@ +--- +categories: + - journals +title: "安记冰室・一月下" +date: 2024-01-27T12:00:00+08:00 +important: false + +--- + +> “您都喝点儿啥?” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +改版说明 +-------- + +时隔一个月,《安记冰室》再次与各位见面了。新的一年,本刊将继续为您报道我社各项工作进展和活动资讯,通过改版和内容简化,以更精炼的方式为您呈现这些信息。从本期开始,本刊将更着重从用户角度报道各类社区及项目资讯,包含如下几个板块: + +- 社区脉动:本版报道我社最新活动资讯,包括如投票、问卷和例会等线上活动和 AOSCC 等线下活动 +- 系统快讯:本版报道 AOSC OS 和星霞 OS 近期的各类更新、改进等,助您了解最新系统特性和问题等 +- 开发者角:本版报道各类开发工具的更新资讯和各类事关我社新老贡献者的资讯 + +社区脉动 +-------- + +### 安同“春晚”:首届年度“烙饼会”将于 2 月 15 日开幕 + +![安同开源社区祝您新春快乐,龙年大吉!](/assets/news/coffee-break/20240127/imgs/aosc-new-year.png) + +农历新年在即,是时候筹划新一年的坑和白日梦了。我们计划在 2 月 15 日(农历初六)下午至傍晚以视频会议的形式举办我社首届“烙饼会”,邀请社区各项目的主要贡献者介绍工作情况和未来一年的工作计划展望。届时,各讲者将以“闪电秀”的形式,用 10 - 20 分钟的时间介绍各自参与的项目,并在介绍完毕后接受来自社区的提问。“烙饼会”也将于 Bilibili 等视频平台全程推流直播。 + +我们将于未来一周内发布具体日程,目前计划如下讲者和课题: + +- [白铭骢](https://github.com/MingcongBai):AOSC OS 维护情况及特性计划综述(泛 Debian 支持、libLoL、“合龙”等,详细的留给其他各位讲)、新网站建设及其他社区活动(“流浪相机”及 AOSCC 2024)等 +- [陈嘉杰 (jiegec)](https://github.com/jiegec):AOSC OS 自动化维护框架之 BuildIt 及 Dickens +- [傅孝元](https://github.com/eatradish):新 AOSC OS 安装程序及 oma(小熊猫)包管理前端 +- [刘子兴](https://github.com/liushuyu):Autobuild4、ACBS 及 Ciel 开发展望 +- [杨欣辉](https://github.com/Cyanoxygen):Devena 设备支持框架及 AOSC OS 初次启动向导 +- [王江津](https://github.com/RedL0tus):Spiral 泛 Debian 兼容性框架及系统更新摘要规范 + +敬请期待! + +### “流浪相机”项目筹备完成 + +今年,我们计划参考 B 站 Up 主 [-LKs-](https://space.bilibili.com/125526/) 的“漂流相机”计划组织社区“流浪相机”计划。本计划预先约定一套摄影器材,将一台由社区好友借用的相机寄出在参与者间接龙。参与者将自己选出的最优作品投稿,组成廿四年下半年壁纸集。 + +目前,我们也已完成基本筹划工作,目前计划如下: + +- 器材:索尼 a7RV 无反相机,搭配 SIGMA 45mm F2.8 DG DN 镜头 +- 运行时长:半年,三月中启动,至九月中截止 +- 运行地区:中国大陆,含香港和澳门特别行政区 +- 参与方式:报名审阅制,仅限现有 AOSC 项目、壁纸投稿贡献者及上述贡献者信任的个人 + +二月,我们将开始收集报名并开始设计接龙时间表,敬请留意社区各资讯平台更新。 + +### AOSC 社区论坛 (AOSC BBS) 上线 + +![社区论坛板块展示](/assets/news/coffee-break/20240127/imgs/bbs.png) + +年末,我们上线了社区论坛 (AOSC BBS) ,旨在为社区成员提供进行技术讨论和寻求技术支持的场合。本论坛亦用于发布社区新闻、活动公告和系统支持信息等。 + +本论坛分为如下几大板块: + +- 综合:用于讨论与社区运营、活动、人员及项目相关的各类话题 +- 公告:用于发布社区项目和活动相关信息 +- 设备支持:用于发布设备支持进展及讨论 AOSC OS 设备支持的相关问题 +- “星霞”发行版:用于讨论与 Afterglow(星霞 OS)发行版有关话题 +- 安记冰室:用于发布社区新闻及发布社区期刊《安记冰室》 +- 站务反馈:用于提交有关论坛运营的反馈意见等 + +访问论坛:https://bbs.aosc.io/ + +### 《聊斋》创刊号发布 + +本期内容是由[千须末 (OriginCode)](https://github.com/OriginCode) 编撰的“龙芯 3A5000 体验报告”,记录了其在九月初开始使用 3A5000 台式机的体验、遇到的问题和与社区好友们一同摸索到的各类解决方法。 + +点此阅读:https://github.com/AOSC-Dev/newsroom/blob/master/sigill/20241231/zh_CN.md + +系统快讯 +-------- + +### AOSC OS on Windows 11.1.0 发布 + +![AOSC OS on WSL 示意图](/assets/news/coffee-break/20240127/imgs/aosc-os-on-wsl.png) + +月初,[Kexy Biscuit](https://github.com/KexyBiscuit) 发布了 AOSC OS on Windows 11.1.0,现可于微软商店获取。该项目基于微软的 [Windows Subsystem for Linux](https://learn.microsoft.com/zh-cn/windows/wsl/about) 技术构建,旨在方便用户在 Windows 上部署 AOSC OS 系统环境及各应用。 + +本次更新包含如下特性: + +- 截至 2024 年 1 月 7 日最新的系统组件 +- 更新 AOSC OS 图标至新设计 +- 支持 Windows Terminal JSON 碎片扩展,以提高集成度和用户体验 +- 应用现声明支持最低 Windows 10 版本 1607(操作系统生成版本 14393) + +安装方式: + +- 微软商店(推荐):https://www.microsoft.com/store/apps/9NMDF21NV65Z +- 侧载包:https://github.com/AOSC-Dev/AOSCOSLauncher/releases/tag/v11.1.0 + +### LibLoL Debian 安装包现可供测试 + +月底,[王邈](https://github.com/shankerwangmiao)发布了 [libLoL](https://github.com/AOSC-Dev/liblol) 龙架构新旧世界应用程序兼容层的 Debian 安装包,方便在龙架构的各位 Debian 用户安装使用。 + +下载链接:https://github.com/AOSC-Dev/liblol/releases/tag/debian%2Fv0.1.4_pre2-1 + +如果您在使用过程中遇到问题或困难,请通过文末联系方式或在 [libLoL 仓库的工单页](https://github.com/AOSC-Dev/liblol/issues)反馈问题。 + +### Spiral:AOSC OS 泛 Debian 兼容框架 + +长久以来困扰 AOSC OS 用户的一大问题就是软件包的兼容性。虽然 AOSC OS 如同基于 Debian 和 Ubuntu 的各主流发行版一样使用 Debian 软件包 (`.deb`),但由于系统组件命名和版本策略上的差异,我们的系统实际上无法直接安装为这些发行版设计的软件。这一问题在安装如金山 WPS for Linux、腾讯 QQ 等各类商用和专有软件时尤为突出,为用户带来了极大不便。 + +因此,[王江津](https://github.com/RedL0tus)立项了 [Spiral](https://wiki.aosc.io/developer/minutes/20240125/) 项目,旨在基于软件包内容自动生成兼容 Debian 软件包名称和版本等兼容数据,让 AOSC OS 在一定程度兼容 Debian 的软件源体系。我们计划在该项目完成实现后针对某些常见软件标记这类信息,为用户使用这类软件提供便利;在中长期,我们计划通过重构 AOSC OS 所有软件包,为所有软件包标记 Debian 兼容信息。 + +### LiveKit 安装与维护环境新版展望 + +![AOSC OS 图形化安装程序](/assets/news/coffee-break/20240127/imgs/deploykit-gui.png) + +近期,在[傅孝元](https://github.com/eatradish)、[杨欣辉](https://github.com/Cyanoxygen)和[白铭骢](https://github.com/MingcongBai)等人的努力下,我们将在近期发布的 LiveKit 安装与维护环境中引入如下新特性: + +- 图形化安装程序:安装程序新增图形界面,使用更加便利顺手 +- 增强内置工具集:新增高级网络配置、文件管理器和文本编辑器等内置工具,方便不同使用场景 +- 新增多语言支持:启动 LiveKit 后提供语言选择菜单,方便不同母语用户使用 +- 调优使用体验:通过增加与 AOSC OS 桌面版兼容的快捷键配置、新增内存容量提示等,让使用体验更快捷可靠 + +### 上半年新壁纸默认壁纸出炉 + +![廿三年上半年默认壁纸图赏](/assets/news/coffee-break/20240127/imgs/2024h1-wallpapers.jpg) + +通过社区投票,我们选出了如下两张默认壁纸: + +- 默认壁纸:沙漠远眺 / The Desert(作者:椰椰雪球);得票率 55.9% +- 默认锁屏背景:梅里雪山日出 / Morrow Ray Upon Meili(作者:YzyParry);得票率 58.8% + +我们将在近期推送更新后的系统壁纸包,新的系统包将使用上述两张默认壁纸。 + +### AOSC OS 将获芯动“风华”显卡官方支持 + +![“风华二号”显卡样张(图转 PCBeta)](/assets/news/coffee-break/20240127/imgs/fenghua-2.jpg) + +作为最早发布且功能相对完整的龙架构 (LoongArch)“新世界”发行版之一,AOSC OS 广受龙芯爱好者社区关注和喜爱。近日,我们的发行版也引起了国产显卡厂商芯动科技 (INNOSILICON) 的注意。上周,芯动的生态工程师与我社维护者[白铭骢](https://github.com/MingcongBai)和 Arch Linux、Debian 和 Gentoo 发行版龙架构版本的维护者接触,了解了适配上的各注意事项和预期。我社维护者也将参与该公司“风华”系列显卡的驱动测试、评估和反馈工作。 + +芯动将在年后发布“风华”系列显卡的驱动包,经过适配,相信各位 AOSC OS 用户很快就能顺利在我们的系统上驱动起芯动公司的“风华”系列显卡了。 + +### “合龙”竣工在即 + +先前,我们启动了“合龙”工作——将目前位于前沿分支 (`frontier`) 中的移植工作合并到稳定分支 (`stable`) 中。经过过去近半年的努力,我们已基本将前沿分支上的龙架构适配和更新内容全部合并至系统稳定分支。我们相信“合龙”工作将在未来两周内完成,龙架构(LoongArch,系统架构名 `loongarch64`)将成为 AOSC OS 的正式支持的架构之一。考虑到该版系统用户众多且软件支持也已相对完整,我们计划将龙架构列作 AOSC OS 的第三个一级架构 (Primary Architecture),与 x86-64 (`amd64`) 和 AArch64 (`arm64`) 移植同级,享受最及时的软件更新。 + +目前,用于 LoongArch 的实验性系统发行已经可以从[社区主页下载](https://aosc.io/zh-cn/downloads),欢迎试用并提供反馈。待正式版发布,我们将另行报道。 + +### 用户公告 + +**Mesa 23.3.0 更新后较老的 AMD Radeon 显卡视频硬解功能可能存在故障** + +根据用户反馈,GCN (Graphics Core Next) 架构前较老的 AMD Radeon 显卡(如信创硬件上较为常见的 AMD Radeon R5 230 和 HD7350 两个型号)上无法正常使用硬件视频解码加速(简称硬解),其症状为视频画面为全黑或有大量杂斑。经调查,该问题是由 [Mesa 23.3 引入的](https://gitlab.freedesktop.org/mesa/mesa/-/issues/10345),且暂无稳定版本修复了这一问题。 + +因此,我们建议此类显卡用户暂时打开 Mesa 24 测试源,方可缓解这一问题。请输入如下命令打开该测试源: + +``` +sudo oma topics +``` + +而后,输入 "mesa-24",按 Enter 或空格键选中该测试源,而后按 Esc 应用更改,方可收到版本为 `1:23.3.2+git20240103+dxheaders1.611.0` 的 `mesa` 组件包更新。更新安装完成后,请重启电脑。 + +Mesa 24 的稳定版本预计将于二月发布,在此之前请保持该测试源打开以便保障视频硬解功能可用。我们为此带来的不便表示歉意。 + +**字体更新后系统界面可能出现显示问题** + +![界面显示问题示意图](/assets/news/coffee-break/20240127/imgs/font-issue.jpg) + +安装近期推送的字体更新,您可能会发现系统中某些程序界面上的字体渲染会出现问题(如图例);该问题很可能是字体中数据结构发生变化导致的。 + +如果您遇到该问题,重新登录当前会话即可解决问题。 + +**全新安装 AOSC OS on WSL 时 systemd 可能无法正常启动** + +根据用户反馈,全新安装 AOSC OS on WSL 后,systemd 无法正常完成初始化,导致部分依赖 systemd 和 dbus 的工具无法使用,用户亦无法使用 systemd 相关工具。 + +经调查,该问题是由 AOSC OS on WSL 缺少 /etc/machine-id 文件导致;systemd 初次启动时会生成全新的 machine-id,由于构建AOSC OS on WSL 时清除掉了此文件,初次启动时产生竞态条件,进而导致 systemd 无法正常初始化。 + +如果您遇到该问题,请输入如下命令: + +``` +sudo umount /etc/machine-id +sudo rm /etc/machine-id +sudo touch /etc/machine-id +sudo chmod 444 /etc/machine-id +``` + +然后使用 `wsl.exe --shutdown` 命令彻底关闭 WSL 会话,并再次启动 AOSC OS on WSL 即可解决问题。AOSC OS on WSL 的下一个版本预计将修复此问题。 + +我们为此带来的不便表示歉意。 + +**MIPS64 Release 6 版本降级为 AOSC OS “实验性架构”** + +由于 MIPS64 Release 6 架构长期无可用硬件且 LLVM 17 后出现严重的工具链可用性问题(无法构建任何 Rust 程序),为避免后续拖延其他一、二级架构的更新和维护,我们决定将该移植降级为“实验性架构”。 + +降级后,我们将继续维护该架构移植,但对其软件包更新时效性不作保障;如果您在使用这一架构移植时遇到困难,请联系我们。 + +开发者角 +-------- + +### Autobuild4 正式投产 + +近期,由[刘子兴](https://github.com/liushuyu)开发的新一代半自动软件包构建工具 [Autobuild4](https://github.com/AOSC-Dev/autobuild4) 正式发布,对用户界面、可靠性和代码规范要求等方面均进行了增强改进。Autobuild4 目前出于生产测试状态,且考虑到其目前尚未经过充分测试验证,您在使用时可能会遇到一些问题。在此,我们鼓励您积极报告任何问题、疑惑和批评意见,一起将 Autobuild4 做得更好更强。 + +### “狄更斯”自动打包脚本审阅工具 + +一月中旬,[陈嘉杰 (jiegec)](https://github.com/jiegec) 立项了用于自动审阅 AOSC OS 软件包构建脚本的[“狄更斯 (dickens)”](https://github.com/AOSC-Dev/dickens) 项目。该工具将根据 [Autobuild Package Manifest Language](https://wiki.aosc.io/developer/automation/apml/) 和 [AOSC OS 软件包样式指南](https://wiki.aosc.io/zh/developer/packaging/package-styling-manual/) 定义的规范自动审阅贡献者编写的打包脚本并反馈质量合规状态和修改意见,降低社区贡献者的审阅和维护压力。 + +### 新年新气象:AOSC-Dev 代码仓库即将进行大扫除 + +如今,我社 [AOSC-Dev](https://github.com/AOSC-Dev) 代码仓库已有超过 300 个历史项目,过时项目、外部项目等混杂其中,给项目管理带来了一定困难。我们计划在未来两周内组织对该代码仓库进行大扫除,并分出两个新的代码仓库(GitHub 组织): + +- [AOSC-Archive](https://github.com/AOSC-Archive):用于归档已停止维护的社区项目 +- [AOSC-Tracking](https://github.com/AOSC-Tracking):用于追踪和更新各 AOSC OS 项目和软件包的补丁 + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [Henry Chen](https://github.com/chenx97) +- [柴天浩](https://github.com/cthbleachbit) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [Felix Yan](https://github.com/felixonmars) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [秦斐然](https://github.com/Nyovelt) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [王江津](https://github.com/RedL0tus) +- [王邈](https://github.com/shankerwangmiao) +- [Suyun](https://github.com/Suyun114) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [王翔 (KatyushaScarlet)](https://github.com/KatyushaScarlet) +- [SignKirigami](https://github.com/prcups) + + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周五午间 12 时发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-01-27-coffee-break.zh-cn.md b/content/news/2024-01-27-coffee-break.zh-cn.md new file mode 100644 index 00000000..94a23737 --- /dev/null +++ b/content/news/2024-01-27-coffee-break.zh-cn.md @@ -0,0 +1,268 @@ +--- +categories: + - journals +title: "安记冰室・一月下" +date: 2024-01-27T12:00:00+08:00 +important: false + +--- + +> “您都喝点儿啥?” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +改版说明 +-------- + +时隔一个月,《安记冰室》再次与各位见面了。新的一年,本刊将继续为您报道我社各项工作进展和活动资讯,通过改版和内容简化,以更精炼的方式为您呈现这些信息。从本期开始,本刊将更着重从用户角度报道各类社区及项目资讯,包含如下几个板块: + +- 社区脉动:本版报道我社最新活动资讯,包括如投票、问卷和例会等线上活动和 AOSCC 等线下活动 +- 系统快讯:本版报道 AOSC OS 和星霞 OS 近期的各类更新、改进等,助您了解最新系统特性和问题等 +- 开发者角:本版报道各类开发工具的更新资讯和各类事关我社新老贡献者的资讯 + +社区脉动 +-------- + +### 安同“春晚”:首届年度“烙饼会”将于 2 月 15 日开幕 + +![安同开源社区祝您新春快乐,龙年大吉!](/assets/news/coffee-break/20240127/imgs/aosc-new-year.png) + +农历新年在即,是时候筹划新一年的坑和白日梦了。我们计划在 2 月 15 日(农历初六)下午至傍晚以视频会议的形式举办我社首届“烙饼会”,邀请社区各项目的主要贡献者介绍工作情况和未来一年的工作计划展望。届时,各讲者将以“闪电秀”的形式,用 10 - 20 分钟的时间介绍各自参与的项目,并在介绍完毕后接受来自社区的提问。“烙饼会”也将于 Bilibili 等视频平台全程推流直播。 + +我们将于未来一周内发布具体日程,目前计划如下讲者和课题: + +- [白铭骢](https://github.com/MingcongBai):AOSC OS 维护情况及特性计划综述(泛 Debian 支持、libLoL、“合龙”等,详细的留给其他各位讲)、新网站建设及其他社区活动(“流浪相机”及 AOSCC 2024)等 +- [陈嘉杰 (jiegec)](https://github.com/jiegec):AOSC OS 自动化维护框架之 BuildIt 及 Dickens +- [傅孝元](https://github.com/eatradish):新 AOSC OS 安装程序及 oma(小熊猫)包管理前端 +- [刘子兴](https://github.com/liushuyu):Autobuild4、ACBS 及 Ciel 开发展望 +- [杨欣辉](https://github.com/Cyanoxygen):Devena 设备支持框架及 AOSC OS 初次启动向导 +- [王江津](https://github.com/RedL0tus):Spiral 泛 Debian 兼容性框架及系统更新摘要规范 + +敬请期待! + +### “流浪相机”项目筹备完成 + +今年,我们计划参考 B 站 Up 主 [-LKs-](https://space.bilibili.com/125526/) 的“漂流相机”计划组织社区“流浪相机”计划。本计划预先约定一套摄影器材,将一台由社区好友借用的相机寄出在参与者间接龙。参与者将自己选出的最优作品投稿,组成廿四年下半年壁纸集。 + +目前,我们也已完成基本筹划工作,目前计划如下: + +- 器材:索尼 a7RV 无反相机,搭配 SIGMA 45mm F2.8 DG DN 镜头 +- 运行时长:半年,三月中启动,至九月中截止 +- 运行地区:中国大陆,含香港和澳门特别行政区 +- 参与方式:报名审阅制,仅限现有 AOSC 项目、壁纸投稿贡献者及上述贡献者信任的个人 + +二月,我们将开始收集报名并开始设计接龙时间表,敬请留意社区各资讯平台更新。 + +### AOSC 社区论坛 (AOSC BBS) 上线 + +![社区论坛板块展示](/assets/news/coffee-break/20240127/imgs/bbs.png) + +年末,我们上线了社区论坛 (AOSC BBS) ,旨在为社区成员提供进行技术讨论和寻求技术支持的场合。本论坛亦用于发布社区新闻、活动公告和系统支持信息等。 + +本论坛分为如下几大板块: + +- 综合:用于讨论与社区运营、活动、人员及项目相关的各类话题 +- 公告:用于发布社区项目和活动相关信息 +- 设备支持:用于发布设备支持进展及讨论 AOSC OS 设备支持的相关问题 +- “星霞”发行版:用于讨论与 Afterglow(星霞 OS)发行版有关话题 +- 安记冰室:用于发布社区新闻及发布社区期刊《安记冰室》 +- 站务反馈:用于提交有关论坛运营的反馈意见等 + +访问论坛:https://bbs.aosc.io/ + +### 《聊斋》创刊号发布 + +本期内容是由[千须末 (OriginCode)](https://github.com/OriginCode) 编撰的“龙芯 3A5000 体验报告”,记录了其在九月初开始使用 3A5000 台式机的体验、遇到的问题和与社区好友们一同摸索到的各类解决方法。 + +点此阅读:https://github.com/AOSC-Dev/newsroom/blob/master/sigill/20241231/zh_CN.md + +系统快讯 +-------- + +### AOSC OS on Windows 11.1.0 发布 + +![AOSC OS on WSL 示意图](/assets/news/coffee-break/20240127/imgs/aosc-os-on-wsl.png) + +月初,[Kexy Biscuit](https://github.com/KexyBiscuit) 发布了 AOSC OS on Windows 11.1.0,现可于微软商店获取。该项目基于微软的 [Windows Subsystem for Linux](https://learn.microsoft.com/zh-cn/windows/wsl/about) 技术构建,旨在方便用户在 Windows 上部署 AOSC OS 系统环境及各应用。 + +本次更新包含如下特性: + +- 截至 2024 年 1 月 7 日最新的系统组件 +- 更新 AOSC OS 图标至新设计 +- 支持 Windows Terminal JSON 碎片扩展,以提高集成度和用户体验 +- 应用现声明支持最低 Windows 10 版本 1607(操作系统生成版本 14393) + +安装方式: + +- 微软商店(推荐):https://www.microsoft.com/store/apps/9NMDF21NV65Z +- 侧载包:https://github.com/AOSC-Dev/AOSCOSLauncher/releases/tag/v11.1.0 + +### LibLoL Debian 安装包现可供测试 + +月底,[王邈](https://github.com/shankerwangmiao)发布了 [libLoL](https://github.com/AOSC-Dev/liblol) 龙架构新旧世界应用程序兼容层的 Debian 安装包,方便在龙架构的各位 Debian 用户安装使用。 + +下载链接:https://github.com/AOSC-Dev/liblol/releases/tag/debian%2Fv0.1.4_pre2-1 + +如果您在使用过程中遇到问题或困难,请通过文末联系方式或在 [libLoL 仓库的工单页](https://github.com/AOSC-Dev/liblol/issues)反馈问题。 + +### Spiral:AOSC OS 泛 Debian 兼容框架 + +长久以来困扰 AOSC OS 用户的一大问题就是软件包的兼容性。虽然 AOSC OS 如同基于 Debian 和 Ubuntu 的各主流发行版一样使用 Debian 软件包 (`.deb`),但由于系统组件命名和版本策略上的差异,我们的系统实际上无法直接安装为这些发行版设计的软件。这一问题在安装如金山 WPS for Linux、腾讯 QQ 等各类商用和专有软件时尤为突出,为用户带来了极大不便。 + +因此,[王江津](https://github.com/RedL0tus)立项了 [Spiral](https://wiki.aosc.io/developer/minutes/20240125/) 项目,旨在基于软件包内容自动生成兼容 Debian 软件包名称和版本等兼容数据,让 AOSC OS 在一定程度兼容 Debian 的软件源体系。我们计划在该项目完成实现后针对某些常见软件标记这类信息,为用户使用这类软件提供便利;在中长期,我们计划通过重构 AOSC OS 所有软件包,为所有软件包标记 Debian 兼容信息。 + +### LiveKit 安装与维护环境新版展望 + +![AOSC OS 图形化安装程序](/assets/news/coffee-break/20240127/imgs/deploykit-gui.png) + +近期,在[傅孝元](https://github.com/eatradish)、[杨欣辉](https://github.com/Cyanoxygen)和[白铭骢](https://github.com/MingcongBai)等人的努力下,我们将在近期发布的 LiveKit 安装与维护环境中引入如下新特性: + +- 图形化安装程序:安装程序新增图形界面,使用更加便利顺手 +- 增强内置工具集:新增高级网络配置、文件管理器和文本编辑器等内置工具,方便不同使用场景 +- 新增多语言支持:启动 LiveKit 后提供语言选择菜单,方便不同母语用户使用 +- 调优使用体验:通过增加与 AOSC OS 桌面版兼容的快捷键配置、新增内存容量提示等,让使用体验更快捷可靠 + +### 上半年新壁纸默认壁纸出炉 + +![廿三年上半年默认壁纸图赏](/assets/news/coffee-break/20240127/imgs/2024h1-wallpapers.jpg) + +通过社区投票,我们选出了如下两张默认壁纸: + +- 默认壁纸:沙漠远眺 / The Desert(作者:椰椰雪球);得票率 55.9% +- 默认锁屏背景:梅里雪山日出 / Morrow Ray Upon Meili(作者:YzyParry);得票率 58.8% + +我们将在近期推送更新后的系统壁纸包,新的系统包将使用上述两张默认壁纸。 + +### AOSC OS 将获芯动“风华”显卡官方支持 + +![“风华二号”显卡样张(图转 PCBeta)](/assets/news/coffee-break/20240127/imgs/fenghua-2.jpg) + +作为最早发布且功能相对完整的龙架构 (LoongArch)“新世界”发行版之一,AOSC OS 广受龙芯爱好者社区关注和喜爱。近日,我们的发行版也引起了国产显卡厂商芯动科技 (INNOSILICON) 的注意。上周,芯动的生态工程师与我社维护者[白铭骢](https://github.com/MingcongBai)和 Arch Linux、Debian 和 Gentoo 发行版龙架构版本的维护者接触,了解了适配上的各注意事项和预期。我社维护者也将参与该公司“风华”系列显卡的驱动测试、评估和反馈工作。 + +芯动将在年后发布“风华”系列显卡的驱动包,经过适配,相信各位 AOSC OS 用户很快就能顺利在我们的系统上驱动起芯动公司的“风华”系列显卡了。 + +### “合龙”竣工在即 + +先前,我们启动了“合龙”工作——将目前位于前沿分支 (`frontier`) 中的移植工作合并到稳定分支 (`stable`) 中。经过过去近半年的努力,我们已基本将前沿分支上的龙架构适配和更新内容全部合并至系统稳定分支。我们相信“合龙”工作将在未来两周内完成,龙架构(LoongArch,系统架构名 `loongarch64`)将成为 AOSC OS 的正式支持的架构之一。考虑到该版系统用户众多且软件支持也已相对完整,我们计划将龙架构列作 AOSC OS 的第三个一级架构 (Primary Architecture),与 x86-64 (`amd64`) 和 AArch64 (`arm64`) 移植同级,享受最及时的软件更新。 + +目前,用于 LoongArch 的实验性系统发行已经可以从[社区主页下载](https://aosc.io/zh-cn/downloads),欢迎试用并提供反馈。待正式版发布,我们将另行报道。 + +### 用户公告 + +**Mesa 23.3.0 更新后较老的 AMD Radeon 显卡视频硬解功能可能存在故障** + +根据用户反馈,GCN (Graphics Core Next) 架构前较老的 AMD Radeon 显卡(如信创硬件上较为常见的 AMD Radeon R5 230 和 HD7350 两个型号)上无法正常使用硬件视频解码加速(简称硬解),其症状为视频画面为全黑或有大量杂斑。经调查,该问题是由 [Mesa 23.3 引入的](https://gitlab.freedesktop.org/mesa/mesa/-/issues/10345),且暂无稳定版本修复了这一问题。 + +因此,我们建议此类显卡用户暂时打开 Mesa 24 测试源,方可缓解这一问题。请输入如下命令打开该测试源: + +``` +sudo oma topics +``` + +而后,输入 "mesa-24",按 Enter 或空格键选中该测试源,而后按 Esc 应用更改,方可收到版本为 `1:23.3.2+git20240103+dxheaders1.611.0` 的 `mesa` 组件包更新。更新安装完成后,请重启电脑。 + +Mesa 24 的稳定版本预计将于二月发布,在此之前请保持该测试源打开以便保障视频硬解功能可用。我们为此带来的不便表示歉意。 + +**字体更新后系统界面可能出现显示问题** + +![界面显示问题示意图](/assets/news/coffee-break/20240127/imgs/font-issue.jpg) + +安装近期推送的字体更新,您可能会发现系统中某些程序界面上的字体渲染会出现问题(如图例);该问题很可能是字体中数据结构发生变化导致的。 + +如果您遇到该问题,重新登录当前会话即可解决问题。 + +**全新安装 AOSC OS on WSL 时 systemd 可能无法正常启动** + +根据用户反馈,全新安装 AOSC OS on WSL 后,systemd 无法正常完成初始化,导致部分依赖 systemd 和 dbus 的工具无法使用,用户亦无法使用 systemd 相关工具。 + +经调查,该问题是由 AOSC OS on WSL 缺少 /etc/machine-id 文件导致;systemd 初次启动时会生成全新的 machine-id,由于构建AOSC OS on WSL 时清除掉了此文件,初次启动时产生竞态条件,进而导致 systemd 无法正常初始化。 + +如果您遇到该问题,请输入如下命令: + +``` +sudo umount /etc/machine-id +sudo rm /etc/machine-id +sudo touch /etc/machine-id +sudo chmod 444 /etc/machine-id +``` + +然后使用 `wsl.exe --shutdown` 命令彻底关闭 WSL 会话,并再次启动 AOSC OS on WSL 即可解决问题。AOSC OS on WSL 的下一个版本预计将修复此问题。 + +我们为此带来的不便表示歉意。 + +**MIPS64 Release 6 版本降级为 AOSC OS “实验性架构”** + +由于 MIPS64 Release 6 架构长期无可用硬件且 LLVM 17 后出现严重的工具链可用性问题(无法构建任何 Rust 程序),为避免后续拖延其他一、二级架构的更新和维护,我们决定将该移植降级为“实验性架构”。 + +降级后,我们将继续维护该架构移植,但对其软件包更新时效性不作保障;如果您在使用这一架构移植时遇到困难,请联系我们。 + +开发者角 +-------- + +### Autobuild4 正式投产 + +近期,由[刘子兴](https://github.com/liushuyu)开发的新一代半自动软件包构建工具 [Autobuild4](https://github.com/AOSC-Dev/autobuild4) 正式发布,对用户界面、可靠性和代码规范要求等方面均进行了增强改进。Autobuild4 目前出于生产测试状态,且考虑到其目前尚未经过充分测试验证,您在使用时可能会遇到一些问题。在此,我们鼓励您积极报告任何问题、疑惑和批评意见,一起将 Autobuild4 做得更好更强。 + +### “狄更斯”自动打包脚本审阅工具 + +一月中旬,[陈嘉杰 (jiegec)](https://github.com/jiegec) 立项了用于自动审阅 AOSC OS 软件包构建脚本的[“狄更斯 (dickens)”](https://github.com/AOSC-Dev/dickens) 项目。该工具将根据 [Autobuild Package Manifest Language](https://wiki.aosc.io/developer/automation/apml/) 和 [AOSC OS 软件包样式指南](https://wiki.aosc.io/zh/developer/packaging/package-styling-manual/) 定义的规范自动审阅贡献者编写的打包脚本并反馈质量合规状态和修改意见,降低社区贡献者的审阅和维护压力。 + +### 新年新气象:AOSC-Dev 代码仓库即将进行大扫除 + +如今,我社 [AOSC-Dev](https://github.com/AOSC-Dev) 代码仓库已有超过 300 个历史项目,过时项目、外部项目等混杂其中,给项目管理带来了一定困难。我们计划在未来两周内组织对该代码仓库进行大扫除,并分出两个新的代码仓库(GitHub 组织): + +- [AOSC-Archive](https://github.com/AOSC-Archive):用于归档已停止维护的社区项目 +- [AOSC-Tracking](https://github.com/AOSC-Tracking):用于追踪和更新各 AOSC OS 项目和软件包的补丁 + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [Henry Chen](https://github.com/chenx97) +- [柴天浩](https://github.com/cthbleachbit) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [Felix Yan](https://github.com/felixonmars) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [秦斐然](https://github.com/Nyovelt) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [王江津](https://github.com/RedL0tus) +- [王邈](https://github.com/shankerwangmiao) +- [Suyun](https://github.com/Suyun114) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [王翔 (KatyushaScarlet)](https://github.com/KatyushaScarlet) +- [SignKirigami](https://github.com/prcups) + + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周五午间 12 时发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-02-01-linux-cn-closure.md b/content/news/2024-02-01-linux-cn-closure.md new file mode 100644 index 00000000..cf98b8f9 --- /dev/null +++ b/content/news/2024-02-01-linux-cn-closure.md @@ -0,0 +1,18 @@ +--- +categories: + - news +title: "On Linux.CN's Closure and the Future of Open Source Communities in China" +date: 2024-01-31T22:18:05-08:00 +important: false + +--- + +Today, we were deeply shocked and saddened by [the news about Linux.CN's closure](https://linux.cn/article-16602-1.html). While it is no coincidence that open source became increasingly commercialised as it became an industry here in China, we strongly believe in the value open source communities bring in facilitating experimentation and knowledge application, networking new contributors, and in fostering the continuation of an open source culture. Open source, however commercialised, will not stand without communities. + +2024 marks one decade since the Chinese government's promulgation of the ITAI (Information Technology Application Innovation) program for domestic hardware and software application, in response to the troubling developments in the Sino-U.S. technological "cold war." However, as the program's adoption and widening application could not have been realised without open source software development, the numerous communities that organised the everyday operations of this effort is undoubtedly crucial to its success. + +We would like to take this moment to sincerely thank 硬核老王 and members of the Linux.Cn Translation Team for their decades-long contribution. We wish them happiness and success. For the rest of us, we would like to show solidarity with our colleagues working tirelessly to keep open source communities alive. + +--- + +— Kexy Biscuit diff --git a/content/news/2024-02-01-linux-cn-closure.zh-cn.md b/content/news/2024-02-01-linux-cn-closure.zh-cn.md new file mode 100644 index 00000000..257b7773 --- /dev/null +++ b/content/news/2024-02-01-linux-cn-closure.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - news +title: "“Linux 中国”开源社区停止运营,感谢一路相伴" +date: 2024-01-31T22:19:13-08:00 +important: false + +--- + +今日惊闻 [Linux 中国社区停止运营](https://linux.cn/article-16602-1.html),倍感惋惜。尽管小编认为商业化的开源是产业化过程中难免的趋势,但也同样坚信社区“用爱发电”是在这一过程中,尤其是鼓励思考实践、发展新生力量和孕育开源文化中不可或缺的力量。没有社区,商业化的开源将变得毫无意义。今年是“信创”概念提出的第十年,开源工作在信创产业化和普适化中无疑起到了中流砥柱的作用,而组织推进开源工作的众多社区也是极为重要的。 + +真诚感谢硬核老王同志和 Linux.Cn Translation Team 全体成员这些年的辛苦付出。在这里,祝他们工作生活顺利!我们也愿与继续走在开源社区运营的各位同行们共勉。 + +--- + +— Kexy Biscuit diff --git a/content/news/2024-02-09-aosc-os-loongarch64-mainlined.md b/content/news/2024-02-09-aosc-os-loongarch64-mainlined.md new file mode 100644 index 00000000..bb76ede3 --- /dev/null +++ b/content/news/2024-02-09-aosc-os-loongarch64-mainlined.md @@ -0,0 +1,36 @@ +--- +categories: + - news + - advisories +title: "AOSC OS 合龙工程圆满收官!" +date: 2024-02-09T22:19:13-08:00 +important: false + +--- + +![](/assets/news/2024-02-09-aosc-os-loongarch64-mainlined.jpg) + +龙年第一天,历时逾半年的龙架构移植已完成合并,正式“合龙”! + +该架构软件源已从 `frontier` 移至 `stable`,后续更新将推送到此仓库。 + +目前已经安装龙架构系统的用户,请运行如下命令切换软件源: + +```bash +oma mirror reset +``` + +如需切换镜像源,请使用如下命令: + + +```bash +oma mirror +``` + +在未来几天,我们将对龙架构移植进行最后修缮,预计在年假内将发布龙架构的第一批系统发行,敬请期待! + +感谢过去一年中各位同事的辛勤劳作,祝各位社区好友龙年吉祥,万事如意! + +--- + +— Kexy Biscuit diff --git a/content/news/2024-02-09-aosc-os-loongarch64-mainlined.zh-cn.md b/content/news/2024-02-09-aosc-os-loongarch64-mainlined.zh-cn.md new file mode 100644 index 00000000..f17368b1 --- /dev/null +++ b/content/news/2024-02-09-aosc-os-loongarch64-mainlined.zh-cn.md @@ -0,0 +1,35 @@ +--- +categories: + - news + - advisories +title: "AOSC OS 合龙工程圆满收官!" +date: 2024-02-09T22:19:13-08:00 +important: false + +--- +![](/assets/news/2024-02-09-aosc-os-loongarch64-mainlined.jpg) + +龙年第一天,历时逾半年的龙架构移植已完成合并,正式“合龙”! + +该架构软件源已从 `frontier` 移至 `stable`,后续更新将推送到此仓库。 + +目前已经安装龙架构系统的用户,请运行如下命令切换软件源: + +```bash +oma mirror reset +``` + +如需切换镜像源,请使用如下命令: + + +```bash +oma mirror +``` + +在未来几天,我们将对龙架构移植进行最后修缮,预计在年假内将发布龙架构的第一批系统发行,敬请期待! + +感谢过去一年中各位同事的辛勤劳作,祝各位社区好友龙年吉祥,万事如意! + +--- + +— Kexy Biscuit diff --git a/content/news/2024-02-10-coffee-break.md b/content/news/2024-02-10-coffee-break.md new file mode 100644 index 00000000..1db683fe --- /dev/null +++ b/content/news/2024-02-10-coffee-break.md @@ -0,0 +1,115 @@ +--- +categories: + - journals +title: "安记冰室・二月上" +date: 2024-02-10T12:00:00+08:00 +important: false + +--- +> “龙年大吉!” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +新春寄语 +-------- + +![安同开源社区祝您新春快乐,龙年大吉!](/assets/news/coffee-break/20240210/imgs/aosc-new-year.png) + +今天是龙年的第一天,希望大家都能与家人团聚、共享新春佳节的美好。 + +农历新年,社区贡献者们也奔波在回家的路上或在为自己和家人的生活忙前忙后,本期内容也因此较为简略,还请海涵!除夕钟声响起后不到 15 分钟,我社也完成了历时逾半年的“合龙”工作,龙架构 (LoongArch) 正式入列 AOSC OS 一级架构,其软件生态和使用体验将在未来数日、数月甚至数年间,在社区维护者的努力下不断成熟和丰富。 + +最后祝各位龙年大吉,万事顺意;也祝各位同事和社区伙伴们合作愉快,共同进步! + +—— 白铭骢 + +社区脉动 +-------- + +### 首届年度“烙饼会”将于 2 月 15 日开幕 + +农历新年在即,是时候筹划新一年的坑和白日梦了。我们计划在 2 月 15 日(农历初六)下午以视频会议的形式举办我社首届“烙饼会”,邀请社区各项目的主要贡献者介绍工作情况和未来一年的工作计划展望。届时,各讲者将以“闪电秀”的形式,用 10 - 15 分钟的时间介绍各自参与的项目,并在介绍完毕后接受来自社区的提问。“烙饼会”也将于 Bilibili 等视频平台全程推流直播。 + +我们将于未来一周内发布具体日程,目前计划由如下贡献者展示各自项目: + +- [白铭骢](https://github.com/MingcongBai):AOSC OS 维护情况及特性计划综述、新网站建设及其他社区活动(“流浪相机”及 AOSCC 2024)等 +- [陈嘉杰 (jiegec)](https://github.com/jiegec):AOSC OS 自动化维护框架之 BuildIt 及 Dickens +- [傅孝元](https://github.com/eatradish):新 AOSC OS 安装程序及 oma(小熊猫)包管理前端 +- [刘子兴](https://github.com/liushuyu):Autobuild4、ACBS 及 Ciel 开发展望 +- [杨欣辉](https://github.com/Cyanoxygen):Devena 设备支持框架及 AOSC OS 初次启动向导 +- [王江津](https://github.com/RedL0tus):Spiral 泛 Debian 兼容性框架及系统更新摘要规范 + +参会前,请参阅 AOSC 廿四年度烙饼会的[参会信息、日程指南与注意事项](https://wiki.aosc.io/zh/community/springcon/2024/),帮助我们将第一届“烙饼会”办好,下周见! + +腾讯会议链接:https://meeting.tencent.com/dm/z4b5FnLlBX63 + +### libLoL 主页上线 + +![libLoL 主页](/assets/news/coffee-break/20240210/imgs/liblol-home.png) + +本周,社区贡献者[温柔](https://github.com/xunpod)完成并上线了龙架构新旧世界兼容层 libLoL 的主页,该站点将用于展示 libLoL 安装教程和各旧世界应用的兼容性信息、使用指南等。希望本站点的上线能帮助各位方便快捷地使用龙架构电脑完成日常工作;我们也同时希望开放、标准化和可持续的新世界软件生态能够日益壮大,取代当前商用软件仍在使用的封闭而不可持续的旧世界生态。 + +主页地址:https://liblol.aosc.io + +系统快讯 +-------- + +### AOSC OS “合龙”工作圆满落幕 + +![AOSC OS 架构支持示意](/assets/news/coffee-break/20240210/imgs/port-tiers.zh-cn.png) + +龙年第一天,历时逾半年的龙架构移植已完成合并,正式“合龙”。考虑到维护者和社区好友间用户之众,且该架构软件生态已基本成熟,龙架构将正式升格为 AOSC OS 支持水平最高的一级架构。 + +年假期间,我们将对龙架构移植进行最后修缮,预计在年假内将发布龙架构的第一批稳定系统包,敬请期待! + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [Henry Chen](https://github.com/chenx97) +- [柴天浩](https://github.com/cthbleachbit) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [秦斐然](https://github.com/Nyovelt) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [SignKirigami](https://github.com/prcups) +- [王江津](https://github.com/RedL0tus) +- [王邈](https://github.com/shankerwangmiao) +- [Suyun](https://github.com/Suyun114) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [温柔](https://github.com/xunpod) + + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周五午间 12 时发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-02-10-coffee-break.zh-cn.md b/content/news/2024-02-10-coffee-break.zh-cn.md new file mode 100644 index 00000000..1db683fe --- /dev/null +++ b/content/news/2024-02-10-coffee-break.zh-cn.md @@ -0,0 +1,115 @@ +--- +categories: + - journals +title: "安记冰室・二月上" +date: 2024-02-10T12:00:00+08:00 +important: false + +--- +> “龙年大吉!” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +新春寄语 +-------- + +![安同开源社区祝您新春快乐,龙年大吉!](/assets/news/coffee-break/20240210/imgs/aosc-new-year.png) + +今天是龙年的第一天,希望大家都能与家人团聚、共享新春佳节的美好。 + +农历新年,社区贡献者们也奔波在回家的路上或在为自己和家人的生活忙前忙后,本期内容也因此较为简略,还请海涵!除夕钟声响起后不到 15 分钟,我社也完成了历时逾半年的“合龙”工作,龙架构 (LoongArch) 正式入列 AOSC OS 一级架构,其软件生态和使用体验将在未来数日、数月甚至数年间,在社区维护者的努力下不断成熟和丰富。 + +最后祝各位龙年大吉,万事顺意;也祝各位同事和社区伙伴们合作愉快,共同进步! + +—— 白铭骢 + +社区脉动 +-------- + +### 首届年度“烙饼会”将于 2 月 15 日开幕 + +农历新年在即,是时候筹划新一年的坑和白日梦了。我们计划在 2 月 15 日(农历初六)下午以视频会议的形式举办我社首届“烙饼会”,邀请社区各项目的主要贡献者介绍工作情况和未来一年的工作计划展望。届时,各讲者将以“闪电秀”的形式,用 10 - 15 分钟的时间介绍各自参与的项目,并在介绍完毕后接受来自社区的提问。“烙饼会”也将于 Bilibili 等视频平台全程推流直播。 + +我们将于未来一周内发布具体日程,目前计划由如下贡献者展示各自项目: + +- [白铭骢](https://github.com/MingcongBai):AOSC OS 维护情况及特性计划综述、新网站建设及其他社区活动(“流浪相机”及 AOSCC 2024)等 +- [陈嘉杰 (jiegec)](https://github.com/jiegec):AOSC OS 自动化维护框架之 BuildIt 及 Dickens +- [傅孝元](https://github.com/eatradish):新 AOSC OS 安装程序及 oma(小熊猫)包管理前端 +- [刘子兴](https://github.com/liushuyu):Autobuild4、ACBS 及 Ciel 开发展望 +- [杨欣辉](https://github.com/Cyanoxygen):Devena 设备支持框架及 AOSC OS 初次启动向导 +- [王江津](https://github.com/RedL0tus):Spiral 泛 Debian 兼容性框架及系统更新摘要规范 + +参会前,请参阅 AOSC 廿四年度烙饼会的[参会信息、日程指南与注意事项](https://wiki.aosc.io/zh/community/springcon/2024/),帮助我们将第一届“烙饼会”办好,下周见! + +腾讯会议链接:https://meeting.tencent.com/dm/z4b5FnLlBX63 + +### libLoL 主页上线 + +![libLoL 主页](/assets/news/coffee-break/20240210/imgs/liblol-home.png) + +本周,社区贡献者[温柔](https://github.com/xunpod)完成并上线了龙架构新旧世界兼容层 libLoL 的主页,该站点将用于展示 libLoL 安装教程和各旧世界应用的兼容性信息、使用指南等。希望本站点的上线能帮助各位方便快捷地使用龙架构电脑完成日常工作;我们也同时希望开放、标准化和可持续的新世界软件生态能够日益壮大,取代当前商用软件仍在使用的封闭而不可持续的旧世界生态。 + +主页地址:https://liblol.aosc.io + +系统快讯 +-------- + +### AOSC OS “合龙”工作圆满落幕 + +![AOSC OS 架构支持示意](/assets/news/coffee-break/20240210/imgs/port-tiers.zh-cn.png) + +龙年第一天,历时逾半年的龙架构移植已完成合并,正式“合龙”。考虑到维护者和社区好友间用户之众,且该架构软件生态已基本成熟,龙架构将正式升格为 AOSC OS 支持水平最高的一级架构。 + +年假期间,我们将对龙架构移植进行最后修缮,预计在年假内将发布龙架构的第一批稳定系统包,敬请期待! + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [Henry Chen](https://github.com/chenx97) +- [柴天浩](https://github.com/cthbleachbit) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [秦斐然](https://github.com/Nyovelt) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [SignKirigami](https://github.com/prcups) +- [王江津](https://github.com/RedL0tus) +- [王邈](https://github.com/shankerwangmiao) +- [Suyun](https://github.com/Suyun114) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [温柔](https://github.com/xunpod) + + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周五午间 12 时发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-02-13-springcon-2024-preview.md b/content/news/2024-02-13-springcon-2024-preview.md new file mode 100644 index 00000000..2b4e4091 --- /dev/null +++ b/content/news/2024-02-13-springcon-2024-preview.md @@ -0,0 +1,37 @@ +--- +categories: + - news +title: "首届年度“烙饼会”将于 2 月 15 日开幕" +date: 2024-02-13T22:19:13-08:00 +important: false + +--- +![社区年度烙饼会](/assets/news/coffee-break/20240226/imgs/aosc-springcon-2024.png) + +**农历新年在即,是时候筹划新一年的坑和白日梦了!** + +我们计划在 UTC+8 时间 2 月 15 日(农历初六)下午二时以视频会议的形式举办我社首届“烙饼会”,邀请社区各项目的主要贡献者介绍工作情况和未来一年的工作计划展望。 + +届时,各讲者将以“闪电秀”的形式,用 10 - 15 分钟的时间介绍各自参与的项目,并在介绍完毕后接受来自社区的提问;“烙饼会”也将于 Bilibili 和 YouTube 全程推流直播: + +- 白铭骢:AOSC OS 维护情况及特性计划综述、新网站建设及其他社区活动(“流浪相机”及 AOSCC 2024)等 + +- 陈嘉杰 (jiegec):AOSC OS 自动化维护框架之 BuildIt 及 Dickens + +- 傅孝元:新 AOSC OS 安装程序及 oma(小熊猫)包管理前端 + +- 刘子兴:Autobuild4、ACBS 及 Ciel 开发展望 + +- 杨欣辉:Devena 设备支持框架及 AOSC OS 初次启动向导 + +- 王江津:Spiral 泛 Debian 兼容性框架及系统更新摘要规范 + +参会前,请参阅 [AOSC 廿四年度烙饼会的参会信息、日程指南与注意事项 ](https://wiki.aosc.io/zh/community/springcon/2024/),帮助我们将第一届“烙饼会”办好,感谢! + +[腾讯会议参会链接 >> ](https://meeting.tencent.com/dm/z4b5FnLlBX63) + +[Bilibili 直播间 >> ](https://live.bilibili.com/30341581) + +[YouTube 直播间 >> ](https://youtube.com/live/olxw2rG7hZY) + +--- diff --git a/content/news/2024-02-13-springcon-2024-preview.zh-cn.md b/content/news/2024-02-13-springcon-2024-preview.zh-cn.md new file mode 100644 index 00000000..2b4e4091 --- /dev/null +++ b/content/news/2024-02-13-springcon-2024-preview.zh-cn.md @@ -0,0 +1,37 @@ +--- +categories: + - news +title: "首届年度“烙饼会”将于 2 月 15 日开幕" +date: 2024-02-13T22:19:13-08:00 +important: false + +--- +![社区年度烙饼会](/assets/news/coffee-break/20240226/imgs/aosc-springcon-2024.png) + +**农历新年在即,是时候筹划新一年的坑和白日梦了!** + +我们计划在 UTC+8 时间 2 月 15 日(农历初六)下午二时以视频会议的形式举办我社首届“烙饼会”,邀请社区各项目的主要贡献者介绍工作情况和未来一年的工作计划展望。 + +届时,各讲者将以“闪电秀”的形式,用 10 - 15 分钟的时间介绍各自参与的项目,并在介绍完毕后接受来自社区的提问;“烙饼会”也将于 Bilibili 和 YouTube 全程推流直播: + +- 白铭骢:AOSC OS 维护情况及特性计划综述、新网站建设及其他社区活动(“流浪相机”及 AOSCC 2024)等 + +- 陈嘉杰 (jiegec):AOSC OS 自动化维护框架之 BuildIt 及 Dickens + +- 傅孝元:新 AOSC OS 安装程序及 oma(小熊猫)包管理前端 + +- 刘子兴:Autobuild4、ACBS 及 Ciel 开发展望 + +- 杨欣辉:Devena 设备支持框架及 AOSC OS 初次启动向导 + +- 王江津:Spiral 泛 Debian 兼容性框架及系统更新摘要规范 + +参会前,请参阅 [AOSC 廿四年度烙饼会的参会信息、日程指南与注意事项 ](https://wiki.aosc.io/zh/community/springcon/2024/),帮助我们将第一届“烙饼会”办好,感谢! + +[腾讯会议参会链接 >> ](https://meeting.tencent.com/dm/z4b5FnLlBX63) + +[Bilibili 直播间 >> ](https://live.bilibili.com/30341581) + +[YouTube 直播间 >> ](https://youtube.com/live/olxw2rG7hZY) + +--- diff --git a/content/news/2024-02-15-aosc-os-loongarch64-release.md b/content/news/2024-02-15-aosc-os-loongarch64-release.md new file mode 100644 index 00000000..a9c6165b --- /dev/null +++ b/content/news/2024-02-15-aosc-os-loongarch64-release.md @@ -0,0 +1,18 @@ +--- +categories: + - news + - advisories +title: "2024-02-15: AOSC OS 龙架构版发布!" +date: 2024-02-15T22:19:13-08:00 +important: false + +--- +![AOSC OS 龙架构版发布!](/assets/news/coffee-break/20240226/imgs/aosc-os-loongarch64.png) + +今天,我们在龙芯开源社区论坛发布了 AOSC OS 的第一批龙架构稳定版系统,现可供下载,欢迎试用 + +AOSC OS 以“简明可靠”为设计及维护目标的,面向有一定 Linux 使用经验的用户,针对个人桌面设备优化体验,并致力于为用户提供开箱即用和简便可靠的工作环境 + +欲知有关龙架构版的系统特性、安装指南和已知问题等信息,请见龙芯开源社区论坛上的发布帖 + +[发布地址 >> ](https://bbs.loongarch.org/d/376-aosc-os) diff --git a/content/news/2024-02-15-aosc-os-loongarch64-release.zh-cn.md b/content/news/2024-02-15-aosc-os-loongarch64-release.zh-cn.md new file mode 100644 index 00000000..a9c6165b --- /dev/null +++ b/content/news/2024-02-15-aosc-os-loongarch64-release.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - news + - advisories +title: "2024-02-15: AOSC OS 龙架构版发布!" +date: 2024-02-15T22:19:13-08:00 +important: false + +--- +![AOSC OS 龙架构版发布!](/assets/news/coffee-break/20240226/imgs/aosc-os-loongarch64.png) + +今天,我们在龙芯开源社区论坛发布了 AOSC OS 的第一批龙架构稳定版系统,现可供下载,欢迎试用 + +AOSC OS 以“简明可靠”为设计及维护目标的,面向有一定 Linux 使用经验的用户,针对个人桌面设备优化体验,并致力于为用户提供开箱即用和简便可靠的工作环境 + +欲知有关龙架构版的系统特性、安装指南和已知问题等信息,请见龙芯开源社区论坛上的发布帖 + +[发布地址 >> ](https://bbs.loongarch.org/d/376-aosc-os) diff --git a/content/news/2024-02-20-aosc-springcon-questionnaire.md b/content/news/2024-02-20-aosc-springcon-questionnaire.md new file mode 100644 index 00000000..453e6da5 --- /dev/null +++ b/content/news/2024-02-20-aosc-springcon-questionnaire.md @@ -0,0 +1,27 @@ +--- +categories: + - minutes +title: "[直播回放] AOSC 廿四年烙饼会直播回放及反馈问卷" +date: 2024-02-20T22:19:13-08:00 +important: false + +--- +![社区年度烙饼会](/assets/news/coffee-break/20240226/imgs/aosc-springcon-2024.png) + +感谢各位参与第一届烙饼会! + +本届烙饼会属于试运行,除展示社区工作进展和计划、吸引社区贡献者外,亦有试验社区在线会议和外联工作的目的,会议过程如出现做得不足、不恰当的地方,还请多多包涵。 + +我们制作了烙饼会的直播录像,供大家观看。 + +[哔哩哔哩 >> ](https://www.bilibili.com/video/BV1Fj421X7gX) + +[YouTube >> ](https://www.youtube.com/watch?v=olxw2rG7hZY) + + +本匿名问卷用于收集社区对会务组织、活动效果等方面的反馈,您的意见将帮助我们将以后的活动办得更好,谢谢! + +> 此问卷已关闭 + + +[填写问卷 >> ](https://f.wps.cn/g/or3PsqPY/) diff --git a/content/news/2024-02-20-aosc-springcon-questionnaire.zh-cn.md b/content/news/2024-02-20-aosc-springcon-questionnaire.zh-cn.md new file mode 100644 index 00000000..21ade87b --- /dev/null +++ b/content/news/2024-02-20-aosc-springcon-questionnaire.zh-cn.md @@ -0,0 +1,26 @@ +--- +categories: + - minutes +title: "[直播回放] AOSC 廿四年烙饼会直播回放及反馈问卷" +date: 2024-02-20T22:19:13-08:00 +important: false + +--- +![社区年度烙饼会](/assets/news/coffee-break/20240226/imgs/aosc-springcon-2024.png) + +感谢各位参与第一届烙饼会! + +本届烙饼会属于试运行,除展示社区工作进展和计划、吸引社区贡献者外,亦有试验社区在线会议和外联工作的目的,会议过程如出现做得不足、不恰当的地方,还请多多包涵。 + +我们制作了烙饼会的直播录像,供大家观看。 + +[哔哩哔哩 >> ](https://www.bilibili.com/video/BV1Fj421X7gX) + +[YouTube >> ](https://www.youtube.com/watch?v=olxw2rG7hZY) + + +本匿名问卷用于收集社区对会务组织、活动效果等方面的反馈,您的意见将帮助我们将以后的活动办得更好,谢谢! + +> 此问卷已关闭 + +[填写问卷 >> ](https://f.wps.cn/g/or3PsqPY/) diff --git a/content/news/2024-02-20-new-loongarch64-build-server.md b/content/news/2024-02-20-new-loongarch64-build-server.md new file mode 100644 index 00000000..31b92a6b --- /dev/null +++ b/content/news/2024-02-20-new-loongarch64-build-server.md @@ -0,0 +1,17 @@ +--- +categories: + - news +title: "龙架构新构建服务器上线" +date: 2024-02-20T22:19:13-08:00 +important: false + +--- +![社区好友 Xinmudotmoe 贡献的龙架构构建服务器](/assets/news/coffee-break/20240226/imgs/loongarch64-server-dragonfly.png) + +近日,社区好友 [Xinmudotmoe](http://t.me/xm_moe) 为社区提供了一台龙芯 3C5000 服务器,助力我社 AOSC OS 龙架构移植的维护工作;该机器搭载 16 个核心和 128GiB 内存,更通过修改固件¹ 将处理器主频超到了 2.5GHz,一跃成为我社性能最高的龙架构编译服务器! + +再次感谢 Xinmudotmoe 的慷慨贡献! + +— + +¹ 考虑到目前超频的方案较为复杂,[Xinmudotmoe](http://t.me/xm_moe) 欢迎有兴趣的同学们联系交流! diff --git a/content/news/2024-02-20-new-loongarch64-build-server.zh-cn.md b/content/news/2024-02-20-new-loongarch64-build-server.zh-cn.md new file mode 100644 index 00000000..31b92a6b --- /dev/null +++ b/content/news/2024-02-20-new-loongarch64-build-server.zh-cn.md @@ -0,0 +1,17 @@ +--- +categories: + - news +title: "龙架构新构建服务器上线" +date: 2024-02-20T22:19:13-08:00 +important: false + +--- +![社区好友 Xinmudotmoe 贡献的龙架构构建服务器](/assets/news/coffee-break/20240226/imgs/loongarch64-server-dragonfly.png) + +近日,社区好友 [Xinmudotmoe](http://t.me/xm_moe) 为社区提供了一台龙芯 3C5000 服务器,助力我社 AOSC OS 龙架构移植的维护工作;该机器搭载 16 个核心和 128GiB 内存,更通过修改固件¹ 将处理器主频超到了 2.5GHz,一跃成为我社性能最高的龙架构编译服务器! + +再次感谢 Xinmudotmoe 的慷慨贡献! + +— + +¹ 考虑到目前超频的方案较为复杂,[Xinmudotmoe](http://t.me/xm_moe) 欢迎有兴趣的同学们联系交流! diff --git a/content/news/2024-02-23-aosc-os-repo-down.md b/content/news/2024-02-23-aosc-os-repo-down.md new file mode 100644 index 00000000..40dfdc3b --- /dev/null +++ b/content/news/2024-02-23-aosc-os-repo-down.md @@ -0,0 +1,10 @@ +--- +categories: + - advisories +title: "[已修复] AOSC OS 社区源服务器故障" +date: 2024-02-23T22:19:13-08:00 +important: true + +--- + +源服务器发生故障,无法访问,我们正在排查中! diff --git a/content/news/2024-02-23-aosc-os-repo-down.zh-cn.md b/content/news/2024-02-23-aosc-os-repo-down.zh-cn.md new file mode 100644 index 00000000..40dfdc3b --- /dev/null +++ b/content/news/2024-02-23-aosc-os-repo-down.zh-cn.md @@ -0,0 +1,10 @@ +--- +categories: + - advisories +title: "[已修复] AOSC OS 社区源服务器故障" +date: 2024-02-23T22:19:13-08:00 +important: true + +--- + +源服务器发生故障,无法访问,我们正在排查中! diff --git a/content/news/2024-02-23-aosc-os-repo-up.md b/content/news/2024-02-23-aosc-os-repo-up.md new file mode 100644 index 00000000..af7ac3e1 --- /dev/null +++ b/content/news/2024-02-23-aosc-os-repo-up.md @@ -0,0 +1,42 @@ +--- +categories: + - advisories +title: "AOSC OS 社区源服务器恢复服务" +date: 2024-02-23T22:19:13-08:00 +important: true + +--- + + +经抢修,服务器已恢复服务!以下是本次故障发生和修复的过程,以及反思和提问: + +**故障和排障过程** + +- 故障是由于 GRUB 引导器没有正确安装导致的 + +- 我们在通过 iLO(服务器为 HP ProLiant MicroServer Gen10 Plus)修复过程中键盘输入失灵,多次尝试无果后尝试重启了 iLO 固件 + +- iLO 固件由于默认配置了 DHCP,在重启后没有正确获取 IP 地址,导致无法远程访问 + +- 在与托管方沟通后,通过转发 Link Local 地址的方式恢复了访问 + +- 随后,我们通过 iLO 挂载 Debian mini.iso 启动,使用其修复功能 chroot 至 AOSC OS 系统根,重新安装了 GRUB 引导器 + +- 重启后故障排除,服务恢复 + +**反思** + +- 托管的服务器原则上应该同托管方协调设定静态 IP,以防 iLO 重启后失联 +- 应该研究 iPXE 镜像在 UEFI 上的可用性(iLO 的远程介质挂载启动功能也许也有问题) +- 在重启前应确保各关键组件的安装和配置情况 +- 应记录关键服务和网络设备配置以便提高恢复服务的功能,常用服务原则上应使用 systemd 服务记录 +- 应研究和验证 kexec 可用性及使用流程标准 +- LiveKit(包括后续通过主 GRUB 引导器启动的 RescueKit 镜像)在这种情况下由于体积过大难以修复问题,也许应该考虑开发最小化镜像以便完成此类排障工作(Debian 的 60MiB 在这种情况下也许都太大,更何况几个 GiB 的 LiveKit) + +**提问** + +- iLO 2.55 的镜像挂载(远程上传或 URL)是否工作? + +- 如 iLO 该版本的相关功能确实存在问题,是否应该考虑更新? + +- AOSC 是否有必要维护自己的远程服务修复介质? diff --git a/content/news/2024-02-23-aosc-os-repo-up.zh-cn.md b/content/news/2024-02-23-aosc-os-repo-up.zh-cn.md new file mode 100644 index 00000000..af7ac3e1 --- /dev/null +++ b/content/news/2024-02-23-aosc-os-repo-up.zh-cn.md @@ -0,0 +1,42 @@ +--- +categories: + - advisories +title: "AOSC OS 社区源服务器恢复服务" +date: 2024-02-23T22:19:13-08:00 +important: true + +--- + + +经抢修,服务器已恢复服务!以下是本次故障发生和修复的过程,以及反思和提问: + +**故障和排障过程** + +- 故障是由于 GRUB 引导器没有正确安装导致的 + +- 我们在通过 iLO(服务器为 HP ProLiant MicroServer Gen10 Plus)修复过程中键盘输入失灵,多次尝试无果后尝试重启了 iLO 固件 + +- iLO 固件由于默认配置了 DHCP,在重启后没有正确获取 IP 地址,导致无法远程访问 + +- 在与托管方沟通后,通过转发 Link Local 地址的方式恢复了访问 + +- 随后,我们通过 iLO 挂载 Debian mini.iso 启动,使用其修复功能 chroot 至 AOSC OS 系统根,重新安装了 GRUB 引导器 + +- 重启后故障排除,服务恢复 + +**反思** + +- 托管的服务器原则上应该同托管方协调设定静态 IP,以防 iLO 重启后失联 +- 应该研究 iPXE 镜像在 UEFI 上的可用性(iLO 的远程介质挂载启动功能也许也有问题) +- 在重启前应确保各关键组件的安装和配置情况 +- 应记录关键服务和网络设备配置以便提高恢复服务的功能,常用服务原则上应使用 systemd 服务记录 +- 应研究和验证 kexec 可用性及使用流程标准 +- LiveKit(包括后续通过主 GRUB 引导器启动的 RescueKit 镜像)在这种情况下由于体积过大难以修复问题,也许应该考虑开发最小化镜像以便完成此类排障工作(Debian 的 60MiB 在这种情况下也许都太大,更何况几个 GiB 的 LiveKit) + +**提问** + +- iLO 2.55 的镜像挂载(远程上传或 URL)是否工作? + +- 如 iLO 该版本的相关功能确实存在问题,是否应该考虑更新? + +- AOSC 是否有必要维护自己的远程服务修复介质? diff --git a/content/news/2024-02-26-aosc-os-repo-down.md b/content/news/2024-02-26-aosc-os-repo-down.md new file mode 100644 index 00000000..e24046c5 --- /dev/null +++ b/content/news/2024-02-26-aosc-os-repo-down.md @@ -0,0 +1,15 @@ +--- +categories: + - advisories +title: "[已修复] AOSC OS 软件源服务器故障:文件误删" +date: 2024-02-26T22:19:13-08:00 +important: true + +--- + + +![](../imgs/mirror-rm-rf.jpg) + +由于 @JeffBai 的操作失误,误删了软件包仓库(没错,整个 pool),目前正在从 TUNA 紧急恢复备份! + +目前软件源的同步服务已经暂停,如果您遇到软件包 404 或其他相关同步问题,属于已知情况,还请耐心等候恢复,抱歉! diff --git a/content/news/2024-02-26-aosc-os-repo-down.zh-cn.md b/content/news/2024-02-26-aosc-os-repo-down.zh-cn.md new file mode 100644 index 00000000..e24046c5 --- /dev/null +++ b/content/news/2024-02-26-aosc-os-repo-down.zh-cn.md @@ -0,0 +1,15 @@ +--- +categories: + - advisories +title: "[已修复] AOSC OS 软件源服务器故障:文件误删" +date: 2024-02-26T22:19:13-08:00 +important: true + +--- + + +![](../imgs/mirror-rm-rf.jpg) + +由于 @JeffBai 的操作失误,误删了软件包仓库(没错,整个 pool),目前正在从 TUNA 紧急恢复备份! + +目前软件源的同步服务已经暂停,如果您遇到软件包 404 或其他相关同步问题,属于已知情况,还请耐心等候恢复,抱歉! diff --git a/content/news/2024-02-26-coffee-break.md b/content/news/2024-02-26-coffee-break.md new file mode 100644 index 00000000..0dae5454 --- /dev/null +++ b/content/news/2024-02-26-coffee-break.md @@ -0,0 +1,135 @@ +--- +categories: + - journals +title: "安记冰室・二月下" +date: 2024-02-26T12:00:00+08:00 +important: false + +--- +> “龙年大吉!” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +社区脉动 +-------- + +### 廿四年“流浪相机”报名开放 + +三月中旬,我们计划参考 B 站 Up 主 [-LKs-](https://space.bilibili.com/125526/) 的“漂流相机”启动廿四年度“流浪相机”计划。本计划预先约定一套摄影器材,将一台由社区好友借用的相机寄出在参与者间接龙。参与者将自己选出的最优作品投稿,组成廿四年下半年壁纸集。 +目前,我们也已完成基本筹划工作,目前计划如下: + +- 器材:索尼 α7R V (ILCE-7RM5) 无反相机,搭配 SIGMA 45mm F2.8 DG DN Contemporary 镜头 +- 运行时长:半年,三月中启动,至九月中截止 +- 运行地区:中国大陆,含香港和澳门特别行政区 +- 参与方式:报名审阅制,仅限现有 AOSC 项目、壁纸投稿贡献者及上述贡献者信任的个人 + +本次“流浪相机”计划组织 20 人参与,给每位参与者一周时间接收相机、拍照和寄出相机。如无特殊情况,每位参与者在收到摄影设备后应在 5 天内完成拍照,然后寄出相机;如在时间安排上有特殊情况,请在流浪相机的组织群组(报名者会收到邀请)告知。我们将在 3 月 10 日报名截止后根据地理位置和个人情况进行排期 + +感谢您的报名! + +报名链接:https://f.wps.cn/g/fHeWYf29/ + +![亦可扫此二维码报名](/assets/news/coffee-break/20240226/imgs/roaming-camera-signup.png) + +### “烙饼会”直播录像发布 + +![社区年度烙饼会](/assets/news/coffee-break/20240226/imgs/aosc-springcon-2024.png) + +社区贡献者[温柔](https://github.com/xunpod)和[王江津](https://github.com/RedL0tus)分别在 Bilibili 和 YouTube 上发布了我社“烙饼会”的现场录像,欢迎观看。 + +- Bilibili:https://www.bilibili.com/video/BV1Fj421X7gX +- YouTube:https://www.youtube.com/watch?v=olxw2rG7hZY + +### 社区视频宣传计划 + +在 25 日的社区贡献者会议上,我们讨论了视频外宣工作的计划,达成了包括目标平台、栏目设计、导向和质量要求等的初步共识: + +- 初步计划三个视频栏目,其中中短篇幅的包括用户指南和重大特性宣传,长篇栏目有同校园社团、地方组织和企业代表的访谈视频 +- 视频发布平台包括到 Bilibili 和 YouTube,内容以中文为主 +- 目标受众为系统用户,指南视频主要提供解决方案,特性宣传主要介绍对用户使用体验的影响 + +未来几周中,社区贡献者[温柔](https://github.com/xunpod)将摸索制作和发布第一批短篇视频,敬请期待! + +### 龙架构新构建服务器上线 + +![社区好友 Xinmudotmoe 贡献的龙架构构建服务器](/assets/news/coffee-break/20240226/imgs/loongarch64-server-dragonfly.png) + +近日,社区好友 [Xinmudotmoe](http://t.me/xm_moe) 为社区提供了一台龙芯 3C5000 服务器,助力我社 AOSC OS 龙架构移植的维护工作;该机器搭载 16 个核心和 128GiB 内存,更通过修改固件[^1]将处理器主频超到了 2.5GHz,一跃成为我社性能最高的龙架构编译服务器。 + +再次感谢 Xinmudotmoe 的慷慨贡献! + +[^1]: 考虑到目前超频的方案较为复杂,[Xinmudotmoe](http://t.me/xm_moe) 欢迎有兴趣的同学们联系交流。 + +系统快讯 +-------- + +### AOSC OS 龙架构版发布! + +![AOSC OS 龙架构版发布!](/assets/news/coffee-break/20240226/imgs/aosc-os-loongarch64.png) + +日前,我们在龙芯开源社区论坛发布了 AOSC OS 的第一批龙架构稳定版系统,现可供下载,欢迎试用! + +AOSC OS 以“简明可靠”为设计及维护目标的,面向有一定 Linux 使用经验的用户,针对个人桌面设备优化体验,并致力于为用户提供开箱即用和简便可靠的工作环境。欲知有关龙架构版的系统特性、安装指南和已知问题等信息,请见龙芯开源社区论坛上的发布帖。 + +发布地址:https://bbs.loongarch.org/d/376-aosc-os + +### Debian/Ubuntu 软件兼容框架 Spiral 即将开放测试 + +![本 AOSC OS 具有超级牛力](/assets/news/coffee-break/20240226/imgs/spiral-cow-power.png) + +社区开发者[王江津](https://github.com/RedL0tus)近日完成了 Spiral 软件兼容框架的初步开发,可为 AOSC OS 提供为 Debian、Ubuntu 及各类衍生发行版(如 Loongnix 和统信 UOS)开发的商用软件的兼容性。 + +我们目前已针对各类常用软件,如金山 WPS for Linux、腾讯 QQ、搜狗拼音输入法、Google Chrome、Microsoft Edge 和 Spotify 等软件进行了适配,发现这些软件均工作良好。考虑到兼容性工程的工作量大和场景复杂,我们计划在未来两周内进一步完善各方面组件,并在时机合适时开放测试,供各位使用。 + +敬请期待! + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [柴天浩](https://github.com/cthbleachbit) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [秦斐然](https://github.com/Nyovelt) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [王江津](https://github.com/RedL0tus) +- [王邈](https://github.com/shankerwangmiao) +- [Suyun](https://github.com/Suyun114) +- [温柔](https://github.com/xunpod) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [skybird](https://github.com/SkyBird233) + + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周五午间 12 时发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-02-26-coffee-break.zh-cn.md b/content/news/2024-02-26-coffee-break.zh-cn.md new file mode 100644 index 00000000..044c6092 --- /dev/null +++ b/content/news/2024-02-26-coffee-break.zh-cn.md @@ -0,0 +1,134 @@ +--- +categories: + - journals +title: "安记冰室・二月下" +date: 2024-02-26T12:00:00+08:00 +important: false + +--- +> “龙年大吉!” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +社区脉动 +-------- + +### 廿四年“流浪相机”报名开放 + +三月中旬,我们计划参考 B 站 Up 主 [-LKs-](https://space.bilibili.com/125526/) 的“漂流相机”启动廿四年度“流浪相机”计划。本计划预先约定一套摄影器材,将一台由社区好友借用的相机寄出在参与者间接龙。参与者将自己选出的最优作品投稿,组成廿四年下半年壁纸集。 +目前,我们也已完成基本筹划工作,目前计划如下: + +- 器材:索尼 α7R V (ILCE-7RM5) 无反相机,搭配 SIGMA 45mm F2.8 DG DN Contemporary 镜头 +- 运行时长:半年,三月中启动,至九月中截止 +- 运行地区:中国大陆,含香港和澳门特别行政区 +- 参与方式:报名审阅制,仅限现有 AOSC 项目、壁纸投稿贡献者及上述贡献者信任的个人 + +本次“流浪相机”计划组织 20 人参与,给每位参与者一周时间接收相机、拍照和寄出相机。如无特殊情况,每位参与者在收到摄影设备后应在 5 天内完成拍照,然后寄出相机;如在时间安排上有特殊情况,请在流浪相机的组织群组(报名者会收到邀请)告知。我们将在 3 月 10 日报名截止后根据地理位置和个人情况进行排期 + +感谢您的报名! + +报名链接:https://f.wps.cn/g/fHeWYf29/ + +![亦可扫此二维码报名](/assets/news/coffee-break/20240226/imgs/roaming-camera-signup.png) + +### “烙饼会”直播录像发布 + +![社区年度烙饼会](/assets/news/coffee-break/20240226/imgs/aosc-springcon-2024.png) + +社区贡献者[温柔](https://github.com/xunpod)和[王江津](https://github.com/RedL0tus)分别在 Bilibili 和 YouTube 上发布了我社“烙饼会”的现场录像,欢迎观看。 + +- Bilibili:https://www.bilibili.com/video/BV1Fj421X7gX +- YouTube:https://www.youtube.com/watch?v=olxw2rG7hZY + +### 社区视频宣传计划 + +在 25 日的社区贡献者会议上,我们讨论了视频外宣工作的计划,达成了包括目标平台、栏目设计、导向和质量要求等的初步共识: + +- 初步计划三个视频栏目,其中中短篇幅的包括用户指南和重大特性宣传,长篇栏目有同校园社团、地方组织和企业代表的访谈视频 +- 视频发布平台包括到 Bilibili 和 YouTube,内容以中文为主 +- 目标受众为系统用户,指南视频主要提供解决方案,特性宣传主要介绍对用户使用体验的影响 + +未来几周中,社区贡献者[温柔](https://github.com/xunpod)将摸索制作和发布第一批短篇视频,敬请期待! + +### 龙架构新构建服务器上线 + +![社区好友 Xinmudotmoe 贡献的龙架构构建服务器](/assets/news/coffee-break/20240226/imgs/loongarch64-server-dragonfly.png) + +近日,社区好友 [Xinmudotmoe](http://t.me/xm_moe) 为社区提供了一台龙芯 3C5000 服务器,助力我社 AOSC OS 龙架构移植的维护工作;该机器搭载 16 个核心和 128GiB 内存,更通过修改固件[^1]将处理器主频超到了 2.5GHz,一跃成为我社性能最高的龙架构编译服务器。 + +再次感谢 Xinmudotmoe 的慷慨贡献! + +[^1]: 考虑到目前超频的方案较为复杂,[Xinmudotmoe](http://t.me/xm_moe) 欢迎有兴趣的同学们联系交流。 + +系统快讯 +-------- + +### AOSC OS 龙架构版发布! + +![AOSC OS 龙架构版发布!](/assets/news/coffee-break/20240226/imgs/aosc-os-loongarch64.png) + +日前,我们在龙芯开源社区论坛发布了 AOSC OS 的第一批龙架构稳定版系统,现可供下载,欢迎试用! + +AOSC OS 以“简明可靠”为设计及维护目标的,面向有一定 Linux 使用经验的用户,针对个人桌面设备优化体验,并致力于为用户提供开箱即用和简便可靠的工作环境。欲知有关龙架构版的系统特性、安装指南和已知问题等信息,请见龙芯开源社区论坛上的发布帖。 + +发布地址:https://bbs.loongarch.org/d/376-aosc-os + +### Debian/Ubuntu 软件兼容框架 Spiral 即将开放测试 + +![本 AOSC OS 具有超级牛力](/assets/news/coffee-break/20240226/imgs/spiral-cow-power.png) + +社区开发者[王江津](https://github.com/RedL0tus)近日完成了 Spiral 软件兼容框架的初步开发,可为 AOSC OS 提供为 Debian、Ubuntu 及各类衍生发行版(如 Loongnix 和统信 UOS)开发的商用软件的兼容性。 + +我们目前已针对各类常用软件,如金山 WPS for Linux、腾讯 QQ、搜狗拼音输入法、Google Chrome、Microsoft Edge 和 Spotify 等软件进行了适配,发现这些软件均工作良好。考虑到兼容性工程的工作量大和场景复杂,我们计划在未来两周内进一步完善各方面组件,并在时机合适时开放测试,供各位使用。 + +敬请期待! + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [柴天浩](https://github.com/cthbleachbit) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [秦斐然](https://github.com/Nyovelt) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [王江津](https://github.com/RedL0tus) +- [王邈](https://github.com/shankerwangmiao) +- [Suyun](https://github.com/Suyun114) +- [温柔](https://github.com/xunpod) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [skybird](https://github.com/SkyBird233) + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周五午间 12 时发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-02-26-roaming-camera-application-open.md b/content/news/2024-02-26-roaming-camera-application-open.md new file mode 100644 index 00000000..720a5c40 --- /dev/null +++ b/content/news/2024-02-26-roaming-camera-application-open.md @@ -0,0 +1,35 @@ +--- +categories: + - news +title: "廿四年“流浪相机”报名开放" +date: 2024-02-26T22:19:13-08:00 +important: false + +--- +![流浪相机——到远方去!](/assets/news/coffee-break/20240323/imgs/roaming-camera.png) + +三月中旬,我们计划参考 B 站 Up 主 [-LKs- ](https://space.bilibili.com/125526/) 的“漂流相机”启动廿四年度“流浪相机”计划 + +本计划预先约定一套摄影器材,将一台由社区好友借用的相机寄出在参与者间接龙;参与者将自己选出的最优作品投稿,组成廿四年下半年壁纸集 + +目前,我们已完成基本筹划工作,目前计划如下: + +- 器材:索尼 α7R V (ILCE-7RM5) 无反相机,搭配 SIGMA 45mm F2.8 DG DN Contemporary 镜头 + +- 运行时长:半年,三月中启动,至九月中截止 + +- 运行地区:中国大陆,含香港和澳门特别行政区 + +- 参与方式:报名审阅制,仅限现有 AOSC 项目、壁纸投稿贡献者及上述贡献者信任的个人 + +本次“流浪相机”计划组织 20 人参与,给每位参与者一周时间接收相机、拍照和寄出相机。 + +如无特殊情况,每位参与者在收到摄影设备后应在 5 天内完成拍照,然后寄出相机;如在时间安排上有特殊情况,请在流浪相机的组织群组(报名者会收到邀请)告知。 + +我们将在 3 月 10 日报名截止后根据地理位置和个人情况进行排期。 + +感谢您的报名! + +> 报名已结束 + +[报名链接>> ](https://f.wps.cn/g/fHeWYf29/) diff --git a/content/news/2024-02-26-roaming-camera-application-open.zh-cn.md b/content/news/2024-02-26-roaming-camera-application-open.zh-cn.md new file mode 100644 index 00000000..720a5c40 --- /dev/null +++ b/content/news/2024-02-26-roaming-camera-application-open.zh-cn.md @@ -0,0 +1,35 @@ +--- +categories: + - news +title: "廿四年“流浪相机”报名开放" +date: 2024-02-26T22:19:13-08:00 +important: false + +--- +![流浪相机——到远方去!](/assets/news/coffee-break/20240323/imgs/roaming-camera.png) + +三月中旬,我们计划参考 B 站 Up 主 [-LKs- ](https://space.bilibili.com/125526/) 的“漂流相机”启动廿四年度“流浪相机”计划 + +本计划预先约定一套摄影器材,将一台由社区好友借用的相机寄出在参与者间接龙;参与者将自己选出的最优作品投稿,组成廿四年下半年壁纸集 + +目前,我们已完成基本筹划工作,目前计划如下: + +- 器材:索尼 α7R V (ILCE-7RM5) 无反相机,搭配 SIGMA 45mm F2.8 DG DN Contemporary 镜头 + +- 运行时长:半年,三月中启动,至九月中截止 + +- 运行地区:中国大陆,含香港和澳门特别行政区 + +- 参与方式:报名审阅制,仅限现有 AOSC 项目、壁纸投稿贡献者及上述贡献者信任的个人 + +本次“流浪相机”计划组织 20 人参与,给每位参与者一周时间接收相机、拍照和寄出相机。 + +如无特殊情况,每位参与者在收到摄影设备后应在 5 天内完成拍照,然后寄出相机;如在时间安排上有特殊情况,请在流浪相机的组织群组(报名者会收到邀请)告知。 + +我们将在 3 月 10 日报名截止后根据地理位置和个人情况进行排期。 + +感谢您的报名! + +> 报名已结束 + +[报名链接>> ](https://f.wps.cn/g/fHeWYf29/) diff --git a/content/news/2024-02-27-aosc-os-repo-up.md b/content/news/2024-02-27-aosc-os-repo-up.md new file mode 100644 index 00000000..90b0536a --- /dev/null +++ b/content/news/2024-02-27-aosc-os-repo-up.md @@ -0,0 +1,55 @@ +--- +categories: + - advisories +title: "AOSC OS 软件源服务器恢复服务" +date: 2024-02-27T22:19:13-08:00 +important: true + +--- + +我们已成功通过 TUNA 恢复了先前误删的软件包,软件源服务器已恢复服务!以下是本次故障发生和修复的过程及反思: + +**故障原因** + +- 故障是由于 @JeffBai 操作时没有注意检查命令导致的,他当时本来希望运行 `cd /mirror/debs/pool` 查阅测试源列表,但是错误地输入了 `rm -r /mirror/debs/pool` + +- 此时,他以为是服务器 I/O 负载高(服务器使用机械硬盘,时有发生 I/O 饱和的情况),因此只是等待 + +- 大约一分钟后,发现是输入了错误命令,遂使用 `Ctrl+C` 停止 + +- 此时已有超过 `300GiB` 的文件被删除 + +**排障过程** + +首先,为防止误删故障波及其他软件源,立即停止了软件源扫描和同步服务: + +```bash +systemctl stop p-vector +systemctl stop p-vector.timer +systemctl stop p-vector.path +systemctl stop rsyncd +``` +考虑到 TUNA 镜像我社软件源较为频繁,选用了 TUNA 作为数据源进行恢复,命令如下: + +```bash +cd /mirror/debs/pool +rsync -avSHP rsync://mirrors.tuna.tsinghua.edu.cn/anthon/debs/pool/* . +``` +命令完成后,恢复服务: + +```bash +systemctl start p-vector +systemctl start p-vector.timer +systemctl start p-vector.path +systemctl start rsyncd +``` + +**反思** + +- 切勿在注意力不集中时操作关键业务服务器 + +- 已为所有用户添加了 rm 命令强制交互提示的别名(如下) + +```bash +alias rm='rm -i' +``` diff --git a/content/news/2024-02-27-aosc-os-repo-up.zh-cn.md b/content/news/2024-02-27-aosc-os-repo-up.zh-cn.md new file mode 100644 index 00000000..90b0536a --- /dev/null +++ b/content/news/2024-02-27-aosc-os-repo-up.zh-cn.md @@ -0,0 +1,55 @@ +--- +categories: + - advisories +title: "AOSC OS 软件源服务器恢复服务" +date: 2024-02-27T22:19:13-08:00 +important: true + +--- + +我们已成功通过 TUNA 恢复了先前误删的软件包,软件源服务器已恢复服务!以下是本次故障发生和修复的过程及反思: + +**故障原因** + +- 故障是由于 @JeffBai 操作时没有注意检查命令导致的,他当时本来希望运行 `cd /mirror/debs/pool` 查阅测试源列表,但是错误地输入了 `rm -r /mirror/debs/pool` + +- 此时,他以为是服务器 I/O 负载高(服务器使用机械硬盘,时有发生 I/O 饱和的情况),因此只是等待 + +- 大约一分钟后,发现是输入了错误命令,遂使用 `Ctrl+C` 停止 + +- 此时已有超过 `300GiB` 的文件被删除 + +**排障过程** + +首先,为防止误删故障波及其他软件源,立即停止了软件源扫描和同步服务: + +```bash +systemctl stop p-vector +systemctl stop p-vector.timer +systemctl stop p-vector.path +systemctl stop rsyncd +``` +考虑到 TUNA 镜像我社软件源较为频繁,选用了 TUNA 作为数据源进行恢复,命令如下: + +```bash +cd /mirror/debs/pool +rsync -avSHP rsync://mirrors.tuna.tsinghua.edu.cn/anthon/debs/pool/* . +``` +命令完成后,恢复服务: + +```bash +systemctl start p-vector +systemctl start p-vector.timer +systemctl start p-vector.path +systemctl start rsyncd +``` + +**反思** + +- 切勿在注意力不集中时操作关键业务服务器 + +- 已为所有用户添加了 rm 命令强制交互提示的别名(如下) + +```bash +alias rm='rm -i' +``` diff --git a/content/news/2024-03-01-new-loongarch64-build-server.md b/content/news/2024-03-01-new-loongarch64-build-server.md new file mode 100644 index 00000000..b966e84a --- /dev/null +++ b/content/news/2024-03-01-new-loongarch64-build-server.md @@ -0,0 +1,15 @@ +--- +categories: + - news +title: "龙架构新构建服务器上线" +date: 2024-03-01T22:19:13-08:00 +important: false + +--- +![](/assets/news/loong13.jpg) + +近日,来自我社 QQ 群的好友“龍丨逍雄琥”和“磨牙大辉郎”向社区捐赠了一台龙芯 3A5000 台式机,助力我社 AOSC OS 龙架构版本的移植维护工作;该机器根据捐赠者要求命名为“loong13”。 + +此外,感谢社区贡献者 @KatyushaScarlet 提供的 8GiB 内存,以及好友 @cola_net2000 提供的 512GB 固态硬盘和转接卡。 + +目前该机器已开始接收 [BuildIt!](https://github.com/AOSC-Dev/buildit) 自动化框架分配的编译打包任务。 diff --git a/content/news/2024-03-01-new-loongarch64-build-server.zh-cn.md b/content/news/2024-03-01-new-loongarch64-build-server.zh-cn.md new file mode 100644 index 00000000..a868ae50 --- /dev/null +++ b/content/news/2024-03-01-new-loongarch64-build-server.zh-cn.md @@ -0,0 +1,17 @@ +--- +categories: + - news +title: "龙架构新构建服务器上线" +date: 2024-03-01T22:19:13-08:00 +important: false + +--- +![](/assets/news/loong13.jpg) + +近日,来自我社 QQ 群的好友“龍丨逍雄琥”和“磨牙大辉郎”向社区捐赠了一台龙芯 3A5000 台式机,助力我社 AOSC OS 龙架构版本的移植维护工作;该机器根据捐赠者要求命名为“loong13”。 + +![](../imgs/loong13.jpg) + +此外,感谢社区贡献者 @KatyushaScarlet 提供的 8GiB 内存,以及好友 @cola_net2000 提供的 512GB 固态硬盘和转接卡。 + +目前该机器已开始接收 [BuildIt!](https://github.com/AOSC-Dev/buildit) 自动化框架分配的编译打包任务。 diff --git a/content/news/2024-03-06-aosc-os-loongarch64-release-update.md b/content/news/2024-03-06-aosc-os-loongarch64-release-update.md new file mode 100644 index 00000000..577eb077 --- /dev/null +++ b/content/news/2024-03-06-aosc-os-loongarch64-release-update.md @@ -0,0 +1,29 @@ +--- +categories: + - news +title: "AOSC OS 龙架构版本系统发行更新公告" +date: 2024-03-06T22:19:13-08:00 +important: false + +--- + +## 2024-03-06: AOSC OS 龙架构版本系统发行更新公告 + +![AOSC OS 龙架构版](/assets/news/coffee-break/20240309/imgs/aosc-os-loongarch64.png) + +龙架构版本发布系统发行更新:安装盘版本为 20240303,系统包版本为 20240304 + +[发布公告 >> ](https://bbs.loongarch.org/d/376-aosc-os) + +本次更新主要解决如下问题: + +・在较老的 AMD 显卡 (GCN 1/2) 上启动图形界面后画面锁死的问题 + +・在使用 7A 桥片集显时无法显示的问题 ¹ + +・华硕 XC-LS3A6M 主板第二个以太网接口 (RJ45) 无法使用的问题 + +— + +¹ 集显显示功能方面,考虑到目前 loongson 内核模块在某些主板上存在问题,暂时没有开启加速(使用 EFI Framebuffer 提供基础显示功能,类似 Windows 未安装显示驱动时的情况); +因此,如果您在使用集显时发现图形性能较差,此乃正常现象,我们依然推荐您使用 AMD 独立显卡安装和使用 AOSC OS。 diff --git a/content/news/2024-03-06-aosc-os-loongarch64-release-update.zh-cn.md b/content/news/2024-03-06-aosc-os-loongarch64-release-update.zh-cn.md new file mode 100644 index 00000000..d1b9ffbe --- /dev/null +++ b/content/news/2024-03-06-aosc-os-loongarch64-release-update.zh-cn.md @@ -0,0 +1,27 @@ +--- +categories: + - news +title: "AOSC OS 龙架构版本系统发行更新公告" +date: 2024-03-06T22:19:13-08:00 +important: false + +--- + +![AOSC OS 龙架构版](/assets/news/coffee-break/20240309/imgs/aosc-os-loongarch64.png) + +龙架构版本发布系统发行更新:安装盘版本为 20240303,系统包版本为 20240304 + +[发布公告 >> ](https://bbs.loongarch.org/d/376-aosc-os) + +本次更新主要解决如下问题: + +・在较老的 AMD 显卡 (GCN 1/2) 上启动图形界面后画面锁死的问题 + +・在使用 7A 桥片集显时无法显示的问题 ¹ + +・华硕 XC-LS3A6M 主板第二个以太网接口 (RJ45) 无法使用的问题 + +— + +¹ 集显显示功能方面,考虑到目前 loongson 内核模块在某些主板上存在问题,暂时没有开启加速(使用 EFI Framebuffer 提供基础显示功能,类似 Windows 未安装显示驱动时的情况); +因此,如果您在使用集显时发现图形性能较差,此乃正常现象,我们依然推荐您使用 AMD 独立显卡安装和使用 AOSC OS。 diff --git a/content/news/2024-03-06-new-amd64-build-server.md b/content/news/2024-03-06-new-amd64-build-server.md new file mode 100644 index 00000000..05c4afe0 --- /dev/null +++ b/content/news/2024-03-06-new-amd64-build-server.md @@ -0,0 +1,13 @@ +--- +categories: + - news +title: "x86 新构建服务器上线!" +date: 2024-03-06T22:19:13-08:00 +important: false + +--- +![](/assets/news/lcpu-x86.jpg) + +近日,[北京大学学生 Linux 俱乐部 (LCPU)](https://lcpu.club/) 为社区提供了一台 x86 服务器,助力我社 AOSC OS x86 (amd64, i486) 移植的维护工作;该服务器为虚拟机,分配 96 个核心和 384GiB 内存,是我社目前相对性能最高的构建服务器。 + +再次感谢北京大学学生 Linux 俱乐部的鼎力支持! diff --git a/content/news/2024-03-06-new-amd64-build-server.zh-cn.md b/content/news/2024-03-06-new-amd64-build-server.zh-cn.md new file mode 100644 index 00000000..05c4afe0 --- /dev/null +++ b/content/news/2024-03-06-new-amd64-build-server.zh-cn.md @@ -0,0 +1,13 @@ +--- +categories: + - news +title: "x86 新构建服务器上线!" +date: 2024-03-06T22:19:13-08:00 +important: false + +--- +![](/assets/news/lcpu-x86.jpg) + +近日,[北京大学学生 Linux 俱乐部 (LCPU)](https://lcpu.club/) 为社区提供了一台 x86 服务器,助力我社 AOSC OS x86 (amd64, i486) 移植的维护工作;该服务器为虚拟机,分配 96 个核心和 384GiB 内存,是我社目前相对性能最高的构建服务器。 + +再次感谢北京大学学生 Linux 俱乐部的鼎力支持! diff --git a/content/news/2024-03-07-new-loongarch64-build-server.md b/content/news/2024-03-07-new-loongarch64-build-server.md new file mode 100644 index 00000000..8a42dded --- /dev/null +++ b/content/news/2024-03-07-new-loongarch64-build-server.md @@ -0,0 +1,13 @@ +--- +categories: + - news +title: "龙架构新构建服务器上线" +date: 2024-03-07T22:19:13-08:00 +important: false + +--- +![](/assets/news/viperdesign.jpg) + +近日,社区好友蝰蛇设计 (Viperdesign) 提供了一台龙芯 3A6000 服务器,助力我社 AOSC OS 龙架构移植的维护工作;该服务器搭载 4 核 8 线程的龙芯 3A6000-HV 处理器及 32GiB 内存,目前该机器已开始接收 [BuildIt!](https://github.com/AOSC-Dev/buildit) 自动化框架分配的编译打包任务。 + +感谢蝰蛇设计对社区工作的大力支持! diff --git a/content/news/2024-03-07-new-loongarch64-build-server.zh-cn.md b/content/news/2024-03-07-new-loongarch64-build-server.zh-cn.md new file mode 100644 index 00000000..8a42dded --- /dev/null +++ b/content/news/2024-03-07-new-loongarch64-build-server.zh-cn.md @@ -0,0 +1,13 @@ +--- +categories: + - news +title: "龙架构新构建服务器上线" +date: 2024-03-07T22:19:13-08:00 +important: false + +--- +![](/assets/news/viperdesign.jpg) + +近日,社区好友蝰蛇设计 (Viperdesign) 提供了一台龙芯 3A6000 服务器,助力我社 AOSC OS 龙架构移植的维护工作;该服务器搭载 4 核 8 线程的龙芯 3A6000-HV 处理器及 32GiB 内存,目前该机器已开始接收 [BuildIt!](https://github.com/AOSC-Dev/buildit) 自动化框架分配的编译打包任务。 + +感谢蝰蛇设计对社区工作的大力支持! diff --git a/content/news/2024-03-09-coffee-break.md b/content/news/2024-03-09-coffee-break.md new file mode 100644 index 00000000..37b077bb --- /dev/null +++ b/content/news/2024-03-09-coffee-break.md @@ -0,0 +1,193 @@ +--- +categories: + - journals +title: "安记冰室・三月上" +date: 2024-03-09T12:00:00+08:00 +important: false + +--- + + +> “切一盘儿红肠儿——” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +社区脉动 +-------- + +### 廿四年“流浪相机”报名开放 + +三月中旬,我们计划参考 B 站 Up 主 [-LKs-](https://space.bilibili.com/125526/) 的“漂流相机”启动廿四年度“流浪相机”计划。本计划预先约定一套摄影器材,将一台由社区好友借用的相机寄出在参与者间接龙。参与者将自己选出的最优作品投稿,组成廿四年下半年壁纸集。 + +目前,我们也已完成基本筹划工作,目前计划如下: + +- 器材:索尼 α7R V (ILCE-7RM5) 无反相机,搭配 SIGMA 45mm F2.8 DG DN Contemporary 镜头 +- 运行时长:半年,三月中启动,至九月中截止 +- 运行地区:中国大陆,含香港和澳门特别行政区 +- 参与方式:报名审阅制,仅限现有 AOSC 项目、壁纸投稿贡献者及上述贡献者信任的个人 + +本次“流浪相机”计划组织 20 人参与,给每位参与者一周时间接收相机、拍照和寄出相机。如无特殊情况,每位参与者在收到摄影设备后应在 5 天内完成拍照,然后寄出相机;如在时间安排上有特殊情况,请在流浪相机的组织群组(报名者会收到邀请)告知。我们将在 3 月 10 日报名截止后根据地理位置和个人情况进行排期。 + +感谢您的报名! + +报名链接:https://f.wps.cn/g/fHeWYf29/ + +![亦可扫此二维码报名](/assets/news/coffee-break/20240309/imgs/roaming-camera-signup.png) + +### 三台新构建服务器上线 + +![社区新服务器](/assets/news/coffee-break/20240309/imgs/new-servers.jpg) + +过去两周,承蒙多位社区好友和组织的慷慨贡献,我社上线三台构建服务器,包括两台龙架构服务器和一台 x86 服务器。其中,由[北京大学学生 Linux 俱乐部 (LCPU)](https://lcpu.club/) 捐赠的 x86 服务器是目前我社相对性能最高的服务器。 + +以下是捐赠者名录: + +- 龙架构服务器 (loong13):“龍丨逍雄琥”和“磨牙大辉郎” +- 龙架构服务器 (viperdesign):“蝰蛇设计 (Viperdesign)” +- x86 服务器 (towards-modern-distro):北京大学学生 Linux 俱乐部 (LCPU) +- 内存 (8GiB):[王翔 (KatyushaScarlet)](https://github.com/KatyushaScarlet) +- 固态硬盘 (512GB):cola整体网路 + +感谢各位捐赠者对社区工作的大力支持! + +### libLoL 0.1.4 发布 + +近日,社区开发者[王邈](https://github.com/shankerwangmiao)发布了龙架构旧世界 ABI 兼容运行时 libLoL 的 0.1.4 版,新增一部分系统调用的备用 (fallback) 调用及 Glibc 的 `libanl`,`libutil` 和 `libnsl` 兼容库,可改善一部分应用的兼容性。为方便龙架构 Debian 用户安装使用 libLoL,我们开始提供 Debian 软件包,可通过 [libLoL 主页](https://liblol.aosc.io/docs/usage/#debian) 下载。 + +此外,我们开始系统性测试来自[龙芯应用合作社](http://app.loongapps.cn/)的各类旧世界软件的可用性,为兼容性或可用性存在问题的软件整理和发布修复方式,并对无法兼容的软件也编写了技术原因分析。欢迎各位浏览参考 [libLoL 应用兼容性数据库](https://liblol.aosc.io/docs/apps/)或为我们提供兼容性线索,感谢! + +系统快讯 +-------- + +### AOSC OS 发布三月龙架构版本系统发行更新 + +![AOSC OS 龙架构版](/assets/news/coffee-break/20240309/imgs/aosc-os-loongarch64.png) + +龙架构版本发布系统发行更新:安装盘版本为 20240303,系统包版本为 20240304。 + +发布公告:https://bbs.loongarch.org/d/376-aosc-os + +本次更新主要解决如下问题: + +- 在较老的 AMD 显卡 (GCN 1/2) 上启动图形界面后画面锁死的问题 +- 在使用 7A 桥片集显时无法显示的问题 +- 华硕 XC-LS3A6M 主板第二个以太网接口 (RJ45) 无法使用的问题 + +集显显示功能方面,考虑到目前 loongson 内核模块在某些主板上存在问题,暂时没有开启加速(使用 EFI Framebuffer 提供基础显示功能,类似 Windows 未安装显示驱动时的情况)。因此,如果您在使用集显时发现图形性能较差,此乃正常现象,我们依然推荐您使用 AMD 独立显卡安装和使用 AOSC OS。 + +### KDE Plasma 6 发布:AOSC OS 的 KDE 桌面环境更新与维护计划 + +![KDE Plasma 6 桌面截图](/assets/news/coffee-break/20240309/imgs/plasma-6.png) + +二月底,KDE 社区[发布了](https://kde.org/announcements/megarelease/6/) KDE Plasma 桌面环境的第六个大版本及配套应用程序和运行时库。该版本引入许多新特性、修复和设计更动,相信对社区许多关注桌面环境体验的朋友都有一定吸引力。考虑到许多社区用户询问了 AOSC OS 引入 KDE Plasma 6 桌面的计划,我们在这里简要介绍下引入和维护计划。 + +简单地说,我们计划引入 KDE Plasma 6 桌面环境的方式为:**长期维护,长期预览**。根据我社维护引入 KDE 5 的经验,KDE 桌面环境发布大版本后一般需要几个月时间才能解决各类较为明显的问题和特性缺失;因此,我们计划: + +- 在一段时间内继续默认提供 KDE 5 桌面,在 KDE Plasma 6 就绪前一直提供更新和修复 +- KDE Plasma 6 提供预览源,供用户和开发者测试 +- 在预览期间,贡献者对默认配置和体验等进行考察和打磨 + +关于许多用户关切的默认使用 X11 或 Wayland 的问题,我们计划在 KDE Plasma 6 发布后继续使用 X11 显示服务器,以期保障输入法、缩放及各类语音/视频类应用程序的兼容性;考虑到一部分用户对 Wayland 的偏好,我们将在软件源中提供 KDE Plasma 6 桌面的 Wayland 会话,但不会默认预装。 + +我们计划在未来两周发布 KDE Plasma 6 的测试更新,敬请期待! + +### LiveKit 加入安全启动 (Secure Boot) 支持提示 + +![LiveKit 启动时的安全启动提示](/assets/news/coffee-break/20240309/imgs/livekit-secure-boot-notice.png) + +社区开发者[王邈](https://github.com/shankerwangmiao)为 LiveKit 安装盘生成工具新增了安全启动 (Secure Boot) 支持提示,通过载入来自 Debian 的、经签名的 GRUB 引导器二进制,在开启安全启动功能的 x86 和 AArch64 设备上显示 AOSC OS 不支持安全启动的提示,并给出选项让用户返回 UEFI 设置界面修改相关选项。这一更改将有助于用户了解安全启动导致 AOSC OS 无法启动的原因和潜在解决方式(先前,由于这一部分组件的缺失,用户在开启安全启动的情况下,AOSC OS 无法报告这一问题;在用户视角,这一情况就像是 AOSC OS 由于引导数据损坏而启动失败了一样)。 + +根据微软知识库 Microsoft Learn 的[专题介绍](https://learn.microsoft.com/zh-cn/windows-hardware/design/device-experiences/oem-secure-boot),安全启动是: + +> 安全启动是电脑行业成员开发的一种安全标准,用于帮助确保设备仅使用受原始设备制造商 (OEM) 信任的软件进行启动。 当电脑启动时,固件会检查每个启动软件片段的签名,包括 UEFI 固件驱动程序(也称为 Option ROM¹)、EFI 应用程序和操作系统。 如果签名有效,则电脑将会启动,而固件会将控制权转递给操作系统。 + +¹ 编注:原文为“选项 ROM”,一般我们称之为 Option ROM 且无常用翻译,故修改原文。 + +理论上说,安全启动有助于改善计算机软件可信度,但由于绝大多数个人电脑厂商均只预装了来自微软的签名证书,除从微软处获得了有效签名的一部分较为知名的 Linux 发行版外,没有获得签名的第三方系统便无法在开启此功能的设备上启动了。 + +此外,考虑到签名所需的费用和对法律实体的需求(我社属于无实体的业余团体),安同开源社区没有获取此类签名证书的现实条件;虽然用户可以手动添加其信任的操作系统发行方的证书允许此类系统启动,但由于我社暂时没有能力维护安全的公钥签名体系,考虑到给用户带来的风险,我们暂无发布经签名的引导器和内核的计划。 + +因此,AOSC OS 在可见未来不会支持在开启安全启动的设备上启动和安装。 + +### Debian/Ubuntu 软件兼容框架 Spiral 开放测试 + +![本 AOSC OS 具有超级牛力](/assets/news/coffee-break/20240309/imgs/spiral-cow-power.png) + +社区开发者[王江津](https://github.com/RedL0tus)近日完成了 Spiral 软件兼容框架的初步开发,可为 AOSC OS 提供为 Debian、Ubuntu 及各类衍生发行版(如 Loongnix 和统信 UOS)开发的商用软件的兼容性。 + +我们目前已针对各类常用软件,如金山 WPS for Linux、腾讯 QQ、搜狗拼音输入法、Google Chrome、Microsoft Edge 和 Spotify 等软件进行了适配,发现这些软件均工作良好。目前我们已为 x86 和龙架构用户提供 `spiral-preview` 测试源进行测试。如果您希望测试 Spiral 框架,请以管理员身份在终端输入如下命令: + +``` +oma topics +``` + +并根据指示开启 `spiral-preview` 测试源,系统自动更新后方可安装和使用为 Debian/Ubuntu 及衍生系统开发的商业软件。考虑到兼容性工程的工作量大和场景复杂,Spiral 框架需要许多时间完善和测试。如果您在使用 Spiral 框架的过程中遇到任何问题,请与我们联系、报告问题,感谢! + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [Camber Huang](https://github.com/CamberLoid) +- [柴天浩](https://github.com/cthbleachbit) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [Outvi V](https://github.com/outloudvi) +- [SignKirigami](https://github.com/prcups) +- [王江津](https://github.com/RedL0tus) +- [王邈](https://github.com/shankerwangmiao) +- [skybird](https://github.com/SkyBird233) +- [Suyun](https://github.com/Suyun114) +- [温柔](https://github.com/xunpod) + +开发者角 +-------- + +### BuildIt v2 立项 + +[BuildIt!](https://github.com/AOSC-Dev/buildit) 打包自动化设施已投产数月,期间大幅度提高了 AOSC OS 维护效率和贡献者积极性。与此同时,该框架需求不断膨胀,复杂度日渐提高。“屎山”未起,社区开发者[陈嘉杰](https://github.com/jiegec)便计划开启 v2 版本开发工作,简化认证流程、增强任务跟踪和管理功能并通过引入用户角色和权限管理允许外部贡献者使用该设施。 + +日前,陈嘉杰发布了 BuildIt v2 的[设计文档](https://github.com/AOSC-Dev/buildit/blob/v2/DESIGN.md)和[愿景帖](https://github.com/AOSC-Dev/buildit/issues/8)。如果您有点子或意愿协助开发工作,请通过我社[各聊天群组](https://aosc.io/zh-cn/contact)与陈嘉杰联系。 + +### Dickens 软件包质量检查与报告工具投产 + +由社区开发者[陈嘉杰](https://github.com/jiegec) 开发的 [Dickens](https://github.com/AOSC-Dev/dickens) 自动质量检查与报告工具已投产,配合 [BuildIt!](https://github.com/AOSC-Dev/buildit) 打包自动化设施使用,可协助 AOSC OS 维护者了解软件包内容发生的变化、潜在质量问题等信息,让打包测试工作更轻松高效。 + +### libaosc-rs: AOSC 社区 Rust 项目通用组件库 + +近日,社区开发者[傅孝元](https://github.com/eatradish)发起了 [libaosc-rs](https://github.com/AOSC-Dev/libaosc-rs) 项目,旨在简化 AOSC 社区各类 Rust 语言工具的开发和维护工作,欢迎使用。 + +### Autobuild4 发布多个修补版本 + +至截稿时,社区打包工具 [Autobuild4](https://github.com/AOSC-Dev/autobuild4) 发布了第 29 个修补版本,改善了各类功能的可用性并增强了各类 [Autobuild3](https://github.com/AOSC-Dev/autobuild3) 功能。在多位开发者的努力下,Autobuild4 已成为社区的默认打包工具。 + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周五午间 12 时发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-03-09-coffee-break.zh-cn.md b/content/news/2024-03-09-coffee-break.zh-cn.md new file mode 100644 index 00000000..37e6b4da --- /dev/null +++ b/content/news/2024-03-09-coffee-break.zh-cn.md @@ -0,0 +1,194 @@ +--- +categories: + - journals +title: "安记冰室・三月上" +date: 2024-03-09T12:00:00+08:00 +important: false + +--- + + +> “切一盘儿红肠儿——” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +社区脉动 +-------- + +### 廿四年“流浪相机”报名开放 + +三月中旬,我们计划参考 B 站 Up 主 [-LKs-](https://space.bilibili.com/125526/) 的“漂流相机”启动廿四年度“流浪相机”计划。本计划预先约定一套摄影器材,将一台由社区好友借用的相机寄出在参与者间接龙。参与者将自己选出的最优作品投稿,组成廿四年下半年壁纸集。 + +目前,我们也已完成基本筹划工作,目前计划如下: + +- 器材:索尼 α7R V (ILCE-7RM5) 无反相机,搭配 SIGMA 45mm F2.8 DG DN Contemporary 镜头 +- 运行时长:半年,三月中启动,至九月中截止 +- 运行地区:中国大陆,含香港和澳门特别行政区 +- 参与方式:报名审阅制,仅限现有 AOSC 项目、壁纸投稿贡献者及上述贡献者信任的个人 + +本次“流浪相机”计划组织 20 人参与,给每位参与者一周时间接收相机、拍照和寄出相机。如无特殊情况,每位参与者在收到摄影设备后应在 5 天内完成拍照,然后寄出相机;如在时间安排上有特殊情况,请在流浪相机的组织群组(报名者会收到邀请)告知。我们将在 3 月 10 日报名截止后根据地理位置和个人情况进行排期。 + +感谢您的报名! + +报名链接:https://f.wps.cn/g/fHeWYf29/ + +![亦可扫此二维码报名](/assets/news/coffee-break/20240309/imgs/roaming-camera-signup.png) + +### 三台新构建服务器上线 + +![社区新服务器](/assets/news/coffee-break/20240309/imgs/new-servers.jpg) + +过去两周,承蒙多位社区好友和组织的慷慨贡献,我社上线三台构建服务器,包括两台龙架构服务器和一台 x86 服务器。其中,由[北京大学学生 Linux 俱乐部 (LCPU)](https://lcpu.club/) 捐赠的 x86 服务器是目前我社相对性能最高的服务器。 + +以下是捐赠者名录: + +- 龙架构服务器 (loong13):“龍丨逍雄琥”和“磨牙大辉郎” +- 龙架构服务器 (viperdesign):“蝰蛇设计 (Viperdesign)” +- x86 服务器 (towards-modern-distro):北京大学学生 Linux 俱乐部 (LCPU) +- 内存 (8GiB):[王翔 (KatyushaScarlet)](https://github.com/KatyushaScarlet) +- 固态硬盘 (512GB):cola整体网路 + +感谢各位捐赠者对社区工作的大力支持! + +### libLoL 0.1.4 发布 + +近日,社区开发者[王邈](https://github.com/shankerwangmiao)发布了龙架构旧世界 ABI 兼容运行时 libLoL 的 0.1.4 版,新增一部分系统调用的备用 (fallback) 调用及 Glibc 的 `libanl`,`libutil` 和 `libnsl` 兼容库,可改善一部分应用的兼容性。为方便龙架构 Debian 用户安装使用 libLoL,我们开始提供 Debian 软件包,可通过 [libLoL 主页](https://liblol.aosc.io/docs/usage/#debian) 下载。 + +此外,我们开始系统性测试来自[龙芯应用合作社](http://app.loongapps.cn/)的各类旧世界软件的可用性,为兼容性或可用性存在问题的软件整理和发布修复方式,并对无法兼容的软件也编写了技术原因分析。欢迎各位浏览参考 [libLoL 应用兼容性数据库](https://liblol.aosc.io/docs/apps/)或为我们提供兼容性线索,感谢! + +系统快讯 +-------- + +### AOSC OS 发布三月龙架构版本系统发行更新 + +![AOSC OS 龙架构版](/assets/news/coffee-break/20240309/imgs/aosc-os-loongarch64.png) + +龙架构版本发布系统发行更新:安装盘版本为 20240303,系统包版本为 20240304。 + +发布公告:https://bbs.loongarch.org/d/376-aosc-os + +本次更新主要解决如下问题: + +- 在较老的 AMD 显卡 (GCN 1/2) 上启动图形界面后画面锁死的问题 +- 在使用 7A 桥片集显时无法显示的问题 +- 华硕 XC-LS3A6M 主板第二个以太网接口 (RJ45) 无法使用的问题 + +集显显示功能方面,考虑到目前 loongson 内核模块在某些主板上存在问题,暂时没有开启加速(使用 EFI Framebuffer 提供基础显示功能,类似 Windows 未安装显示驱动时的情况)。因此,如果您在使用集显时发现图形性能较差,此乃正常现象,我们依然推荐您使用 AMD 独立显卡安装和使用 AOSC OS。 + +### KDE Plasma 6 发布:AOSC OS 的 KDE 桌面环境更新与维护计划 + +![KDE Plasma 6 桌面截图](/assets/news/coffee-break/20240309/imgs/plasma-6.png) + +二月底,KDE 社区[发布了](https://kde.org/announcements/megarelease/6/) KDE Plasma 桌面环境的第六个大版本及配套应用程序和运行时库。该版本引入许多新特性、修复和设计更动,相信对社区许多关注桌面环境体验的朋友都有一定吸引力。考虑到许多社区用户询问了 AOSC OS 引入 KDE Plasma 6 桌面的计划,我们在这里简要介绍下引入和维护计划。 + +简单地说,我们计划引入 KDE Plasma 6 桌面环境的方式为:**长期维护,长期预览**。根据我社维护引入 KDE 5 的经验,KDE 桌面环境发布大版本后一般需要几个月时间才能解决各类较为明显的问题和特性缺失;因此,我们计划: + +- 在一段时间内继续默认提供 KDE 5 桌面,在 KDE Plasma 6 就绪前一直提供更新和修复 +- KDE Plasma 6 提供预览源,供用户和开发者测试 +- 在预览期间,贡献者对默认配置和体验等进行考察和打磨 + +关于许多用户关切的默认使用 X11 或 Wayland 的问题,我们计划在 KDE Plasma 6 发布后继续使用 X11 显示服务器,以期保障输入法、缩放及各类语音/视频类应用程序的兼容性;考虑到一部分用户对 Wayland 的偏好,我们将在软件源中提供 KDE Plasma 6 桌面的 Wayland 会话,但不会默认预装。 + +我们计划在未来两周发布 KDE Plasma 6 的测试更新,敬请期待! + +### LiveKit 加入安全启动 (Secure Boot) 支持提示 + +![LiveKit 启动时的安全启动提示](/assets/news/coffee-break/20240309/imgs/livekit-secure-boot-notice.png) + +社区开发者[王邈](https://github.com/shankerwangmiao)为 LiveKit 安装盘生成工具新增了安全启动 (Secure Boot) 支持提示,通过载入来自 Debian 的、经签名的 GRUB 引导器二进制,在开启安全启动功能的 x86 和 AArch64 设备上显示 AOSC OS 不支持安全启动的提示,并给出选项让用户返回 UEFI 设置界面修改相关选项。这一更改将有助于用户了解安全启动导致 AOSC OS 无法启动的原因和潜在解决方式(先前,由于这一部分组件的缺失,用户在开启安全启动的情况下,AOSC OS 无法报告这一问题;在用户视角,这一情况就像是 AOSC OS 由于引导数据损坏而启动失败了一样)。 + +根据微软知识库 Microsoft Learn 的[专题介绍](https://learn.microsoft.com/zh-cn/windows-hardware/design/device-experiences/oem-secure-boot),安全启动是: + +> 安全启动是电脑行业成员开发的一种安全标准,用于帮助确保设备仅使用受原始设备制造商 (OEM) 信任的软件进行启动。 当电脑启动时,固件会检查每个启动软件片段的签名,包括 UEFI 固件驱动程序(也称为 Option ROM¹)、EFI 应用程序和操作系统。 如果签名有效,则电脑将会启动,而固件会将控制权转递给操作系统。 + +¹ 编注:原文为“选项 ROM”,一般我们称之为 Option ROM 且无常用翻译,故修改原文。 + +理论上说,安全启动有助于改善计算机软件可信度,但由于绝大多数个人电脑厂商均只预装了来自微软的签名证书,除从微软处获得了有效签名的一部分较为知名的 Linux 发行版外,没有获得签名的第三方系统便无法在开启此功能的设备上启动了。 + +此外,考虑到签名所需的费用和对法律实体的需求(我社属于无实体的业余团体),安同开源社区没有获取此类签名证书的现实条件;虽然用户可以手动添加其信任的操作系统发行方的证书允许此类系统启动,但由于我社暂时没有能力维护安全的公钥签名体系,考虑到给用户带来的风险,我们暂无发布经签名的引导器和内核的计划。 + +因此,AOSC OS 在可见未来不会支持在开启安全启动的设备上启动和安装。 + +### Debian/Ubuntu 软件兼容框架 Spiral 开放测试 + +![本 AOSC OS 具有超级牛力](/assets/news/coffee-break/20240309/imgs/spiral-cow-power.png) + +社区开发者[王江津](https://github.com/RedL0tus)近日完成了 Spiral 软件兼容框架的初步开发,可为 AOSC OS 提供为 Debian、Ubuntu 及各类衍生发行版(如 Loongnix 和统信 UOS)开发的商用软件的兼容性。 + +我们目前已针对各类常用软件,如金山 WPS for Linux、腾讯 QQ、搜狗拼音输入法、Google Chrome、Microsoft Edge 和 Spotify 等软件进行了适配,发现这些软件均工作良好。目前我们已为 x86 和龙架构用户提供 `spiral-preview` 测试源进行测试。如果您希望测试 Spiral 框架,请以管理员身份在终端输入如下命令: + +``` +oma topics +``` + +并根据指示开启 `spiral-preview` 测试源,系统自动更新后方可安装和使用为 Debian/Ubuntu 及衍生系统开发的商业软件。考虑到兼容性工程的工作量大和场景复杂,Spiral 框架需要许多时间完善和测试。如果您在使用 Spiral 框架的过程中遇到任何问题,请与我们联系、报告问题,感谢! + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [Camber Huang](https://github.com/CamberLoid) +- [柴天浩](https://github.com/cthbleachbit) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [Outvi V](https://github.com/outloudvi) +- [SignKirigami](https://github.com/prcups) +- [王江津](https://github.com/RedL0tus) +- [王邈](https://github.com/shankerwangmiao) +- [skybird](https://github.com/SkyBird233) +- [Suyun](https://github.com/Suyun114) +- [温柔](https://github.com/xunpod) + +开发者角 +-------- + +### BuildIt v2 立项 + +[BuildIt!](https://github.com/AOSC-Dev/buildit) 打包自动化设施已投产数月,期间大幅度提高了 AOSC OS 维护效率和贡献者积极性。与此同时,该框架需求不断膨胀,复杂度日渐提高。“屎山”未起,社区开发者[陈嘉杰](https://github.com/jiegec)便计划开启 v2 版本开发工作,简化认证流程、增强任务跟踪和管理功能并通过引入用户角色和权限管理允许外部贡献者使用该设施。 + +日前,陈嘉杰发布了 BuildIt v2 的[设计文档](https://github.com/AOSC-Dev/buildit/blob/v2/DESIGN.md)和[愿景帖](https://github.com/AOSC-Dev/buildit/issues/8)。如果您有点子或意愿协助开发工作,请通过我社[各聊天群组](https://aosc.io/zh-cn/contact)与陈嘉杰联系。 + +### Dickens 软件包质量检查与报告工具投产 + +由社区开发者[陈嘉杰](https://github.com/jiegec) 开发的 [Dickens](https://github.com/AOSC-Dev/dickens) 自动质量检查与报告工具已投产,配合 [BuildIt!](https://github.com/AOSC-Dev/buildit) 打包自动化设施使用,可协助 AOSC OS 维护者了解软件包内容发生的变化、潜在质量问题等信息,让打包测试工作更轻松高效。 + +### libaosc-rs: AOSC 社区 Rust 项目通用组件库 + +近日,社区开发者[傅孝元](https://github.com/eatradish)发起了 [libaosc-rs](https://github.com/AOSC-Dev/libaosc-rs) 项目,旨在简化 AOSC 社区各类 Rust 语言工具的开发和维护工作,欢迎使用。 + +### Autobuild4 发布多个修补版本 + +至截稿时,社区打包工具 [Autobuild4](https://github.com/AOSC-Dev/autobuild4) 发布了第 29 个修补版本,改善了各类功能的可用性并增强了各类 [Autobuild3](https://github.com/AOSC-Dev/autobuild3) 功能。在多位开发者的努力下,Autobuild4 已成为社区的默认打包工具。 + + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周五午间 12 时发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-03-17-pku-tuna-towards-modern-distro.md b/content/news/2024-03-17-pku-tuna-towards-modern-distro.md new file mode 100644 index 00000000..9d7f7708 --- /dev/null +++ b/content/news/2024-03-17-pku-tuna-towards-modern-distro.md @@ -0,0 +1,25 @@ +--- +categories: + - news +title: "发行版沙龙来啦!" +date: 2024-03-17T22:19:13-08:00 +important: false + +--- + + +由北京大学学生 Linux 俱乐部(LCPU)和清华大学 TUNA 协会联合举办的 Linux 发行版沙龙为您打开 Linux 发行版的大门! + +此次活动,社区创始人及维护者白铭骢将作为讲者,为大家分享《从 AOSC OS 浅谈发行版社区的日常、雄心和无奈》,敬请期待! + +[活动丨Linux 发行版的过去、当下和未来](https://mp.weixin.qq.com/s/2NUnod33fIS8tzDQ5msnIw) + +- 时间:2024 年 3 月 17 日晚,18:30 - 22:00 + +- 线下:北京大学第二教学楼地下,极客实验室 + +- 线上:[直播地址](https://lcpu.club/wiki/index.php?title=2024%E6%B4%BB%E5%8A%A8B01) + +> 直播已结束,[查看回放 >>](https://www.bilibili.com/video/BV1Vq421P7RP) + +直播已开启,[点击直达 >> ](https://www.youtube.com/watch?v=TOJdlx2TbYk) diff --git a/content/news/2024-03-17-pku-tuna-towards-modern-distro.zh-cn.md b/content/news/2024-03-17-pku-tuna-towards-modern-distro.zh-cn.md new file mode 100644 index 00000000..43d09fbe --- /dev/null +++ b/content/news/2024-03-17-pku-tuna-towards-modern-distro.zh-cn.md @@ -0,0 +1,24 @@ +--- +categories: + - news +title: "发行版沙龙来啦!" +date: 2024-03-17T22:19:13-08:00 +important: false + +--- + +由北京大学学生 Linux 俱乐部(LCPU)和清华大学 TUNA 协会联合举办的 Linux 发行版沙龙为您打开 Linux 发行版的大门! + +此次活动,社区创始人及维护者白铭骢将作为讲者,为大家分享《从 AOSC OS 浅谈发行版社区的日常、雄心和无奈》,敬请期待! + +[活动丨Linux 发行版的过去、当下和未来](https://mp.weixin.qq.com/s/2NUnod33fIS8tzDQ5msnIw) + +- 时间:2024 年 3 月 17 日晚,18:30 - 22:00 + +- 线下:北京大学第二教学楼地下,极客实验室 + +- 线上:[直播地址](https://lcpu.club/wiki/index.php?title=2024%E6%B4%BB%E5%8A%A8B01) + +> 直播已结束,[查看回放 >>](https://www.bilibili.com/video/BV1Vq421P7RP) + +直播已开启,[点击直达 >> ](https://www.youtube.com/watch?v=TOJdlx2TbYk) diff --git a/content/news/2024-03-20-qfnu-computing-evolved.md b/content/news/2024-03-20-qfnu-computing-evolved.md new file mode 100644 index 00000000..768aa013 --- /dev/null +++ b/content/news/2024-03-20-qfnu-computing-evolved.md @@ -0,0 +1,26 @@ +--- +categories: + - news +title: "安同曲阜师大行:计算进化!" +date: 2024-03-20T22:19:13-08:00 +important: false + +--- + +![](/assets/news/2024-03-20-qfnu-computing-evolved.jpg) + +**社区 · 开源 · 信创** + +爱好者社区如何与信创事业双向奔赴? +开源如何助力软硬件生态发展? +国产芯片未来走向何方? + +社区携手曲阜师范大学计算机爱好者协会,精彩呈现! + +- 时间:2024/3/20 下午2:30 + +- 地点:曲阜师范大学 + +- 直播:[@安同开源社区](https://live.bilibili.com/30341581) [@QFNU-ACE](https://live.bilibili.com/30979773) + +> 直播已结束,[查看回放](https://www.bilibili.com/video/BV1Vq421P7RP) diff --git a/content/news/2024-03-20-qfnu-computing-evolved.zh-cn.md b/content/news/2024-03-20-qfnu-computing-evolved.zh-cn.md new file mode 100644 index 00000000..768aa013 --- /dev/null +++ b/content/news/2024-03-20-qfnu-computing-evolved.zh-cn.md @@ -0,0 +1,26 @@ +--- +categories: + - news +title: "安同曲阜师大行:计算进化!" +date: 2024-03-20T22:19:13-08:00 +important: false + +--- + +![](/assets/news/2024-03-20-qfnu-computing-evolved.jpg) + +**社区 · 开源 · 信创** + +爱好者社区如何与信创事业双向奔赴? +开源如何助力软硬件生态发展? +国产芯片未来走向何方? + +社区携手曲阜师范大学计算机爱好者协会,精彩呈现! + +- 时间:2024/3/20 下午2:30 + +- 地点:曲阜师范大学 + +- 直播:[@安同开源社区](https://live.bilibili.com/30341581) [@QFNU-ACE](https://live.bilibili.com/30979773) + +> 直播已结束,[查看回放](https://www.bilibili.com/video/BV1Vq421P7RP) diff --git a/content/news/2024-03-20-unwanted-dependencies.md b/content/news/2024-03-20-unwanted-dependencies.md new file mode 100644 index 00000000..b33f606e --- /dev/null +++ b/content/news/2024-03-20-unwanted-dependencies.md @@ -0,0 +1,16 @@ +--- +categories: + - advisories +title: "[已修复] 近期更新引入了不必要的依赖" +date: 2024-03-20T22:19:13-08:00 +important: true + +--- + +由于维护者的失误,导致近期的 suitesparse 软件包更新为 amd64 和 arm64 架构引入了作为强依赖的 CUDA 运行时和 NVIDIA 驱动程序。我们为此深表歉意,请大家暂时不要更新系统,等待我们为该软件包推送修复。如果您已经更新系统,也请耐心等待。 + +在修复推送之后,您可以执行如下命令以更新系统,并删除不必要的依赖: + +```bash +oma upgrade +``` diff --git a/content/news/2024-03-20-unwanted-dependencies.zh-cn.md b/content/news/2024-03-20-unwanted-dependencies.zh-cn.md new file mode 100644 index 00000000..b33f606e --- /dev/null +++ b/content/news/2024-03-20-unwanted-dependencies.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - advisories +title: "[已修复] 近期更新引入了不必要的依赖" +date: 2024-03-20T22:19:13-08:00 +important: true + +--- + +由于维护者的失误,导致近期的 suitesparse 软件包更新为 amd64 和 arm64 架构引入了作为强依赖的 CUDA 运行时和 NVIDIA 驱动程序。我们为此深表歉意,请大家暂时不要更新系统,等待我们为该软件包推送修复。如果您已经更新系统,也请耐心等待。 + +在修复推送之后,您可以执行如下命令以更新系统,并删除不必要的依赖: + +```bash +oma upgrade +``` diff --git a/content/news/2024-03-23-coffee-break.md b/content/news/2024-03-23-coffee-break.md new file mode 100644 index 00000000..33cdf0b8 --- /dev/null +++ b/content/news/2024-03-23-coffee-break.md @@ -0,0 +1,139 @@ +--- +categories: + - journals +title: "安记冰室・三月下" +date: 2024-03-23T12:00:00+08:00 +important: false + +--- + + +> “鱼丸,鱼丸,卖鱼丸——” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +社区脉动 +-------- + +### libLoL 0.1.5 开放测试 + +![libLoL 伴您畅游新世界](/assets/news/coffee-break/20240323/imgs/liblol.png) + +近日,社区开发者[王邈](https://github.com/shankerwangmiao)发布了龙架构旧世界 ABI 兼容运行时 libLoL 的 0.1.5~pre6 版:Glibc 版本更新至 2.39,编译时新增 ABI 及符号完整性检查,并将 `libcrypt` 库实现更改为 `libxcrypt`。这些更改的主要目的是避免潜在的兼容性问题。 + +AOSC OS 用户可通过如下命令打开 `liblol-0.1.5` 测试源进行测试: + +```bash +oma topics --opt-in liblol-0.1.5 +``` + +如果您在测试 libLoL 0.1.5 的过程中发现问题或遇到困难,请通过社区[各聊天群组](https://aosc.io/zh-cn/contact/)或[社区论坛](https://bbs.aosc.io/)与联系我们。 + +### 廿四年“流浪相机”活动周一启航 + +![流浪相机——到远方去!](/assets/news/coffee-break/20240323/imgs/roaming-camera.png) + +经过近期筹备,“流浪相机”活动将于下周一(3 月 25 日)正式启动,期间将在 10 名参与者间传递,范围囊括中国多个省市与香港特别行政区。此外,根据参与者的意见,我们还准备了一本参与者留言簿,并将于活动结束后整理和发布相册供社区好友订购。 + +我们将于活动期间定期发布各位参与者的作品,敬请期待! + +### 社区参加两场外联活动 + +![白铭骢介绍社区历史](/assets/news/coffee-break/20240323/imgs/lcpu-mingcongbai.jpg) + +三月中,[白铭骢](https://github.com/MingcongBai)代表社区参加了两场外联活动,它们分别是由北大 Linux 俱乐部 (LCPU) 联合清华大学 TUNA 协会举办的“走向现代发行版 (Towards Modern Distro)”和曲阜师范大学计算机协会 (QFNU-ACE) 举办的“计算进化:安同曲阜师大行”。 + +其中,在“走向现代发行版”活动中,白铭骢以“包工、搅屎棍与大佬:安同 OS 的开发日常、雄心与无奈”为题介绍了社区工作、未来规划,并对当前志愿社区的现状和同企业单位的合作进行了简要讨论;在“计算进化:安同曲阜师大行”活动中,向曲阜师范大学计算机协会的同学们介绍了社区的历史与当前任务,并鼓励社团同学参与到社区的工作中来。我们希望这些活动能增进计算机爱好者与社团对我社工作的了解,并以此为契机吸引更多贡献者参与到社区工作中。 + +两场活动均有直播,目前回放正在剪辑中;届时我们将另行发布新闻稿。 + +系统快讯 +-------- + +### AOSC OS 即将推送 Debian/Ubuntu 兼容性更新 + +![Spiral 超级牛力!](/assets/news/coffee-break/20240323/imgs/spiral-cow-power.png) + +经过近两个月的公开测试,Spiral 兼容性框架在用户间的反响良好,测试中亦发现可以正常安装运行诸如金山 WPS for Linux、腾讯 QQ、微信、Google Chrome、Microsoft Edge 和 Spotify 等常用软件。据此,我们计划在未来数日内向稳定源推送 Debian/Ubuntu 兼容性更新。安装更新后,您将可以直接安装诸如上述软件的官方 .deb 软件包。 + +敬请期待! + +### KDE 5 三月更新开放公测 + +![KDE 5 系统属性](/assets/news/coffee-break/20240323/imgs/aosc-os-kinfocenter-202403.png) + +二月底 KDE Plasma 6 桌面环境发布后,KDE 5 的官方维护也临近尾声。考虑到 KDE Plasma 6 体验目前尚未成熟,我们对 KDE 5 桌面组件进行了最后一次更新检查,以期纳入各类特性和修复。目前我们已为一级架构推送了相关测试更新,请通过如下命令打开 KDE 5 三月更新(`kde-survey-20240304`) 测试源: + +```bash +oma topics --opt-in kde-survey-20240304 +``` + +如果您在测试 KDE 5 三月更新的过程中发现问题或遇到困难,请通过社区[各聊天群组](https://aosc.io/zh-cn/contact/)或[社区论坛](https://bbs.aosc.io/)与联系我们。 + +开发者角 +-------- + +### BuildIt v2 投产 + +近日,社区开发者[陈嘉杰](https://github.com/jiegec)完成了 v2 的初步开发工作,引入了诸如任务跟踪和管理功能、网页管理功能和构建机配置要求等功能,目前已在生产测试中。 + +先前,陈嘉杰发布了 BuildIt v2 的[设计文档](https://github.com/AOSC-Dev/buildit/blob/v2/DESIGN.md)和[愿景帖](https://github.com/AOSC-Dev/buildit/issues/8),目前仍有不少特性有待实现。如果您有意愿协助开发工作,请通过我社[各聊天群组](https://aosc.io/zh-cn/contact)与陈嘉杰联系。 + +### Autobuild 4.1 分支发布 + +伴随着 Spiral 兼容性框架初步测试的结束,[Autobuild](https://github.com/AOSC-Dev/autobuild4) 也合并了 Spiral 相关的标记功能,并发布了 4.1 系列的新版本。初版 Spiral 支持标记如下兼容包名: + +- 共享库(如 `libc6` 和 `libc-dev` 等) +- GObject-Introspection Typelibs(如 `gir1.2-gnomekeyring-1.0` 等) +- Python 模块(如 `python3-setuptools` 等) + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [柴天浩](https://github.com/cthbleachbit) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [Outvi V](https://github.com/outloudvi) +- [王江津](https://github.com/RedL0tus) +- [王邈](https://github.com/shankerwangmiao) +- [skybird](https://github.com/SkyBird233) +- [Suyun](https://github.com/Suyun114) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [leavelet](https://github.com/leavelet) +- [shatian114](https://github.com/shatian114) + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-03-23-coffee-break.zh-cn.md b/content/news/2024-03-23-coffee-break.zh-cn.md new file mode 100644 index 00000000..3677d6cc --- /dev/null +++ b/content/news/2024-03-23-coffee-break.zh-cn.md @@ -0,0 +1,140 @@ +--- +categories: + - journals +title: "安记冰室・三月下" +date: 2024-03-23T12:00:00+08:00 +important: false + +--- + + +> “鱼丸,鱼丸,卖鱼丸——” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +社区脉动 +-------- + +### libLoL 0.1.5 开放测试 + +![libLoL 伴您畅游新世界](/assets/news/coffee-break/20240323/imgs/liblol.png) + +近日,社区开发者[王邈](https://github.com/shankerwangmiao)发布了龙架构旧世界 ABI 兼容运行时 libLoL 的 0.1.5~pre6 版:Glibc 版本更新至 2.39,编译时新增 ABI 及符号完整性检查,并将 `libcrypt` 库实现更改为 `libxcrypt`。这些更改的主要目的是避免潜在的兼容性问题。 + +AOSC OS 用户可通过如下命令打开 `liblol-0.1.5` 测试源进行测试: + +```bash +oma topics --opt-in liblol-0.1.5 +``` + +如果您在测试 libLoL 0.1.5 的过程中发现问题或遇到困难,请通过社区[各聊天群组](https://aosc.io/zh-cn/contact/)或[社区论坛](https://bbs.aosc.io/)与联系我们。 + +### 廿四年“流浪相机”活动周一启航 + +![流浪相机——到远方去!](/assets/news/coffee-break/20240323/imgs/roaming-camera.png) + +经过近期筹备,“流浪相机”活动将于下周一(3 月 25 日)正式启动,期间将在 10 名参与者间传递,范围囊括中国多个省市与香港特别行政区。此外,根据参与者的意见,我们还准备了一本参与者留言簿,并将于活动结束后整理和发布相册供社区好友订购。 + +我们将于活动期间定期发布各位参与者的作品,敬请期待! + +### 社区参加两场外联活动 + +![白铭骢介绍社区历史](/assets/news/coffee-break/20240323/imgs/lcpu-mingcongbai.jpg) + +三月中,[白铭骢](https://github.com/MingcongBai)代表社区参加了两场外联活动,它们分别是由北大 Linux 俱乐部 (LCPU) 联合清华大学 TUNA 协会举办的“走向现代发行版 (Towards Modern Distro)”和曲阜师范大学计算机协会 (QFNU-ACE) 举办的“计算进化:安同曲阜师大行”。 + +其中,在“走向现代发行版”活动中,白铭骢以“包工、搅屎棍与大佬:安同 OS 的开发日常、雄心与无奈”为题介绍了社区工作、未来规划,并对当前志愿社区的现状和同企业单位的合作进行了简要讨论;在“计算进化:安同曲阜师大行”活动中,向曲阜师范大学计算机协会的同学们介绍了社区的历史与当前任务,并鼓励社团同学参与到社区的工作中来。我们希望这些活动能增进计算机爱好者与社团对我社工作的了解,并以此为契机吸引更多贡献者参与到社区工作中。 + +两场活动均有直播,目前回放正在剪辑中;届时我们将另行发布新闻稿。 + +系统快讯 +-------- + +### AOSC OS 即将推送 Debian/Ubuntu 兼容性更新 + +![Spiral 超级牛力!](/assets/news/coffee-break/20240323/imgs/spiral-cow-power.png) + +经过近两个月的公开测试,Spiral 兼容性框架在用户间的反响良好,测试中亦发现可以正常安装运行诸如金山 WPS for Linux、腾讯 QQ、微信、Google Chrome、Microsoft Edge 和 Spotify 等常用软件。据此,我们计划在未来数日内向稳定源推送 Debian/Ubuntu 兼容性更新。安装更新后,您将可以直接安装诸如上述软件的官方 .deb 软件包。 + +敬请期待! + +### KDE 5 三月更新开放公测 + +![KDE 5 系统属性](/assets/news/coffee-break/20240323/imgs/aosc-os-kinfocenter-202403.png) + +二月底 KDE Plasma 6 桌面环境发布后,KDE 5 的官方维护也临近尾声。考虑到 KDE Plasma 6 体验目前尚未成熟,我们对 KDE 5 桌面组件进行了最后一次更新检查,以期纳入各类特性和修复。目前我们已为一级架构推送了相关测试更新,请通过如下命令打开 KDE 5 三月更新(`kde-survey-20240304`) 测试源: + +```bash +oma topics --opt-in kde-survey-20240304 +``` + +如果您在测试 KDE 5 三月更新的过程中发现问题或遇到困难,请通过社区[各聊天群组](https://aosc.io/zh-cn/contact/)或[社区论坛](https://bbs.aosc.io/)与联系我们。 + +开发者角 +-------- + +### BuildIt v2 投产 + +近日,社区开发者[陈嘉杰](https://github.com/jiegec)完成了 v2 的初步开发工作,引入了诸如任务跟踪和管理功能、网页管理功能和构建机配置要求等功能,目前已在生产测试中。 + +先前,陈嘉杰发布了 BuildIt v2 的[设计文档](https://github.com/AOSC-Dev/buildit/blob/v2/DESIGN.md)和[愿景帖](https://github.com/AOSC-Dev/buildit/issues/8),目前仍有不少特性有待实现。如果您有意愿协助开发工作,请通过我社[各聊天群组](https://aosc.io/zh-cn/contact)与陈嘉杰联系。 + +### Autobuild 4.1 分支发布 + +伴随着 Spiral 兼容性框架初步测试的结束,[Autobuild](https://github.com/AOSC-Dev/autobuild4) 也合并了 Spiral 相关的标记功能,并发布了 4.1 系列的新版本。初版 Spiral 支持标记如下兼容包名: + +- 共享库(如 `libc6` 和 `libc-dev` 等) +- GObject-Introspection Typelibs(如 `gir1.2-gnomekeyring-1.0` 等) +- Python 模块(如 `python3-setuptools` 等) + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [柴天浩](https://github.com/cthbleachbit) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [Outvi V](https://github.com/outloudvi) +- [王江津](https://github.com/RedL0tus) +- [王邈](https://github.com/shankerwangmiao) +- [skybird](https://github.com/SkyBird233) +- [Suyun](https://github.com/Suyun114) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [leavelet](https://github.com/leavelet) +- [shatian114](https://github.com/shatian114) + + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-03-27-qfnu-computing-evolved-vod.md b/content/news/2024-03-27-qfnu-computing-evolved-vod.md new file mode 100644 index 00000000..b6ca16b9 --- /dev/null +++ b/content/news/2024-03-27-qfnu-computing-evolved-vod.md @@ -0,0 +1,18 @@ +--- +categories: + - news +title: "[直播回放] 安同曲阜师大行:计算进化!" +date: 2024-03-27T22:19:13-08:00 +important: false + +--- + +![](/assets/news/2024-03-20-qfnu-computing-evolved.jpg) + +3 月 20 日,社区与曲阜师范大学计算机协会 (QFNU-ACE) 联合举办了名为“计算进化:安同曲阜师大行”的交流活动。 + +本次活动中,三位来自社区的讲者向曲阜师范大学计算机协会的同学们介绍了社区的历史与当前任务,也分享了龙架构社区建设和发行版维护工作的经验体会。 + +我们希望通过介绍社区工作的灵活性、社会性和机遇增进计算机爱好者与社团对社区工作的了解,并以此为契机吸引更多贡献者参与到社区工作中。 + +本次活动的直播录像已制作完成,[点此观看 >> ](https://www.bilibili.com/video/BV1Vq421P7RP) diff --git a/content/news/2024-03-27-qfnu-computing-evolved-vod.zh-cn.md b/content/news/2024-03-27-qfnu-computing-evolved-vod.zh-cn.md new file mode 100644 index 00000000..b6ca16b9 --- /dev/null +++ b/content/news/2024-03-27-qfnu-computing-evolved-vod.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - news +title: "[直播回放] 安同曲阜师大行:计算进化!" +date: 2024-03-27T22:19:13-08:00 +important: false + +--- + +![](/assets/news/2024-03-20-qfnu-computing-evolved.jpg) + +3 月 20 日,社区与曲阜师范大学计算机协会 (QFNU-ACE) 联合举办了名为“计算进化:安同曲阜师大行”的交流活动。 + +本次活动中,三位来自社区的讲者向曲阜师范大学计算机协会的同学们介绍了社区的历史与当前任务,也分享了龙架构社区建设和发行版维护工作的经验体会。 + +我们希望通过介绍社区工作的灵活性、社会性和机遇增进计算机爱好者与社团对社区工作的了解,并以此为契机吸引更多贡献者参与到社区工作中。 + +本次活动的直播录像已制作完成,[点此观看 >> ](https://www.bilibili.com/video/BV1Vq421P7RP) diff --git a/content/news/2024-03-27-spiral.md b/content/news/2024-03-27-spiral.md new file mode 100644 index 00000000..5b37558f --- /dev/null +++ b/content/news/2024-03-27-spiral.md @@ -0,0 +1,28 @@ +--- +categories: + - news + - advisories +title: "Spiral 更新正式推送:安同 OS 的超级旋风牛力!" +date: 2024-03-27T22:19:13-08:00 +important: true + +--- +![](/assets/news/2024-03-27-spiral.jpg) + +安同 OS 的 Spiral 更新今日已推送至稳定源,包含对部分常用商业软件的兼容性改进,您在更新系统后就可以直接安装诸如金山 WPS for Linux、腾讯 QQ、微信、Google Chrome、Microsoft Edge 和 Spotify 等常用软件的官方 .deb 包啦!龙架构 (LoongArch) 系统更新后,搭配 [libLoL ](https://liblol.aosc.io/) 和 LATX(x86 二进制翻译器)亦可直接安装使用许多国产行业软件。 + +**Spiral 虽好,可不要滥用哦!** + +Spiral 的主要应用场景是为商业软件提供兼容性,请勿随意安装来自 Debian 等第三方发行版的系统组件! + +**Spiral 到底是个啥?** + +其实,Spiral 也不是什么黑科技!Spiral 兼容性框架名字“来头大”,但本质上就是在使用 [Autobuild4 ](https://github.com/AOSC-Dev/autobuild4) 构建软件包时,根据我们整理出来的 Debian 分包名逻辑,结合软件包内容,在软件包的元数据生成并记录一系列软件包别名 (Provides),进而适配各类第三方为 Debian/Ubuntu/Deepin/UOS/... 等较为主流的发行版适配的 .deb 软件包。 + +换言之,Spiral 兼容性框架就像个翻译:让 AOSC OS 与 Debian 等发行版不兼容的软件包依赖“讲 Debian 话”。 + +**为啥有的软件还是装不上?** + +目前的 Spiral 实现并不完美!由于其实现原理非常依赖归纳整理,而且目前并不是所有系统软件包都经过 Spiral 处理,因此很可能存在疏漏。 + +如果您在更新系统后安装和使用第三方软件时遇到困难,请通过社区[各聊天群组](https://aosc.io/zh-cn/contact/)或[社区论坛](https://bbs.aosc.io/)与我们联系。 diff --git a/content/news/2024-03-27-spiral.zh-cn.md b/content/news/2024-03-27-spiral.zh-cn.md new file mode 100644 index 00000000..5b37558f --- /dev/null +++ b/content/news/2024-03-27-spiral.zh-cn.md @@ -0,0 +1,28 @@ +--- +categories: + - news + - advisories +title: "Spiral 更新正式推送:安同 OS 的超级旋风牛力!" +date: 2024-03-27T22:19:13-08:00 +important: true + +--- +![](/assets/news/2024-03-27-spiral.jpg) + +安同 OS 的 Spiral 更新今日已推送至稳定源,包含对部分常用商业软件的兼容性改进,您在更新系统后就可以直接安装诸如金山 WPS for Linux、腾讯 QQ、微信、Google Chrome、Microsoft Edge 和 Spotify 等常用软件的官方 .deb 包啦!龙架构 (LoongArch) 系统更新后,搭配 [libLoL ](https://liblol.aosc.io/) 和 LATX(x86 二进制翻译器)亦可直接安装使用许多国产行业软件。 + +**Spiral 虽好,可不要滥用哦!** + +Spiral 的主要应用场景是为商业软件提供兼容性,请勿随意安装来自 Debian 等第三方发行版的系统组件! + +**Spiral 到底是个啥?** + +其实,Spiral 也不是什么黑科技!Spiral 兼容性框架名字“来头大”,但本质上就是在使用 [Autobuild4 ](https://github.com/AOSC-Dev/autobuild4) 构建软件包时,根据我们整理出来的 Debian 分包名逻辑,结合软件包内容,在软件包的元数据生成并记录一系列软件包别名 (Provides),进而适配各类第三方为 Debian/Ubuntu/Deepin/UOS/... 等较为主流的发行版适配的 .deb 软件包。 + +换言之,Spiral 兼容性框架就像个翻译:让 AOSC OS 与 Debian 等发行版不兼容的软件包依赖“讲 Debian 话”。 + +**为啥有的软件还是装不上?** + +目前的 Spiral 实现并不完美!由于其实现原理非常依赖归纳整理,而且目前并不是所有系统软件包都经过 Spiral 处理,因此很可能存在疏漏。 + +如果您在更新系统后安装和使用第三方软件时遇到困难,请通过社区[各聊天群组](https://aosc.io/zh-cn/contact/)或[社区论坛](https://bbs.aosc.io/)与我们联系。 diff --git a/content/news/2024-04-02-aosc-os-system-upgrade-error.md b/content/news/2024-04-02-aosc-os-system-upgrade-error.md new file mode 100644 index 00000000..e8784610 --- /dev/null +++ b/content/news/2024-04-02-aosc-os-system-upgrade-error.md @@ -0,0 +1,19 @@ +--- +categories: + - advisories +title: "[已修复] 近期一轮系统更新可能安装失败" +date: 2024-04-02T22:19:13-08:00 +important: true + +--- + +日前,我们推出了提供 Debian 兼容性标记的 Spiral 更新,但由于更新的基础组件存在依赖环,可能会导致一些近期未更新过的系统更新失败;我们正在着力解决该问题,请大家暂时不要更新系统。 + +如您已经更新系统且 dpkg 包管理器报错,则代表 dpkg 已经陷入依赖循环状态;此时,请请执行如下命令手动完成更新: + +```bash +sudo dpkg --configure --force-depends --force-configure-any dbus +sudo apt -f install +sudo oma upgrade +``` +我们目前正在积极调查和解决该问题,并计划在问题解决之后发布更新后第一时间通知各位,谢谢大家的理解支持! diff --git a/content/news/2024-04-02-aosc-os-system-upgrade-error.zh-cn.md b/content/news/2024-04-02-aosc-os-system-upgrade-error.zh-cn.md new file mode 100644 index 00000000..e8784610 --- /dev/null +++ b/content/news/2024-04-02-aosc-os-system-upgrade-error.zh-cn.md @@ -0,0 +1,19 @@ +--- +categories: + - advisories +title: "[已修复] 近期一轮系统更新可能安装失败" +date: 2024-04-02T22:19:13-08:00 +important: true + +--- + +日前,我们推出了提供 Debian 兼容性标记的 Spiral 更新,但由于更新的基础组件存在依赖环,可能会导致一些近期未更新过的系统更新失败;我们正在着力解决该问题,请大家暂时不要更新系统。 + +如您已经更新系统且 dpkg 包管理器报错,则代表 dpkg 已经陷入依赖循环状态;此时,请请执行如下命令手动完成更新: + +```bash +sudo dpkg --configure --force-depends --force-configure-any dbus +sudo apt -f install +sudo oma upgrade +``` +我们目前正在积极调查和解决该问题,并计划在问题解决之后发布更新后第一时间通知各位,谢谢大家的理解支持! diff --git a/content/news/2024-04-02-media-writer.md b/content/news/2024-04-02-media-writer.md new file mode 100644 index 00000000..642151e8 --- /dev/null +++ b/content/news/2024-04-02-media-writer.md @@ -0,0 +1,18 @@ +--- +categories: + - advisories +title: "AOSC 启动盘制作向导发布" +date: 2024-04-02T22:19:13-08:00 +important: false + +--- +![基于 Fedora Media Writer 制作的 AOSC 启动盘制作向导](/assets/news/coffee-break/20240413/imgs/media-writer.png) + +应用户要求,我们基于 Fedora Media Writer 制作了启动盘制作向导,方便 Windows、macOS 和安同 OS(英译名:AOSC OS)用户制作启动盘。 + +安同 OS 用户可通过如下命令安装: + +```bash +oma install aosc-media-writer +``` +点此下载:[Windows (x86-64) ](https://releases.aosc.io/writer/AOSCMediaWriter-win64-0.3.3.exe) | [macOS (AArch64) ](https://releases.aosc.io/writer/AOSCMediaWriter-osx-arm64-0.3.3.dmg)| [macOS (x86-64) ](https://releases.aosc.io/writer/AOSCMediaWriter-osx-0.3.3.dmg) diff --git a/content/news/2024-04-02-media-writer.zh-cn.md b/content/news/2024-04-02-media-writer.zh-cn.md new file mode 100644 index 00000000..642151e8 --- /dev/null +++ b/content/news/2024-04-02-media-writer.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - advisories +title: "AOSC 启动盘制作向导发布" +date: 2024-04-02T22:19:13-08:00 +important: false + +--- +![基于 Fedora Media Writer 制作的 AOSC 启动盘制作向导](/assets/news/coffee-break/20240413/imgs/media-writer.png) + +应用户要求,我们基于 Fedora Media Writer 制作了启动盘制作向导,方便 Windows、macOS 和安同 OS(英译名:AOSC OS)用户制作启动盘。 + +安同 OS 用户可通过如下命令安装: + +```bash +oma install aosc-media-writer +``` +点此下载:[Windows (x86-64) ](https://releases.aosc.io/writer/AOSCMediaWriter-win64-0.3.3.exe) | [macOS (AArch64) ](https://releases.aosc.io/writer/AOSCMediaWriter-osx-arm64-0.3.3.dmg)| [macOS (x86-64) ](https://releases.aosc.io/writer/AOSCMediaWriter-osx-0.3.3.dmg) diff --git a/content/news/2024-04-02-pku-tuna-towards-modern-distro-vod.md b/content/news/2024-04-02-pku-tuna-towards-modern-distro-vod.md new file mode 100644 index 00000000..f01980a3 --- /dev/null +++ b/content/news/2024-04-02-pku-tuna-towards-modern-distro-vod.md @@ -0,0 +1,14 @@ +--- +categories: + - news +title: "[直播回放] 发行版沙龙!" +date: 2024-04-02T22:19:13-08:00 +important: false + +--- + +3 月 17 日,北京大学 Linux 俱乐部 (LCPU) 与清华大学 TUNA 协会联合举办了主题为“Towards Modern Distro”的线下沙龙活动,内容涉及发行版的维护和自动化、近几年发行版的变化趋势、未来系统和发行版的新形态等。 + +本次活动中,社区创始人和维护者白铭骢以《从 AOSC OS 浅谈发行版社区的日常、雄心和无奈》为题,分享了社区及其项目概况,并对我社日常工作、组织方式和未来发展进行了探讨和展望。 + +[点此观看回放 >> ](https://www.bilibili.com/video/BV1Yx421D7d2/) diff --git a/content/news/2024-04-02-pku-tuna-towards-modern-distro-vod.zh-cn.md b/content/news/2024-04-02-pku-tuna-towards-modern-distro-vod.zh-cn.md new file mode 100644 index 00000000..f01980a3 --- /dev/null +++ b/content/news/2024-04-02-pku-tuna-towards-modern-distro-vod.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - news +title: "[直播回放] 发行版沙龙!" +date: 2024-04-02T22:19:13-08:00 +important: false + +--- + +3 月 17 日,北京大学 Linux 俱乐部 (LCPU) 与清华大学 TUNA 协会联合举办了主题为“Towards Modern Distro”的线下沙龙活动,内容涉及发行版的维护和自动化、近几年发行版的变化趋势、未来系统和发行版的新形态等。 + +本次活动中,社区创始人和维护者白铭骢以《从 AOSC OS 浅谈发行版社区的日常、雄心和无奈》为题,分享了社区及其项目概况,并对我社日常工作、组织方式和未来发展进行了探讨和展望。 + +[点此观看回放 >> ](https://www.bilibili.com/video/BV1Yx421D7d2/) diff --git a/content/news/2024-04-04-oma-1.3.md b/content/news/2024-04-04-oma-1.3.md new file mode 100644 index 00000000..ea8a2b7d --- /dev/null +++ b/content/news/2024-04-04-oma-1.3.md @@ -0,0 +1,18 @@ +--- +categories: + - advisories +title: "超级小熊猫力:oma 1.3 开放测试" +date: 2024-04-04T22:19:13-08:00 +important: false + +--- +![](/assets/news/oma1.3.jpg) +小熊猫包管理 oma 1.3 版本的特性开发业已完成,现开放测试! + +oma 1.3 引入了 TUI 界面,提供直观的搜索、安装和管理功能;亦改进了进程管理、测试源界面和依赖错误报告界面。 + +使用如下命令即可打开 oma 1.3 测试源: +```bash +oma topics --opt-in oma-1.3.0 +``` +期待各位的试用和反馈,一齐改进安同 OS 的包管理体验! diff --git a/content/news/2024-04-04-oma-1.3.zh-cn.md b/content/news/2024-04-04-oma-1.3.zh-cn.md new file mode 100644 index 00000000..e8956dbc --- /dev/null +++ b/content/news/2024-04-04-oma-1.3.zh-cn.md @@ -0,0 +1,19 @@ +--- +categories: + - advisories +title: "超级小熊猫力:oma 1.3 开放测试" +date: 2024-04-04T22:19:13-08:00 +important: false + +--- +![](/assets/news/oma1.3.jpg) +小熊猫包管理 oma 1.3 版本的特性开发业已完成,现开放测试! + +oma 1.3 引入了 TUI 界面,提供直观的搜索、安装和管理功能;亦改进了进程管理、测试源界面和依赖错误报告界面。 + +使用如下命令即可打开 oma 1.3 测试源: + +```bash +oma topics --opt-in oma-1.3.0 +``` +期待各位的试用和反馈,一齐改进安同 OS 的包管理体验! diff --git a/content/news/2024-04-05-wps-office-dropped.md b/content/news/2024-04-05-wps-office-dropped.md new file mode 100644 index 00000000..ffc25336 --- /dev/null +++ b/content/news/2024-04-05-wps-office-dropped.md @@ -0,0 +1,17 @@ +--- +categories: + - advisories +title: "我社停止维护 WPS Office for Linux 软件包" +date: 2024-04-05T22:19:13-08:00 +important: false + +--- +![](/assets/news/2024-04-05-wps-office-dropped.jpg) +由于金山办公方面进一步收紧 WPS Office for Linux 的下载途径(目前需要动态密钥和时间戳才能下载),我们已无法有效维护目前软件仓库中的 WPS Office for Linux 软件包 (wps-office),将从软件源删除该包且不再推送更新。 + +幸运的是,由于我们已经正式推送了 Spiral 兼容框架,用户现在可以直接从 WPS Office for Linux 官网下载本机架构的 .deb 软件包,然后使用类似如下的命令即可安装: + +```bash +oma install wps-office_11.1.0.11719_loongarch64.deb +``` +感谢您的理解和支持! diff --git a/content/news/2024-04-05-wps-office-dropped.zh-cn.md b/content/news/2024-04-05-wps-office-dropped.zh-cn.md new file mode 100644 index 00000000..1e256900 --- /dev/null +++ b/content/news/2024-04-05-wps-office-dropped.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - advisories +title: "我社停止维护 WPS Office for Linux 软件包" +date: 2024-04-05T22:19:13-08:00 +important: false + +--- +![](/assets/news/2024-04-05-wps-office-dropped.png) + +由于金山办公方面进一步收紧 WPS Office for Linux 的下载途径(目前需要动态密钥和时间戳才能下载),我们已无法有效维护目前软件仓库中的 WPS Office for Linux 软件包 (wps-office),将从软件源删除该包且不再推送更新。 + +幸运的是,由于我们已经正式推送了 Spiral 兼容框架,用户现在可以直接从 WPS Office for Linux 官网下载本机架构的 .deb 软件包,然后使用类似如下的命令即可安装: + +```bash +oma install wps-office_11.1.0.11719_loongarch64.deb +``` +感谢您的理解和支持! diff --git a/content/news/2024-04-13-coffee-break.md b/content/news/2024-04-13-coffee-break.md new file mode 100644 index 00000000..beb1911e --- /dev/null +++ b/content/news/2024-04-13-coffee-break.md @@ -0,0 +1,149 @@ +--- +categories: + - journals +title: "安记冰室・四月上" +date: 2024-04-13T12:00:00+08:00 +important: false + +--- + + +> “卤煮喂,炸豆腐哟——” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +用词说明 +-------- + +![安同开源社区系统项目徽标与名称](/assets/news/coffee-break/20240413/imgs/new-logos.png) + +从本期《安记冰室》开始,我们将按照当前社区系统项目的中文命名指代 AOSC OS,即:安同 OS。为方便读者,我们会在首次使用“安同 OS”一词时附加“(英译名:AOSC OS)”说明。 + +社区脉动 +-------- + +### 三个项目!我社已获批参与开源之夏 + +![软件所“开源之夏”项目主页](/assets/news/coffee-break/20240413/imgs/ospp-2024.jpg) + +四月初,中科院软件所“开源之夏”活动组委会公布了 2024 年“开源之夏”活动的社区与组织,自 2020 年开始参与的我社也在列。今年,组委会为我社分配了三个项目配额。 + +我们将会抽出三名贡献者作为导师带领在校学生参与社区实习项目。我们初步计划提交如下三个方向的实习项目: + +- 系统适配:设计制作用于 RISC-V 设备的特制安同 OS 镜像 +- 文档支持:设计编写系统用户手册 +- 本地化:参与上游本地化项目 + +我们计划于下周公布相关项目导师和考核指标等详细信息,敬请期待。 + +系统快讯 +-------- + +### AOSC 启动盘制作向导发布 + +![基于 Fedora Media Writer 制作的 AOSC 启动盘制作向导](/assets/news/coffee-break/20240413/imgs/media-writer.png) + +应用户要求,我们基于 Fedora Media Writer 制作了启动盘制作向导,方便 Windows、macOS 和安同 OS 用户制作启动盘 + +安同 OS 用户可通过如下命令安装启动盘制作向导: + +```bash +oma install aosc-media-writer +``` + +点此下载: + +- Windows (x86-64): https://releases.aosc.io/writer/AOSCMediaWriter-win64-0.3.3.exe +- macOS (AArch64): https://releases.aosc.io/writer/AOSCMediaWriter-osx-arm64-0.3.3.dmg +- macOS (x86-64): https://releases.aosc.io/writer/AOSCMediaWriter-osx-0.3.3.dmg + +### 用好玩好:安同 OS 龙架构版新功能预览一瞥 + +自发布以来,安同 OS 龙架构版由于其易用性和兼容性相对良好广受用户欢迎。用户数量不断增长的同时,来自用户朋友的各类反馈报告也极大地帮助了我们不断改善系统软硬件支持和用户体验。 + +如今,龙架构版已发布两个月,朋友们用得可还舒服?社区好友“轮子妈”看来还挺满意,这可都在龙芯 3A6000 小主机 (NUC) 上玩出花来了——他为龙芯小主机定制了外置显卡盒子,加上 AMD Radeon RX 6750XT 显卡…… + +…… 什么,你说比例失调?你就说能不能原神启动吧(虽然是云原神)—— + +![龙芯 NUC 小主机也可以(云)原神,启动!(摄影:轮子妈)](/assets/news/coffee-break/20240413/imgs/loong-genshin.jpg) + +当然,能玩的原生游戏还是越多越好啦,这部分尚需努力。那么,近期龙架构版还有啥玩头呢? + +请允许我们推荐测试 Linux 内核 6.9 版(`linux-kernel-6.9`):新增来自[自发对称破缺](https//github.com/Fanfansfan)修改的 Intel xe 驱动,支持在龙架构上使用 Intel DG1 和 DG2 系列显卡;配合近期推送的 Mesa 图形库和多媒体驱动更新,还可以完美硬解视频。 + +此外小声说下:该版内核还支持搭载新世界固件的 2K2000 开发板,有拿到新世界固件的幸运儿可以装上试试看啦! + +使用如下命令即可获取 6.9 版测试内核: + +```bash +oma topics --opt-in linux-kernel-6.9 +``` + +### 超级小熊猫力:oma 1.3 开放测试 + +![oma 1.3 终端管理界面](/assets/news/coffee-break/20240413/imgs/oma-1.3.png) + +小熊猫包管理 oma 1.3 版本的特性开发业已完成,现开放测试!oma 1.3 引入了 TUI 界面,提供直观的搜索、安装和管理功能;亦改进了进程管理、测试源界面和依赖错误报告界面 + +使用如下命令即可打开 oma 1.3 测试源: + +```bash +oma topics --opt-in oma-1.3.0 +``` + +期待各位的试用和反馈,一齐改进安同 OS 的包管理体验! + +开发者角 +-------- + +### 新鲜热辣:Core 11.3.0 与 Rust 1.77 + +近期,我们推送了 Core 11.3.0 和 Rust 1.77 更新,在引入新的 Rust 工具链特性的同时,还修复了先前 Glibc (GNU C Library) 中调试符号摆放不正确与 Rust 工具链找不到安同 OS 中 GCC 标准库和头文件的问题。 + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [王江津](https://github.com/RedL0tus) +- [王邈](https://github.com/shankerwangmiao) +- [shatian114](https://github.com/shatian114) +- [skybird](https://github.com/SkyBird233) +- [xen0n](https://github.com/xen0n) +- [温柔](https://github.com/xunpod) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [ouankou](https://github.com/ouankou) + + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-04-13-coffee-break.zh-cn.md b/content/news/2024-04-13-coffee-break.zh-cn.md new file mode 100644 index 00000000..4caeba70 --- /dev/null +++ b/content/news/2024-04-13-coffee-break.zh-cn.md @@ -0,0 +1,148 @@ +--- +categories: + - journals +title: "安记冰室・四月上" +date: 2024-04-13T12:00:00+08:00 +important: false + +--- + + +> “卤煮喂,炸豆腐哟——” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +用词说明 +-------- + +![安同开源社区系统项目徽标与名称](/assets/news/coffee-break/20240413/imgs/new-logos.png) + +从本期《安记冰室》开始,我们将按照当前社区系统项目的中文命名指代 AOSC OS,即:安同 OS。为方便读者,我们会在首次使用“安同 OS”一词时附加“(英译名:AOSC OS)”说明。 + +社区脉动 +-------- + +### 三个项目!我社已获批参与开源之夏 + +![软件所“开源之夏”项目主页](/assets/news/coffee-break/20240413/imgs/ospp-2024.jpg) + +四月初,中科院软件所“开源之夏”活动组委会公布了 2024 年“开源之夏”活动的社区与组织,自 2020 年开始参与的我社也在列。今年,组委会为我社分配了三个项目配额。 + +我们将会抽出三名贡献者作为导师带领在校学生参与社区实习项目。我们初步计划提交如下三个方向的实习项目: + +- 系统适配:设计制作用于 RISC-V 设备的特制安同 OS 镜像 +- 文档支持:设计编写系统用户手册 +- 本地化:参与上游本地化项目 + +我们计划于下周公布相关项目导师和考核指标等详细信息,敬请期待。 + +系统快讯 +-------- + +### AOSC 启动盘制作向导发布 + +![基于 Fedora Media Writer 制作的 AOSC 启动盘制作向导](/assets/news/coffee-break/20240413/imgs/media-writer.png) + +应用户要求,我们基于 Fedora Media Writer 制作了启动盘制作向导,方便 Windows、macOS 和安同 OS 用户制作启动盘 + +安同 OS 用户可通过如下命令安装启动盘制作向导: + +```bash +oma install aosc-media-writer +``` + +点此下载: + +- Windows (x86-64): https://releases.aosc.io/writer/AOSCMediaWriter-win64-0.3.3.exe +- macOS (AArch64): https://releases.aosc.io/writer/AOSCMediaWriter-osx-arm64-0.3.3.dmg +- macOS (x86-64): https://releases.aosc.io/writer/AOSCMediaWriter-osx-0.3.3.dmg + +### 用好玩好:安同 OS 龙架构版新功能预览一瞥 + +自发布以来,安同 OS 龙架构版由于其易用性和兼容性相对良好广受用户欢迎。用户数量不断增长的同时,来自用户朋友的各类反馈报告也极大地帮助了我们不断改善系统软硬件支持和用户体验。 + +如今,龙架构版已发布两个月,朋友们用得可还舒服?社区好友“轮子妈”看来还挺满意,这可都在龙芯 3A6000 小主机 (NUC) 上玩出花来了——他为龙芯小主机定制了外置显卡盒子,加上 AMD Radeon RX 6750XT 显卡…… + +…… 什么,你说比例失调?你就说能不能原神启动吧(虽然是云原神)—— + +![龙芯 NUC 小主机也可以(云)原神,启动!(摄影:轮子妈)](/assets/news/coffee-break/20240413/imgs/loong-genshin.jpg) + +当然,能玩的原生游戏还是越多越好啦,这部分尚需努力。那么,近期龙架构版还有啥玩头呢? + +请允许我们推荐测试 Linux 内核 6.9 版(`linux-kernel-6.9`):新增来自[自发对称破缺](https//github.com/Fanfansfan)修改的 Intel xe 驱动,支持在龙架构上使用 Intel DG1 和 DG2 系列显卡;配合近期推送的 Mesa 图形库和多媒体驱动更新,还可以完美硬解视频。 + +此外小声说下:该版内核还支持搭载新世界固件的 2K2000 开发板,有拿到新世界固件的幸运儿可以装上试试看啦! + +使用如下命令即可获取 6.9 版测试内核: + +```bash +oma topics --opt-in linux-kernel-6.9 +``` + +### 超级小熊猫力:oma 1.3 开放测试 + +![oma 1.3 终端管理界面](/assets/news/coffee-break/20240413/imgs/oma-1.3.png) + +小熊猫包管理 oma 1.3 版本的特性开发业已完成,现开放测试!oma 1.3 引入了 TUI 界面,提供直观的搜索、安装和管理功能;亦改进了进程管理、测试源界面和依赖错误报告界面 + +使用如下命令即可打开 oma 1.3 测试源: + +```bash +oma topics --opt-in oma-1.3.0 +``` + +期待各位的试用和反馈,一齐改进安同 OS 的包管理体验! + +开发者角 +-------- + +### 新鲜热辣:Core 11.3.0 与 Rust 1.77 + +近期,我们推送了 Core 11.3.0 和 Rust 1.77 更新,在引入新的 Rust 工具链特性的同时,还修复了先前 Glibc (GNU C Library) 中调试符号摆放不正确与 Rust 工具链找不到安同 OS 中 GCC 标准库和头文件的问题。 + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [王江津](https://github.com/RedL0tus) +- [王邈](https://github.com/shankerwangmiao) +- [shatian114](https://github.com/shatian114) +- [skybird](https://github.com/SkyBird233) +- [xen0n](https://github.com/xen0n) +- [温柔](https://github.com/xunpod) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [ouankou](https://github.com/ouankou) + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-04-22-aoscc-2024-poll-upcoming.md b/content/news/2024-04-22-aoscc-2024-poll-upcoming.md new file mode 100644 index 00000000..5ee4004e --- /dev/null +++ b/content/news/2024-04-22-aoscc-2024-poll-upcoming.md @@ -0,0 +1,13 @@ +--- +categories: + - minutes +title: "预告:AOSCC 2024 场地和日期投票" +date: 2024-04-22T22:19:13-08:00 +important: false + +--- +![AOSCC 2024 倒计时正式开始!](/assets/news/coffee-break/20240427/imgs/aoscc-2024.png) + +经过初步考察沟通,本年度社区线下聚会 (AOSCC) 计划在 7 月 13 - 14 日于〖吉林大学〗或〖南阳理工学院〗举行。 + +我们计划在与社团代表完成流程沟通后开始投票决定具体地点,敬请期待! diff --git a/content/news/2024-04-22-aoscc-2024-poll-upcoming.zh-cn.md b/content/news/2024-04-22-aoscc-2024-poll-upcoming.zh-cn.md new file mode 100644 index 00000000..5ee4004e --- /dev/null +++ b/content/news/2024-04-22-aoscc-2024-poll-upcoming.zh-cn.md @@ -0,0 +1,13 @@ +--- +categories: + - minutes +title: "预告:AOSCC 2024 场地和日期投票" +date: 2024-04-22T22:19:13-08:00 +important: false + +--- +![AOSCC 2024 倒计时正式开始!](/assets/news/coffee-break/20240427/imgs/aoscc-2024.png) + +经过初步考察沟通,本年度社区线下聚会 (AOSCC) 计划在 7 月 13 - 14 日于〖吉林大学〗或〖南阳理工学院〗举行。 + +我们计划在与社团代表完成流程沟通后开始投票决定具体地点,敬请期待! diff --git a/content/news/2024-04-22-ospp-2024-projects-up.md b/content/news/2024-04-22-ospp-2024-projects-up.md new file mode 100644 index 00000000..12905311 --- /dev/null +++ b/content/news/2024-04-22-ospp-2024-projects-up.md @@ -0,0 +1,19 @@ +--- +categories: + - news +title: "社区“开源之夏”项目正式上线" +date: 2024-04-22T22:19:13-08:00 +important: false + +--- +![OSPP2024](/assets/news/ospp2024-project.jpg) + +今年,社区继续参加中科院软件所“开源之夏”项目,将派三名贡献者作为导师带领学生完成社区项目: + +- Icenowy Zheng (@Icenowy) :[为 RISC-V 开发板提供安同 OS 系统镜像](https://summer-ospp.ac.cn/org/prodetail/24f3e0162) + +- 白铭骢 (@JeffBai) :[自由及开源软件简中本地化工作](https://summer-ospp.ac.cn/org/prodetail/24f3e0160) + +- 温柔 (@xunpod) :[设计编写安同 OS 用户手册及编写规范](https://summer-ospp.ac.cn/org/prodetail/24f3e0161) + +学生报名将于 4 月 30 日开放,欢迎各位与上述导师直接联系或加入[社区各主群组](https://aosc.io/zh-cn/contact/)与社区好友沟通意向。 diff --git a/content/news/2024-04-22-ospp-2024-projects-up.zh-cn.md b/content/news/2024-04-22-ospp-2024-projects-up.zh-cn.md new file mode 100644 index 00000000..12905311 --- /dev/null +++ b/content/news/2024-04-22-ospp-2024-projects-up.zh-cn.md @@ -0,0 +1,19 @@ +--- +categories: + - news +title: "社区“开源之夏”项目正式上线" +date: 2024-04-22T22:19:13-08:00 +important: false + +--- +![OSPP2024](/assets/news/ospp2024-project.jpg) + +今年,社区继续参加中科院软件所“开源之夏”项目,将派三名贡献者作为导师带领学生完成社区项目: + +- Icenowy Zheng (@Icenowy) :[为 RISC-V 开发板提供安同 OS 系统镜像](https://summer-ospp.ac.cn/org/prodetail/24f3e0162) + +- 白铭骢 (@JeffBai) :[自由及开源软件简中本地化工作](https://summer-ospp.ac.cn/org/prodetail/24f3e0160) + +- 温柔 (@xunpod) :[设计编写安同 OS 用户手册及编写规范](https://summer-ospp.ac.cn/org/prodetail/24f3e0161) + +学生报名将于 4 月 30 日开放,欢迎各位与上述导师直接联系或加入[社区各主群组](https://aosc.io/zh-cn/contact/)与社区好友沟通意向。 diff --git a/content/news/2024-04-24-aoscc-2024-poll.md b/content/news/2024-04-24-aoscc-2024-poll.md new file mode 100644 index 00000000..b1c0ddbd --- /dev/null +++ b/content/news/2024-04-24-aoscc-2024-poll.md @@ -0,0 +1,31 @@ +--- +categories: + - minutes +title: "AOSCC 2024 场地投票" +date: 2024-04-24T22:19:13-08:00 +important: false + +--- +![AOSCC 2024 倒计时正式开始!](/assets/news/coffee-break/20240427/imgs/aoscc-2024.png) + +今年,我们非常惊喜地看到多所院校积极争取承办 AOSCC 线下活动;通过各社团和院校的努力,我们最终锁定吉林大学和南阳理工学院为候选承办方。 + +> AOSCC 2024 将于 7 月 13 - 14 日举行 + +现组织社区投票征集意向,我们将选定得票数最多的学校为本年度 AOSCC 的举办地点;投票时请注意如下事项: + +1. 本投票允许多选,请综合个人喜好、交通便利和经济能力等因素考虑选择 +2. 本投票为不记名投票,请勿恶意刷票 +3. 本投票将于 UTC+8 时间 5 月 1 日正午 12 时截止,投票结果将即时公布 + +> 投票已结束 + +[前往投票 >> ](https://f.wps.cn/g/xrL1Dgic/) + + + +此外,吉林大学和南阳理工学院的社团联系人编写了给各位社区好友的寄语,供各位参考: + +— [吉林大学 Linux 用户组 ](https://github.com/AOSC-Dev/newsroom/blob/master/special-issue/20240423/jlu-lug-notes.md) + +— [南阳理工学院计算机与信息化处理协会 ](https://github.com/AOSC-Dev/newsroom/blob/master/special-issue/20240423/nyist-cips-notes.md) diff --git a/content/news/2024-04-24-aoscc-2024-poll.zh-cn.md b/content/news/2024-04-24-aoscc-2024-poll.zh-cn.md new file mode 100644 index 00000000..ca47978e --- /dev/null +++ b/content/news/2024-04-24-aoscc-2024-poll.zh-cn.md @@ -0,0 +1,31 @@ +--- +categories: + - minutes +title: "AOSCC 2024 场地投票" +date: 2024-04-24T22:19:13-08:00 +important: false + +--- +![AOSCC 2024 倒计时正式开始!](/assets/news/coffee-break/20240427/imgs/aoscc-2024.png) + +今年,我们非常惊喜地看到多所院校积极争取承办 AOSCC 线下活动;通过各社团和院校的努力,我们最终锁定吉林大学和南阳理工学院为候选承办方。 + +> AOSCC 2024 将于 7 月 13 - 14 日举行 + +现组织社区投票征集意向,我们将选定得票数最多的学校为本年度 AOSCC 的举办地点;投票时请注意如下事项: + +1. 本投票允许多选,请综合个人喜好、交通便利和经济能力等因素考虑选择 +2. 本投票为不记名投票,请勿恶意刷票 +3. 本投票将于 UTC+8 时间 5 月 1 日正午 12 时截止,投票结果将即时公布 + +> 投票已结束 + +[前往投票 >> ](https://f.wps.cn/g/xrL1Dgic/) + +[1](./2024-04-13-coffee-break.md) + +此外,吉林大学和南阳理工学院的社团联系人编写了给各位社区好友的寄语,供各位参考: + +— [吉林大学 Linux 用户组 ](https://github.com/AOSC-Dev/newsroom/blob/master/special-issue/20240423/jlu-lug-notes.md) + +— [南阳理工学院计算机与信息化处理协会 ](https://github.com/AOSC-Dev/newsroom/blob/master/special-issue/20240423/nyist-cips-notes.md) diff --git a/content/news/2024-04-26-aosc-os-system-upgrade-error.md b/content/news/2024-04-26-aosc-os-system-upgrade-error.md new file mode 100644 index 00000000..82bb871d --- /dev/null +++ b/content/news/2024-04-26-aosc-os-system-upgrade-error.md @@ -0,0 +1,21 @@ +--- +categories: + - advisories +title: "[已修复] 从较老的系统版本更新时可能遇到错误" +date: 2024-04-26T22:19:13-08:00 +important: true + +--- + +根据多位用户报告,在从较老的系统镜像 (<= 20240331) 更新时可能会遇到错误;这是我们近期大批量更新底层软件时产生的依赖环造成的,仍需进一步修缮。 + +如果您遇到此类问题,请运行如下一系列命令解决(其中第一个命令的错误是可以忽略的): + +```bash +sudo dpkg --configure --force-depends --force-configure-any systemd linux-pam +sudo dpkg -i /var/cache/apt/archives/util-linux-runtime_*.deb +sudo oma fix-broken +sudo oma upgrade +``` + +我们为此带来的不便表示歉意! diff --git a/content/news/2024-04-26-aosc-os-system-upgrade-error.zh-cn.md b/content/news/2024-04-26-aosc-os-system-upgrade-error.zh-cn.md new file mode 100644 index 00000000..82bb871d --- /dev/null +++ b/content/news/2024-04-26-aosc-os-system-upgrade-error.zh-cn.md @@ -0,0 +1,21 @@ +--- +categories: + - advisories +title: "[已修复] 从较老的系统版本更新时可能遇到错误" +date: 2024-04-26T22:19:13-08:00 +important: true + +--- + +根据多位用户报告,在从较老的系统镜像 (<= 20240331) 更新时可能会遇到错误;这是我们近期大批量更新底层软件时产生的依赖环造成的,仍需进一步修缮。 + +如果您遇到此类问题,请运行如下一系列命令解决(其中第一个命令的错误是可以忽略的): + +```bash +sudo dpkg --configure --force-depends --force-configure-any systemd linux-pam +sudo dpkg -i /var/cache/apt/archives/util-linux-runtime_*.deb +sudo oma fix-broken +sudo oma upgrade +``` + +我们为此带来的不便表示歉意! diff --git a/content/news/2024-04-27-coffee-break.md b/content/news/2024-04-27-coffee-break.md new file mode 100644 index 00000000..bf7bd67c --- /dev/null +++ b/content/news/2024-04-27-coffee-break.md @@ -0,0 +1,180 @@ +--- +categories: + - journals +title: "安记冰室・四月下" +date: 2024-04-27T12:00:00+08:00 +important: false + +--- + + +> “冰棍——三分嘞——” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +社区脉动 +-------- + +### 倒计时开始:AOSCC 2024 场地投票 + +![AOSCC 2024 倒计时正式开始!](/assets/news/coffee-break/20240427/imgs/aoscc-2024.png) + +今年,我们非常惊喜地看到多所院校积极争取承办 AOSCC 线下活动。通过各社团和院校的努力,我们最终锁定吉林大学和南阳理工学院为候选承办方:现组织社区投票征集意向,我们将选定得票数最多的学校为本年度 AOSCC 的举办地点。投票时请注意如下事项: + +1. **本投票允许多选**,请综合个人喜好、交通便利和经济能力等因素考虑选择 +2. 本投票为不记名投票,**请勿恶意刷票** +3. **本投票将于 UTC+8 时间 5 月 1 日正午 12 时截止**,投票结果将即时公布 + +前往投票:https://f.wps.cn/g/xrL1Dgic/ + +如下是吉林大学和南阳理工学院的社团联系人编写了给各位社区好友的寄语,供各位参考。 + +### 吉林大学联络人寄语 + +![吉林大学 Linux 用户组近日举办的 Linux 安装派对活动现场](/assets/news/coffee-break/20240427/imgs/jlu-lug.jpg) + +大家好,我是吉林大学 Linux 用户组联络人 @TechCiel,可能还有朋友记得我们在 AOSCC 2024 发的贴纸。 + +为迎接今年的 AOSCC,我社已经取得了学院领导在场地和政策上的支持,并且设计订购了新版贴纸(工艺有所改良)。我们期待并欢迎各位的到来! + +**私人交通补助** + +考虑到吉林大学地理位置较远,可能会加重一些朋友的经济负担,@TechCiel 准备以个人名义为有经济需要的与会者提供有限的补助,总额预计在 4000 - 7000 元左右。补助以报销方式发放,特殊情况可以预付。 + +本补助计划考虑申请人声明的的经济状况和需求及出发城市、交通方式等。 + +**本地信息** + +吉林省省会长春市坐落在美丽的吉林大学校园里(误),气候冬冷夏凉,七月中气温 21-26 左右,日间平均 24 度,微风。得益于长春市 30 余所高校和一汽集团带来的大量学生和外侨,长春是一座相当开放、友好、包容的城市。 + +**交通信息** + +吉林大学周边交通较为便利: + +- 长春龙嘉国际机场已开通 50 余条国内航线,覆盖全国大多数主要城市,高铁 15 分钟车程往返市区,班次频繁 +- 长春站、长春西站是京哈高铁、铁路上的主要车站,日均发送旅客数万人次;从长春站内换乘轨交,半小时左右到达吉林大学附近 +- 市内轨道交通在运线路 6 条,并有绵密的公交线路 250 余条 +- 网约车、巡游出租车充足;网约车更加经济 + +**住宿信息** + +吉林大学周边住宿选择类型较多: + +- 一般独立旅馆:种类数目繁多,70-300 丰俭由人 +- 如家酒店:大床标间均为 175 ,距离较近 +- 华住汉庭:大床 224-338 ,标间 231-353 ,距离较远 +- 亚朵酒店(四星):大床 420 ,标间 460 +- 东方悦华(五星):大床 580 ,标间 680 + +以上时价供各位参考。由于校园较大,视乎周边交通和实地考察,亦可考虑谈判协议,后期会给出更具体的住宿指南。 + +**旅游景点** + +长春市内有包括红旗街、桂林路在内的多个商圈,知名的旅游景点包括伪满皇宫博物院、长春电影制片厂、净月潭国家森林公园等,有闲暇的朋友还可以前往长春市周边游览长白山。 + +### 南阳理工学院联络人寄语 + +![南阳理工大学齐贤园](/assets/news/coffee-break/20240427/imgs/nyist.jpg) + +南阳理工学院计算机与信息化处理协会 ([NYIST-CIPS](https://cips.nyist.edu.cn/)) 是由南阳理工学院在校的 GNU/Linux 爱好者发起并组成的团体。 + +通过定期举办各类技术讲座与工作坊,涵盖 GNU/Linux 操作系统、开源软件开发、网络安全等热门话题,我们致力于搭建信息交流共享的平台,宣传自由软件的价值,提高自由软件社区文化氛围,推广自由软件的应用。 + +今年,学校为 AOSCC 提供场地支持,包括会议厅、展示区域等;学校领导亦对 AOSCC 在我校举办表示支持,并将提供必要的指导和帮助确保活动顺利进行。此外,学校和社团将协助在校园内通过横幅、海报、校园电子屏等方式进行 AOSCC 的宣传推广。校园媒体也将对 AOSCC 活动进行报道和宣传,提高活动的知名度和影响力。 + +**交通信息** + +本地公共交通较为便利: + +- 从南阳市汽车站到达的同学,乘坐 S207 路公交车在南阳理工学院下车即到 +- 从火车站、飞机场到达的同学,乘坐 4 路公交车在南阳理工学院下车即到 +- 从高铁站南阳东站到达的同学,乘坐 45 路公交车在南阳理工学院站下车即到 + +**住宿信息** + +周边部分宾馆标间时价与联系信息如下(区号 0377): + +- 龙湾温泉酒店(每晚约 120 - 145 元)61605666 +- 欧亚商务酒店(每晚约 90 - 170 元):67096777 +- 锦景精选酒店理工店(每晚约 115 - 145 元):62059999 +- 南岸明珠商务酒店(每晚约 85 - 140 元):62078999 +- 汉庭南阳红都时代广场酒店 (每晚约 210 - 260 元):63861888 +- 全季南阳中关村产业园酒店(每晚约 270 - 330 元):63658888 + +**与会者福利** + +经与校领导沟通,在参会期间学校可为与会者提供正餐(学校餐厅/盒饭,待定)。由于学校预算限制以及其他条件制约,无法承担参会人员的交通和住宿费用。 + +系统快讯 +-------- + +### 界面升级:oma 1.3 发布 + +![oma 1.3 的 TUI 界面预览](/assets/news/coffee-break/20240413/imgs/oma-1.3.png) + +今日,社区开发者[傅孝元](https://github.com/eatradish)发布了小熊猫包管理 oma 的 1.3 版本,包含许多特性和改进: + +- 终端管理界面 (TUI):提供直观的搜索、安装和管理功能 +- 界面调优:改进测试源界面 (`oma topics`),将已启用的测试源在顶部列出;增强依赖错误输出,提供详细查错信息与指引 +- 进程管理改进:报告进程锁信息和运行状态,以便用户理解进程锁定情况 + +### 从较老的系统版本更新时可能遇到错误 + +根据多位用户报告,在从较老的系统镜像 (<= 20240331) 更新时可能会遇到错误。这是我们近期大批量更新底层软件时产生的依赖环造成的,仍需进一步修缮。 + +如果您遇到此类问题,请运行如下一系列命令解决(其中第一个命令的错误是可以忽略的): + +```bash +sudo dpkg --configure --force-depends --force-configure-any systemd linux-pam +sudo dpkg -i /var/cache/apt/archives/util-linux-runtime_*.deb +sudo oma fix-broken +sudo oma upgrade +``` + +我们为此带来的不便表示歉意。 + +开发者角 +-------- + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [杨欣辉](https://github.com/Cyanoxygen) +- [dynos01](https://github.com/dynos01) +- [傅孝元](https://github.com/eatradish) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [KexyBiscuit](https://github.com/KexyBiscuit) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [秦斐然](https://github.com/Nyovelt) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [ouankou](https://github.com/ouankou) +- [skybird](https://github.com/SkyBird233) +- [StephDC](https://github.com/StephDC) +- [温柔](https://github.com/xunpod) + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-04-27-coffee-break.zh-cn.md b/content/news/2024-04-27-coffee-break.zh-cn.md new file mode 100644 index 00000000..bf7bd67c --- /dev/null +++ b/content/news/2024-04-27-coffee-break.zh-cn.md @@ -0,0 +1,180 @@ +--- +categories: + - journals +title: "安记冰室・四月下" +date: 2024-04-27T12:00:00+08:00 +important: false + +--- + + +> “冰棍——三分嘞——” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +社区脉动 +-------- + +### 倒计时开始:AOSCC 2024 场地投票 + +![AOSCC 2024 倒计时正式开始!](/assets/news/coffee-break/20240427/imgs/aoscc-2024.png) + +今年,我们非常惊喜地看到多所院校积极争取承办 AOSCC 线下活动。通过各社团和院校的努力,我们最终锁定吉林大学和南阳理工学院为候选承办方:现组织社区投票征集意向,我们将选定得票数最多的学校为本年度 AOSCC 的举办地点。投票时请注意如下事项: + +1. **本投票允许多选**,请综合个人喜好、交通便利和经济能力等因素考虑选择 +2. 本投票为不记名投票,**请勿恶意刷票** +3. **本投票将于 UTC+8 时间 5 月 1 日正午 12 时截止**,投票结果将即时公布 + +前往投票:https://f.wps.cn/g/xrL1Dgic/ + +如下是吉林大学和南阳理工学院的社团联系人编写了给各位社区好友的寄语,供各位参考。 + +### 吉林大学联络人寄语 + +![吉林大学 Linux 用户组近日举办的 Linux 安装派对活动现场](/assets/news/coffee-break/20240427/imgs/jlu-lug.jpg) + +大家好,我是吉林大学 Linux 用户组联络人 @TechCiel,可能还有朋友记得我们在 AOSCC 2024 发的贴纸。 + +为迎接今年的 AOSCC,我社已经取得了学院领导在场地和政策上的支持,并且设计订购了新版贴纸(工艺有所改良)。我们期待并欢迎各位的到来! + +**私人交通补助** + +考虑到吉林大学地理位置较远,可能会加重一些朋友的经济负担,@TechCiel 准备以个人名义为有经济需要的与会者提供有限的补助,总额预计在 4000 - 7000 元左右。补助以报销方式发放,特殊情况可以预付。 + +本补助计划考虑申请人声明的的经济状况和需求及出发城市、交通方式等。 + +**本地信息** + +吉林省省会长春市坐落在美丽的吉林大学校园里(误),气候冬冷夏凉,七月中气温 21-26 左右,日间平均 24 度,微风。得益于长春市 30 余所高校和一汽集团带来的大量学生和外侨,长春是一座相当开放、友好、包容的城市。 + +**交通信息** + +吉林大学周边交通较为便利: + +- 长春龙嘉国际机场已开通 50 余条国内航线,覆盖全国大多数主要城市,高铁 15 分钟车程往返市区,班次频繁 +- 长春站、长春西站是京哈高铁、铁路上的主要车站,日均发送旅客数万人次;从长春站内换乘轨交,半小时左右到达吉林大学附近 +- 市内轨道交通在运线路 6 条,并有绵密的公交线路 250 余条 +- 网约车、巡游出租车充足;网约车更加经济 + +**住宿信息** + +吉林大学周边住宿选择类型较多: + +- 一般独立旅馆:种类数目繁多,70-300 丰俭由人 +- 如家酒店:大床标间均为 175 ,距离较近 +- 华住汉庭:大床 224-338 ,标间 231-353 ,距离较远 +- 亚朵酒店(四星):大床 420 ,标间 460 +- 东方悦华(五星):大床 580 ,标间 680 + +以上时价供各位参考。由于校园较大,视乎周边交通和实地考察,亦可考虑谈判协议,后期会给出更具体的住宿指南。 + +**旅游景点** + +长春市内有包括红旗街、桂林路在内的多个商圈,知名的旅游景点包括伪满皇宫博物院、长春电影制片厂、净月潭国家森林公园等,有闲暇的朋友还可以前往长春市周边游览长白山。 + +### 南阳理工学院联络人寄语 + +![南阳理工大学齐贤园](/assets/news/coffee-break/20240427/imgs/nyist.jpg) + +南阳理工学院计算机与信息化处理协会 ([NYIST-CIPS](https://cips.nyist.edu.cn/)) 是由南阳理工学院在校的 GNU/Linux 爱好者发起并组成的团体。 + +通过定期举办各类技术讲座与工作坊,涵盖 GNU/Linux 操作系统、开源软件开发、网络安全等热门话题,我们致力于搭建信息交流共享的平台,宣传自由软件的价值,提高自由软件社区文化氛围,推广自由软件的应用。 + +今年,学校为 AOSCC 提供场地支持,包括会议厅、展示区域等;学校领导亦对 AOSCC 在我校举办表示支持,并将提供必要的指导和帮助确保活动顺利进行。此外,学校和社团将协助在校园内通过横幅、海报、校园电子屏等方式进行 AOSCC 的宣传推广。校园媒体也将对 AOSCC 活动进行报道和宣传,提高活动的知名度和影响力。 + +**交通信息** + +本地公共交通较为便利: + +- 从南阳市汽车站到达的同学,乘坐 S207 路公交车在南阳理工学院下车即到 +- 从火车站、飞机场到达的同学,乘坐 4 路公交车在南阳理工学院下车即到 +- 从高铁站南阳东站到达的同学,乘坐 45 路公交车在南阳理工学院站下车即到 + +**住宿信息** + +周边部分宾馆标间时价与联系信息如下(区号 0377): + +- 龙湾温泉酒店(每晚约 120 - 145 元)61605666 +- 欧亚商务酒店(每晚约 90 - 170 元):67096777 +- 锦景精选酒店理工店(每晚约 115 - 145 元):62059999 +- 南岸明珠商务酒店(每晚约 85 - 140 元):62078999 +- 汉庭南阳红都时代广场酒店 (每晚约 210 - 260 元):63861888 +- 全季南阳中关村产业园酒店(每晚约 270 - 330 元):63658888 + +**与会者福利** + +经与校领导沟通,在参会期间学校可为与会者提供正餐(学校餐厅/盒饭,待定)。由于学校预算限制以及其他条件制约,无法承担参会人员的交通和住宿费用。 + +系统快讯 +-------- + +### 界面升级:oma 1.3 发布 + +![oma 1.3 的 TUI 界面预览](/assets/news/coffee-break/20240413/imgs/oma-1.3.png) + +今日,社区开发者[傅孝元](https://github.com/eatradish)发布了小熊猫包管理 oma 的 1.3 版本,包含许多特性和改进: + +- 终端管理界面 (TUI):提供直观的搜索、安装和管理功能 +- 界面调优:改进测试源界面 (`oma topics`),将已启用的测试源在顶部列出;增强依赖错误输出,提供详细查错信息与指引 +- 进程管理改进:报告进程锁信息和运行状态,以便用户理解进程锁定情况 + +### 从较老的系统版本更新时可能遇到错误 + +根据多位用户报告,在从较老的系统镜像 (<= 20240331) 更新时可能会遇到错误。这是我们近期大批量更新底层软件时产生的依赖环造成的,仍需进一步修缮。 + +如果您遇到此类问题,请运行如下一系列命令解决(其中第一个命令的错误是可以忽略的): + +```bash +sudo dpkg --configure --force-depends --force-configure-any systemd linux-pam +sudo dpkg -i /var/cache/apt/archives/util-linux-runtime_*.deb +sudo oma fix-broken +sudo oma upgrade +``` + +我们为此带来的不便表示歉意。 + +开发者角 +-------- + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [杨欣辉](https://github.com/Cyanoxygen) +- [dynos01](https://github.com/dynos01) +- [傅孝元](https://github.com/eatradish) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [KexyBiscuit](https://github.com/KexyBiscuit) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [秦斐然](https://github.com/Nyovelt) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [ouankou](https://github.com/ouankou) +- [skybird](https://github.com/SkyBird233) +- [StephDC](https://github.com/StephDC) +- [温柔](https://github.com/xunpod) + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-05-01-aoscc-2024-call-for-volunteers.md b/content/news/2024-05-01-aoscc-2024-call-for-volunteers.md new file mode 100644 index 00000000..e1e4709a --- /dev/null +++ b/content/news/2024-05-01-aoscc-2024-call-for-volunteers.md @@ -0,0 +1,22 @@ +--- +categories: + - news +title: "有你更精彩:AOSCC 2024 诚招志愿者!" +date: 2024-05-01T22:19:13-08:00 +important: false + +--- +![AOSCC 2024 倒计时正式开始!](/assets/news/coffee-break/20240427/imgs/aoscc-2024.png) + +去年的 AOSCC 是我们有史以来规模最大的线下聚会——超过 110 人到会参与活动;在欣喜之余,我们也认识到在许多会务筹备和运营工作上的不足,其中最突出的一点便是筹备期间人力紧张。 + +如果您有兴趣为 AOSCC 2024: + +- 设计贴纸集和周边 +- 联系讲者 +- 组织宣发 +- 维护现场秩序和卫生 + +请在社区[各主要群组](http://aosc.io/zh-cn/contact)报名,我们将在微信协同社团方面建立 AOSCC 2024 工作群,在聚会前后组织和沟通工作。 + +AOSCC 2024,有你更精彩! diff --git a/content/news/2024-05-01-aoscc-2024-call-for-volunteers.zh-cn.md b/content/news/2024-05-01-aoscc-2024-call-for-volunteers.zh-cn.md new file mode 100644 index 00000000..e1e4709a --- /dev/null +++ b/content/news/2024-05-01-aoscc-2024-call-for-volunteers.zh-cn.md @@ -0,0 +1,22 @@ +--- +categories: + - news +title: "有你更精彩:AOSCC 2024 诚招志愿者!" +date: 2024-05-01T22:19:13-08:00 +important: false + +--- +![AOSCC 2024 倒计时正式开始!](/assets/news/coffee-break/20240427/imgs/aoscc-2024.png) + +去年的 AOSCC 是我们有史以来规模最大的线下聚会——超过 110 人到会参与活动;在欣喜之余,我们也认识到在许多会务筹备和运营工作上的不足,其中最突出的一点便是筹备期间人力紧张。 + +如果您有兴趣为 AOSCC 2024: + +- 设计贴纸集和周边 +- 联系讲者 +- 组织宣发 +- 维护现场秩序和卫生 + +请在社区[各主要群组](http://aosc.io/zh-cn/contact)报名,我们将在微信协同社团方面建立 AOSCC 2024 工作群,在聚会前后组织和沟通工作。 + +AOSCC 2024,有你更精彩! diff --git a/content/news/2024-05-01-aoscc-2024-poll-review.md b/content/news/2024-05-01-aoscc-2024-poll-review.md new file mode 100644 index 00000000..a46bdf62 --- /dev/null +++ b/content/news/2024-05-01-aoscc-2024-poll-review.md @@ -0,0 +1,15 @@ +--- +categories: + - minutes +title: "紧张刺激:AOSCC 2024 投票结果" +date: 2024-05-01T22:18:13-08:00 +important: false + +--- +![AOSCC 2024 投票结果](/assets/news/coffee-break/20240512/imgs/aoscc-2024-poll.png) + +一周间,共有超过 500 人次参与了 AOSCC 2024 年的场地投票,足见各位对 AOSCC 的关注,感谢各位踊跃参与! + +最终,吉林大学以 310:249 的优势胜出,成为 AOSCC 2024 的东道主;这也将是[吉林大学 Linux 用户组](https://jlulug.org/)负责人 @TechCiel 在吉林大学的最后一年,希望今年的 AOSCC 也能为他的社团生涯画下美好的句点。 + +在未来两个半月中,我们将和吉林大学校方老师、领导及 Linux 用户组的同学们一同投入到 AOSCC 2024 的筹备工作中,望合作愉快! diff --git a/content/news/2024-05-01-aoscc-2024-poll-review.zh-cn.md b/content/news/2024-05-01-aoscc-2024-poll-review.zh-cn.md new file mode 100644 index 00000000..a46bdf62 --- /dev/null +++ b/content/news/2024-05-01-aoscc-2024-poll-review.zh-cn.md @@ -0,0 +1,15 @@ +--- +categories: + - minutes +title: "紧张刺激:AOSCC 2024 投票结果" +date: 2024-05-01T22:18:13-08:00 +important: false + +--- +![AOSCC 2024 投票结果](/assets/news/coffee-break/20240512/imgs/aoscc-2024-poll.png) + +一周间,共有超过 500 人次参与了 AOSCC 2024 年的场地投票,足见各位对 AOSCC 的关注,感谢各位踊跃参与! + +最终,吉林大学以 310:249 的优势胜出,成为 AOSCC 2024 的东道主;这也将是[吉林大学 Linux 用户组](https://jlulug.org/)负责人 @TechCiel 在吉林大学的最后一年,希望今年的 AOSCC 也能为他的社团生涯画下美好的句点。 + +在未来两个半月中,我们将和吉林大学校方老师、领导及 Linux 用户组的同学们一同投入到 AOSCC 2024 的筹备工作中,望合作愉快! diff --git a/content/news/2024-05-01-liblol-0.1.5.md b/content/news/2024-05-01-liblol-0.1.5.md new file mode 100644 index 00000000..db2759f6 --- /dev/null +++ b/content/news/2024-05-01-liblol-0.1.5.md @@ -0,0 +1,23 @@ +--- +categories: + - news + - advisories +title: "libLoL 0.1.5 发布" +date: 2024-05-01T22:19:13-08:00 +important: false + +--- +![LibLoL](/assets/news/coffee-break/20240512/imgs/liblol.png) + +近日,社区开发者[王邈](https://github.com/shankerwangmiao)发布了龙架构旧世界 ABI 兼容运行时 libLoL 的 0.1.5 版:Glibc 版本更新至 2.39,编译时新增 ABI 及符号完整性检查,并将 libcrypt 库实现更改为 libxcrypt;这些更改的主要目的是避免潜在的兼容性问题。 + +libLoL 支持如下新世界龙架构发行版: + +- [安同 OS (AOSC OS) ](https://liblol.aosc.io/docs/usage/#aosc-os) +- [Debian ](https://liblol.aosc.io/docs/usage/#debian) +- [深度 (Deepin) ](https://liblol.aosc.io/docs/usage/#deepin) +- [Gentoo ](https://liblol.aosc.io/docs/usage/#gentoo) +- [Loong Arch Linux(Arch Linux 龙架构衍生版) ](https://liblol.aosc.io/docs/usage/#loong-arch-linux) +- [Slackwareloong(Slackware 龙架构衍生版) ](https://liblol.aosc.io/docs/usage/#slackwareloong) + +如果您在使用 libLoL 0.1.5 的过程中发现问题或遇到困难,请通过社区各聊天群组或社区论坛与联系我们。 diff --git a/content/news/2024-05-01-liblol-0.1.5.zh-cn.md b/content/news/2024-05-01-liblol-0.1.5.zh-cn.md new file mode 100644 index 00000000..bd6e0ff2 --- /dev/null +++ b/content/news/2024-05-01-liblol-0.1.5.zh-cn.md @@ -0,0 +1,23 @@ +--- +categories: + - news + - advisories +title: "libLoL 0.1.5 发布" +date: 2024-05-01T22:19:13-08:00 +important: false + +--- +![LibLoL](/assets/news/coffee-break/20240512/imgs/liblol.png) + +近日,社区开发者[王邈](https://github.com/shankerwangmiao)发布了龙架构旧世界 ABI 兼容运行时 libLoL 的 0.1.5 版:Glibc 版本更新至 2.39,编译时新增 ABI 及符号完整性检查,并将 libcrypt 库实现更改为 libxcrypt;这些更改的主要目的是避免潜在的兼容性问题。 + +libLoL 支持如下新世界龙架构发行版: + +- 安同 OS (AOSC OS) (https://liblol.aosc.io/docs/usage/#aosc-os) +- Debian (https://liblol.aosc.io/docs/usage/#debian) +- 深度 (Deepin) (https://liblol.aosc.io/docs/usage/#deepin) +- Gentoo (https://liblol.aosc.io/docs/usage/#gentoo) +- Loong Arch Linux(Arch Linux 龙架构衍生版) (https://liblol.aosc.io/docs/usage/#loong-arch-linux) +- Slackwareloong(Slackware 龙架构衍生版) (https://liblol.aosc.io/docs/usage/#slackwareloong) + +如果您在使用 libLoL 0.1.5 的过程中发现问题或遇到困难,请通过社区各聊天群组或社区论坛与联系我们。 diff --git a/content/news/2024-05-03-aoscc-2024-working-group-meeting.md b/content/news/2024-05-03-aoscc-2024-working-group-meeting.md new file mode 100644 index 00000000..cc37cb77 --- /dev/null +++ b/content/news/2024-05-03-aoscc-2024-working-group-meeting.md @@ -0,0 +1,21 @@ +--- +categories: + - minutes +title: "预告:AOSCC 2024 工作组例会" +date: 2024-05-03T22:19:13-08:00 +important: false + +--- +![AOSCC 2024 倒计时正式开始!](/assets/news/coffee-break/20240427/imgs/aoscc-2024.png) +随着 AOSCC 2024 场地确认,社区线下聚会筹备工作就此展开。 + +我们计划在 UTC+8 时间周六晚七时(5 月 4 日)于腾讯会议组织例会,与来自吉林大学 Linux 用户组和社区志愿者商讨工作计划和分配。 + +本次例会主要讨论如下内容: + +- 场地报批 +- 报名和签到 +- 周边商品和纪念品 +- 志愿者及场地秩序手册、规则等 + +[参加例会 >>](https://meeting.tencent.com/dm/M2REF3Mn4KgQ) diff --git a/content/news/2024-05-03-aoscc-2024-working-group-meeting.zh-cn.md b/content/news/2024-05-03-aoscc-2024-working-group-meeting.zh-cn.md new file mode 100644 index 00000000..9def70aa --- /dev/null +++ b/content/news/2024-05-03-aoscc-2024-working-group-meeting.zh-cn.md @@ -0,0 +1,22 @@ +--- +categories: + - minutes +title: "预告:AOSCC 2024 工作组例会" +date: 2024-05-03T22:19:13-08:00 +important: false + +--- +![AOSCC 2024 倒计时正式开始!](/assets/news/coffee-break/20240427/imgs/aoscc-2024.png) + +随着 AOSCC 2024 场地确认,社区线下聚会筹备工作就此展开。 + +我们计划在 UTC+8 时间周六晚七时(5 月 4 日)于腾讯会议组织例会,与来自吉林大学 Linux 用户组和社区志愿者商讨工作计划和分配。 + +本次例会主要讨论如下内容: + +- 场地报批 +- 报名和签到 +- 周边商品和纪念品 +- 志愿者及场地秩序手册、规则等 + +[参加例会 >>](https://meeting.tencent.com/dm/M2REF3Mn4KgQ) diff --git a/content/news/2024-05-04-aoscc-2024-working-group-minutes.md b/content/news/2024-05-04-aoscc-2024-working-group-minutes.md new file mode 100644 index 00000000..2436cccb --- /dev/null +++ b/content/news/2024-05-04-aoscc-2024-working-group-minutes.md @@ -0,0 +1,25 @@ +--- +categories: + - minutes +title: "纪要:AOSCC 2024 工作组例会(5 月 4 日)" +date: 2024-05-04T22:19:13-08:00 +important: false + +--- + +日前,AOSCC 2024 志愿者与社区贡献者一同参加了 AOSCC 2024 工作组的第一次例会,本次例会讨论了如下话题: + +- 场地申报 +- 物流安排 +- 志愿者分工 +- 报名与签到 +- 福利与纪念品 +- 签名派对 +- 嘉宾与讲者 +- 秩序手册/参会指南 +- 前期宣传 +- 后续安排 + +我们计划在在会议场地相关手续办理完毕之后举行下次例会。 + +[点此阅读 >> ](https://wiki.aosc.io/developer/minutes/20240505/) diff --git a/content/news/2024-05-04-aoscc-2024-working-group-minutes.zh-cn.md b/content/news/2024-05-04-aoscc-2024-working-group-minutes.zh-cn.md new file mode 100644 index 00000000..2436cccb --- /dev/null +++ b/content/news/2024-05-04-aoscc-2024-working-group-minutes.zh-cn.md @@ -0,0 +1,25 @@ +--- +categories: + - minutes +title: "纪要:AOSCC 2024 工作组例会(5 月 4 日)" +date: 2024-05-04T22:19:13-08:00 +important: false + +--- + +日前,AOSCC 2024 志愿者与社区贡献者一同参加了 AOSCC 2024 工作组的第一次例会,本次例会讨论了如下话题: + +- 场地申报 +- 物流安排 +- 志愿者分工 +- 报名与签到 +- 福利与纪念品 +- 签名派对 +- 嘉宾与讲者 +- 秩序手册/参会指南 +- 前期宣传 +- 后续安排 + +我们计划在在会议场地相关手续办理完毕之后举行下次例会。 + +[点此阅读 >> ](https://wiki.aosc.io/developer/minutes/20240505/) diff --git a/content/news/2024-05-12-coffee-break.md b/content/news/2024-05-12-coffee-break.md new file mode 100644 index 00000000..7b209d77 --- /dev/null +++ b/content/news/2024-05-12-coffee-break.md @@ -0,0 +1,219 @@ +--- +categories: + - journals +title: "安记冰室・五月上" +date: 2024-05-12T12:00:00+08:00 +important: false + +--- + + +> “葫芦儿—— 冰塔儿——” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +社区脉动 +-------- + +### AOSCC 2024:咱上长春去! + +![AOSCC 2024 东道主:吉林大学 Linux 用户协会!](/assets/news/coffee-break/20240512/imgs/aoscc-2024-jlu.png) + +一年一度的社区线下聚会临近,来自多所院校的学生社团报名承办活动。最终,来自吉林大学和南阳理工学院的社团获得校方支持,角逐本年度 AOSCC 的东道主。为选出今年的活动场地,我们在 4 月 24 日至 5 月 1 日间组织了场地投票,期间有超过 500 人次参与了 AOSCC 2024 年的场地投票,足见社区对 AOSCC 的关注之高。 + +![AOSCC 2024 投票结果](/assets/news/coffee-break/20240512/imgs/aoscc-2024-poll.png) + +最终,吉林大学以 310:249 的优势胜出,成为 AOSCC 2024 的东道主! + +在未来两个半月中,我们将和吉林大学校方老师、领导及 Linux 用户组的同学们一同投入到 AOSCC 2024 的筹备工作中,望合作愉快! + +### 网络存储双加速:社区新软件源服务器即将上线 + +![王邈与社区新软件源服务器在 Equinix HK5 机房前合影](/assets/news/coffee-break/20240512/imgs/junko-in-transit.jpg) + +位于美国加利福尼亚州弗里蒙特市 [Hurricane Electric](https://he.net/) Fremont 2 数据中心的社区软件源服务器部署已逾四年,其带宽和存储性能均已出现明显局限。为保障服务质量和网络性能,我们决定组装部署新的软件源服务器。在 [Apernet Internet Laboratory(光圈网络)](https://apernet.io/)的大力支持下,我们在其位于香港特别行政区将军澳的 [Equinix](https://equinix.com/) HK5 数据中心完成了新软件源的组装上架,并将于近期上线服务安同 OS(英译:AOSC OS)用户。 + +新软件源服务器的服务质量和性能将有显著提高,其配置如下: + +- 平台:华硕 RS700A-E9-RS12V2 1U 机架式服务器 +- 处理器:双路 AMD EPYC(霄龙)7282 处理器,共 32 核 64 线程 +- 内存:32 × 16GiB DDR4 ECC 内存,总容量达 512GiB +- 主存储:两块 7.68TB 西部数据 Ultrastar DC SN640 NVMe 固态硬盘,组成冗余阵列 (RAID 1) +- 网络:25Gbps 上下行带宽 + +由此可见,该服务器的计算性能(AMD Zen2,相对于当前服务器的 Intel Skylake 微架构)和存储性能(NVMe 固态,相对于当前的 SATA 机械硬盘)均得到了升级,相信将为各位用户朋友带来更好的系统软件安装和更新体验。 + +在此再次感谢 [Apernet Internet Laboratory(光圈网络)](https://apernet.io/)和 [Wencey Wang](https://github.com/WenceyWang) 同学在托管和服务器部件上的大力支持,以及[王邈](https://github.com/shankerwangmiao)多次奔赴香港机房对社区的新软件源服务器进行组装和测试! + +### 新世界很大:libLoL 0.1.5 发布 + +![新世界很大,libLoL 带您去看看!](/assets/news/coffee-break/20240512/imgs/liblol.png) + +近日,社区开发者[王邈](https://github.com/shankerwangmiao)发布了龙架构旧世界 ABI 兼容运行时 libLoL 的 0.1.5 版:glibc 版本更新至 2.39,编译时新增 ABI 及符号完整性检查,并将 libcrypt 库实现更改为 libxcrypt;这些更改的主要目的是避免潜在的兼容性问题。 + +libLoL 支持如下新世界龙架构发行版: + +- 安同 OS (AOSC OS) +- Debian +- 深度 (Deepin) +- Gentoo +- Loong Arch Linux(Arch Linux 龙架构衍生版) +- Slackwareloong(Slackware 龙架构衍生版) + +如果您在使用 libLoL 0.1.5 的过程中发现问题或遇到困难,请通过社区各聊天群组或社区论坛与联系我们; + +### 流浪相机 2024 作品一瞥 + +![流浪相机 2024 部分投稿作品图赏](/assets/news/coffee-break/20240512/imgs/roaming-camera.jpg) + +于 3 月 25 日启动的社区“流浪相机”活动已完成四站接力,使用社区好友借用的相机在全国各地接力摄影。日前,前方参与者发回许多风格各异、赏心悦目的投稿作品,供各位读者欣赏。 + +在未来数月中,剩余 6 位参与者还将继续在不同地市景点拍照,预计将于秋季到来前完成摄影,将“流浪”途中的美景呈现给各位。在“流浪相机”接力完成后,我们将整理和发布相册供社区好友订购,参与者投稿还将加入安同 OS 的默认壁纸包,给各位的电脑桌面带来新的光影和色彩。 + +系统快讯 +-------- + +### 安同 OS 核心包集 Core 11.4.1 发布 + +![Core 11 是安同 OS 在 2024 - 2024 周期的系统核心包集](/assets/news/coffee-break/20240512/imgs/core-11-banner.png) + +近日,安同 OS 核心包集 (Core) 发布了 11.4.1 版,主要更新 glibc 运行时库至 2.38。该更新旨在改善与龙架构 (LoongArch) 新世界 ABI 商业软件(如龙芯 x86 架构转译器和风华二号显卡驱动)的兼容性。 + +该更新还修复了 glibc 自带的域名服务缓存守护程序 nscd 中的四个安全漏洞: + +- [CVE-2024-33599](https://www.cve.org/CVERecord?id=CVE-2024-33599) +- [CVE-2024-33600](https://www.cve.org/CVERecord?id=CVE-2024-33600) +- [CVE-2024-33601](https://www.cve.org/CVERecord?id=CVE-2024-33601) +- [CVE-2024-33602](https://www.cve.org/CVERecord?id=CVE-2024-33602) + +### 新技术,新优化:Core 12 前瞻 + +![Core 12 将于今年暑期公开测试](/assets/news/coffee-break/20240512/imgs/core-12-banner.png) + +日前,[白铭骢](https://github.com/MingcongBai)和[陈嘉杰 (jiegec)](https://github.com/jiegec)发起了第 12 版系统核心包集 (Core 12) 的特性规划。该版核心包集将于今年暑期开启公测,包含诸如 glibc 2.39 和 GCC 编译器 14.1.0 等组件更新。 + +此外,Core 12 还将包含两个关键特性: + +- **HWCAPS 子目录:** Core 12 将基于 glibc 上游定义的 HWCAPS 子目录 (HWCAPS Subdirectory) 规范,为 x86 和 POWER 架构提供针对多种处理器微架构优化的运行时库,让各类搭载新处理器的硬件更好地利用新的架构和指令集扩展,提高性能 +- **增强二进制固化:** GCC 14 编译器引入了新的 `-fhardening` 加固 (Hardening) 选项,定义了一系列标准的二进制固化参数,标准均高于 Core 11 及之前的核心包集版本中定义的加固级别——基于 Core 12 工具链编译的二进制程序安全性将得到进一步强化 + +### 功能增强,修复细化:一睹 Linux 内核 6.9 版更新内容 + +![Linux 6.9 即将发布!](/assets/news/coffee-break/20240512/imgs/kernel-6.9.png) + +Linux 内核 6.9 版将在发布在即,安同 OS 已对该版本更新进行充分测试验证,预计将于本周正式推送更新。安同 OS 的 Linux 6.9 内核包含许多更新和修缮: + +- **英特尔 xe 显卡驱动支持:** 为诸如 ARM 和龙架构等平台的安同 OS 版本新增 Intel Arc/Xe 独立显卡支持 +- **龙架构 AMD 显卡稳定性修缮:** 针对龙架构平台的潜在硬件缺陷有针对性地禁用了 AMD GCN 第四代核心(代号 Polaris,即 AMD Radeon RX 400/500 及 AMD Radeon Pro WX\*100)的动态电源管理支持,极大降低了显卡驱动崩溃的几率 +- **龙架构睡眠修复:** 修复了大多数龙架构硬件平台上睡眠唤醒时会死机的问题,笔记本用户可以放心合盖睡眠了 + +### 龙芯 x86 架构转译器 LATX 1.5 开放测试 + +![LATX 可助您在龙架构设备上运行 x86 应用程序](/assets/news/coffee-break/20240512/imgs/latx-logo-concept.png) + +近日,龙芯中科发布了龙芯 x86 架构转译器 LATX 1.5 的测试版,并创建了内测群和[工单系统](https://github.com/deuso/latx-build/issues)供用户和开发者反馈意见。LATX 1.5 引入了新的指令集扩展(如向量扩展和二进制转译指令集)支持,并加入 AOT(预编译)和运行时库直通等优化手段,可显著改善 x86 应用程序的运行性能。搭配 Wine 使用时,LATX 亦可运行为微软 Windows 设计发行的各类 x86 应用程序。 + +安同 OS 也迅速响应,发布了 LATX 1.5.1-rc1 版本的测试源供各位测试。您可以使用如下命令获取 LATX 1.5 测试版更新: + +```bash +oma topics --opt-in latx-1.5.0 +``` + +如果您在使用 LATX 1.5 时遇到困难或发现问题,请通过龙芯中科职工临时搭建的[工单系统](https://github.com/deuso/latx-build/issues)报告反馈。 + +### Deb 系一家亲:小熊猫包管理 oma 初步实现 Debian/Ubuntu 支持 + +![小熊猫包管理登陆 Ubuntu 24.04 LTS!](/assets/news/coffee-break/20240512/imgs/oma-on-ubuntu.png) + +[傅孝元](https://github.com/eatradish)近日发布小熊猫包管理 [oma](https://github.com/AOSC-Dev/oma) 1.3.6 版更新,新增 Debian 和 Ubuntu 初步支持,让 Deb 系正统发行版也用上了来自安同“匪帮”的包管理前端,欢迎试用! + +我们将在近期发布面向 Debian 和 Ubuntu 等发行版用户的 oma 软件包,敬请期待! + +开发者角 +-------- + +### BuildIt! 自动化设施新增半自动更新功能 + +日前,[陈嘉杰 (jiegec)](https://github.com/jiegec)和[傅孝元](https://github.com/eatradish)为安同 OS 自动化构建设施 BuildIt! 实现了 `/bump` 命令,可根据 [aosc-findupdate](https://github.com/AOSC-Dev/aosc-findupdate) 工具返回的信息自动更新各类软件包并提交 Git 仓库、打开合并请求(对应测试源)。该功能将大幅度简化对软件包的常规更新和维护操作,节省维护者时间。 + +### Ciel 和 ACBS 发布更新:修复软件包变种连续构建 + +安同 OS 实现维护自动化后为构建工具链引入了软件包变种功能 (Package Modifier),以便自动构建诸如 OpenJDK 和 LLVM 等需要自举和重构的软件。但这一功能引入时暴露了构建容器管理器 [Ciel](https://github.com/AOSC-Dev/ciel-rs) 的本地软件包管理功能的漏洞,使得这些软件包无法正常连续构建。 + +为解决这一问题,[陈嘉杰 (jiegec)](https://github.com/jiegec)和[刘子兴](https://github.com/liushuyu)一同为容器管理器 [Ciel](https://github.com/AOSC-Dev/ciel-rs) 和软件包元数据管理器 [ACBS](https://github.com/AOSC-Dev/acbs) 实现了容器内外的状态通信功能,修复了连续构建软件包变种时的故障,各位维护者可以放心将此类软件包的构建交给自动化设施了。 + +### 子系统包模板标准化:Autobuild 4.2 发布 + +安同 OS 的 32 位 x86 子系统 (optenv32) 的维护缺乏标准规范且关注度不足,是个“老大难”问题。该子系统的维护困难直接导致了诸如 Steam 和各类 32 位软件的使用体验的落后和不完善。 + +近日,[杨欣辉](https://github.com/Cyanoxygen)发布了安同 OS 软件包构建工具 [Autobuild](https://github.com/AOSC-Dev/autobuild4) 的 4.2 版,为子系统组件包构建引入了一系列标准模板和参数,大大降低了此类软件包的维护成本并提高了软件包质量检查标准。配合近期的 optenv32 翻修计划,相信将在不远的将来改善原生及模拟环境(如龙架构 x86 转译器)中 32 位 x86 软件的使用体验。 + +### 更新查询自动化:Anicca(无常)项目 + +在安同 OS 系统维护中,其中一大工作项目便是更新各类软件包了。为了让维护者同事们更直观地了解各类软件包的更新情况,[Suyun](https://github.com/Suyun114) 发起了 [Anicca(无常)](https://github.com/AOSC-Dev/anicca)项目,利用 GitHub Actions 机制调用 [aosc-findupdate](https://github.com/AOSC-Dev/aosc-findupdate) 查询整个[软件包树](https://github.com/AOSC-Dev/aosc-os-abbs)的更新并将结果呈现到表格中。 + +此外,为降低 Anicca 项目的维护成本,[傅孝元](https://github.com/eatradish)为 [aosc-findupdate](https://github.com/AOSC-Dev/aosc-findupdate) 新增了 JSON 支持功能,以便程序化地解析和呈现更新检查的结果;[skybird](https://github.com/SkyBird233) 也为 Anicca 设计了网页前端,现已提交至 Anicca 仓库供贡献者测试审阅。 + +### minipkgsite:迷你软件包信息站 + +由于设计复杂和稳定性欠佳,社区的软件包信息网站 [AOSC OS Packages](https://packages.aosc.io) 可用性长期欠佳且亟需修缮。也正因如此,发行版软件包版本监测网站 [Repology](https://repology.org/) 早前也移除了安同 OS 的版本监测。 + +考虑到修缮软件包站工作繁重,[傅孝元](https://github.com/eatradish)编写了名为 [minipkgsite](https://github.com/AOSC-Dev/minipkgsite) 的最小化软件包信息站。该网站带有包含基础功能的软件包查询前端及公开 API,相信将为安同 OS 重返 [Repology](https://repology.org/) 提供必要条件。 + +### 别了,Autobuild3 + +日前,[白铭骢](https://github.com/MingcongBai)和[柴天浩](https://github.com/cthbleachbit)完成了安同 OS [软件包树](https://github.com/AOSC-Dev/aosc-os-abbs)中工具脚本的 [Autobuild4](https://github.com/AOSC-Dev/autobuild4) 适配。至此,陪伴了安同 OS 维护者近十年的 [Autobuild3](https://github.com/AOSC-Dev/autobuild3) 正式退休,成为社区项目归档中的一员。 + +别了,Autobuild3,我们会记住您错误憋着不报的臭脾气。 + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [Henry Chen](https://github.com/chenx97) +- [Coelacanthus](https://github.com/CoelacanthusHex) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [德州润华](https://github.com/HouLiXieBuRou) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [ouankou](https://github.com/ouankou) +- [SignKirigami](https://github.com/prcups) +- [Rick Liu](https://github.com/rickliu2000) +- [王邈](https://github.com/shankerwangmiao) +- [skybird](https://github.com/SkyBird233) +- [Suyun](https://github.com/Suyun114) +- [温柔](https://github.com/xunpod) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [Aoba K](https://github.com/nexplorer-3e) +- [Sharelter](https://github.com/Sharelter) +- [Student Main](https://github.com/stdmnpkg) + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-05-12-coffee-break.zh-cn.md b/content/news/2024-05-12-coffee-break.zh-cn.md new file mode 100644 index 00000000..7b209d77 --- /dev/null +++ b/content/news/2024-05-12-coffee-break.zh-cn.md @@ -0,0 +1,219 @@ +--- +categories: + - journals +title: "安记冰室・五月上" +date: 2024-05-12T12:00:00+08:00 +important: false + +--- + + +> “葫芦儿—— 冰塔儿——” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +社区脉动 +-------- + +### AOSCC 2024:咱上长春去! + +![AOSCC 2024 东道主:吉林大学 Linux 用户协会!](/assets/news/coffee-break/20240512/imgs/aoscc-2024-jlu.png) + +一年一度的社区线下聚会临近,来自多所院校的学生社团报名承办活动。最终,来自吉林大学和南阳理工学院的社团获得校方支持,角逐本年度 AOSCC 的东道主。为选出今年的活动场地,我们在 4 月 24 日至 5 月 1 日间组织了场地投票,期间有超过 500 人次参与了 AOSCC 2024 年的场地投票,足见社区对 AOSCC 的关注之高。 + +![AOSCC 2024 投票结果](/assets/news/coffee-break/20240512/imgs/aoscc-2024-poll.png) + +最终,吉林大学以 310:249 的优势胜出,成为 AOSCC 2024 的东道主! + +在未来两个半月中,我们将和吉林大学校方老师、领导及 Linux 用户组的同学们一同投入到 AOSCC 2024 的筹备工作中,望合作愉快! + +### 网络存储双加速:社区新软件源服务器即将上线 + +![王邈与社区新软件源服务器在 Equinix HK5 机房前合影](/assets/news/coffee-break/20240512/imgs/junko-in-transit.jpg) + +位于美国加利福尼亚州弗里蒙特市 [Hurricane Electric](https://he.net/) Fremont 2 数据中心的社区软件源服务器部署已逾四年,其带宽和存储性能均已出现明显局限。为保障服务质量和网络性能,我们决定组装部署新的软件源服务器。在 [Apernet Internet Laboratory(光圈网络)](https://apernet.io/)的大力支持下,我们在其位于香港特别行政区将军澳的 [Equinix](https://equinix.com/) HK5 数据中心完成了新软件源的组装上架,并将于近期上线服务安同 OS(英译:AOSC OS)用户。 + +新软件源服务器的服务质量和性能将有显著提高,其配置如下: + +- 平台:华硕 RS700A-E9-RS12V2 1U 机架式服务器 +- 处理器:双路 AMD EPYC(霄龙)7282 处理器,共 32 核 64 线程 +- 内存:32 × 16GiB DDR4 ECC 内存,总容量达 512GiB +- 主存储:两块 7.68TB 西部数据 Ultrastar DC SN640 NVMe 固态硬盘,组成冗余阵列 (RAID 1) +- 网络:25Gbps 上下行带宽 + +由此可见,该服务器的计算性能(AMD Zen2,相对于当前服务器的 Intel Skylake 微架构)和存储性能(NVMe 固态,相对于当前的 SATA 机械硬盘)均得到了升级,相信将为各位用户朋友带来更好的系统软件安装和更新体验。 + +在此再次感谢 [Apernet Internet Laboratory(光圈网络)](https://apernet.io/)和 [Wencey Wang](https://github.com/WenceyWang) 同学在托管和服务器部件上的大力支持,以及[王邈](https://github.com/shankerwangmiao)多次奔赴香港机房对社区的新软件源服务器进行组装和测试! + +### 新世界很大:libLoL 0.1.5 发布 + +![新世界很大,libLoL 带您去看看!](/assets/news/coffee-break/20240512/imgs/liblol.png) + +近日,社区开发者[王邈](https://github.com/shankerwangmiao)发布了龙架构旧世界 ABI 兼容运行时 libLoL 的 0.1.5 版:glibc 版本更新至 2.39,编译时新增 ABI 及符号完整性检查,并将 libcrypt 库实现更改为 libxcrypt;这些更改的主要目的是避免潜在的兼容性问题。 + +libLoL 支持如下新世界龙架构发行版: + +- 安同 OS (AOSC OS) +- Debian +- 深度 (Deepin) +- Gentoo +- Loong Arch Linux(Arch Linux 龙架构衍生版) +- Slackwareloong(Slackware 龙架构衍生版) + +如果您在使用 libLoL 0.1.5 的过程中发现问题或遇到困难,请通过社区各聊天群组或社区论坛与联系我们; + +### 流浪相机 2024 作品一瞥 + +![流浪相机 2024 部分投稿作品图赏](/assets/news/coffee-break/20240512/imgs/roaming-camera.jpg) + +于 3 月 25 日启动的社区“流浪相机”活动已完成四站接力,使用社区好友借用的相机在全国各地接力摄影。日前,前方参与者发回许多风格各异、赏心悦目的投稿作品,供各位读者欣赏。 + +在未来数月中,剩余 6 位参与者还将继续在不同地市景点拍照,预计将于秋季到来前完成摄影,将“流浪”途中的美景呈现给各位。在“流浪相机”接力完成后,我们将整理和发布相册供社区好友订购,参与者投稿还将加入安同 OS 的默认壁纸包,给各位的电脑桌面带来新的光影和色彩。 + +系统快讯 +-------- + +### 安同 OS 核心包集 Core 11.4.1 发布 + +![Core 11 是安同 OS 在 2024 - 2024 周期的系统核心包集](/assets/news/coffee-break/20240512/imgs/core-11-banner.png) + +近日,安同 OS 核心包集 (Core) 发布了 11.4.1 版,主要更新 glibc 运行时库至 2.38。该更新旨在改善与龙架构 (LoongArch) 新世界 ABI 商业软件(如龙芯 x86 架构转译器和风华二号显卡驱动)的兼容性。 + +该更新还修复了 glibc 自带的域名服务缓存守护程序 nscd 中的四个安全漏洞: + +- [CVE-2024-33599](https://www.cve.org/CVERecord?id=CVE-2024-33599) +- [CVE-2024-33600](https://www.cve.org/CVERecord?id=CVE-2024-33600) +- [CVE-2024-33601](https://www.cve.org/CVERecord?id=CVE-2024-33601) +- [CVE-2024-33602](https://www.cve.org/CVERecord?id=CVE-2024-33602) + +### 新技术,新优化:Core 12 前瞻 + +![Core 12 将于今年暑期公开测试](/assets/news/coffee-break/20240512/imgs/core-12-banner.png) + +日前,[白铭骢](https://github.com/MingcongBai)和[陈嘉杰 (jiegec)](https://github.com/jiegec)发起了第 12 版系统核心包集 (Core 12) 的特性规划。该版核心包集将于今年暑期开启公测,包含诸如 glibc 2.39 和 GCC 编译器 14.1.0 等组件更新。 + +此外,Core 12 还将包含两个关键特性: + +- **HWCAPS 子目录:** Core 12 将基于 glibc 上游定义的 HWCAPS 子目录 (HWCAPS Subdirectory) 规范,为 x86 和 POWER 架构提供针对多种处理器微架构优化的运行时库,让各类搭载新处理器的硬件更好地利用新的架构和指令集扩展,提高性能 +- **增强二进制固化:** GCC 14 编译器引入了新的 `-fhardening` 加固 (Hardening) 选项,定义了一系列标准的二进制固化参数,标准均高于 Core 11 及之前的核心包集版本中定义的加固级别——基于 Core 12 工具链编译的二进制程序安全性将得到进一步强化 + +### 功能增强,修复细化:一睹 Linux 内核 6.9 版更新内容 + +![Linux 6.9 即将发布!](/assets/news/coffee-break/20240512/imgs/kernel-6.9.png) + +Linux 内核 6.9 版将在发布在即,安同 OS 已对该版本更新进行充分测试验证,预计将于本周正式推送更新。安同 OS 的 Linux 6.9 内核包含许多更新和修缮: + +- **英特尔 xe 显卡驱动支持:** 为诸如 ARM 和龙架构等平台的安同 OS 版本新增 Intel Arc/Xe 独立显卡支持 +- **龙架构 AMD 显卡稳定性修缮:** 针对龙架构平台的潜在硬件缺陷有针对性地禁用了 AMD GCN 第四代核心(代号 Polaris,即 AMD Radeon RX 400/500 及 AMD Radeon Pro WX\*100)的动态电源管理支持,极大降低了显卡驱动崩溃的几率 +- **龙架构睡眠修复:** 修复了大多数龙架构硬件平台上睡眠唤醒时会死机的问题,笔记本用户可以放心合盖睡眠了 + +### 龙芯 x86 架构转译器 LATX 1.5 开放测试 + +![LATX 可助您在龙架构设备上运行 x86 应用程序](/assets/news/coffee-break/20240512/imgs/latx-logo-concept.png) + +近日,龙芯中科发布了龙芯 x86 架构转译器 LATX 1.5 的测试版,并创建了内测群和[工单系统](https://github.com/deuso/latx-build/issues)供用户和开发者反馈意见。LATX 1.5 引入了新的指令集扩展(如向量扩展和二进制转译指令集)支持,并加入 AOT(预编译)和运行时库直通等优化手段,可显著改善 x86 应用程序的运行性能。搭配 Wine 使用时,LATX 亦可运行为微软 Windows 设计发行的各类 x86 应用程序。 + +安同 OS 也迅速响应,发布了 LATX 1.5.1-rc1 版本的测试源供各位测试。您可以使用如下命令获取 LATX 1.5 测试版更新: + +```bash +oma topics --opt-in latx-1.5.0 +``` + +如果您在使用 LATX 1.5 时遇到困难或发现问题,请通过龙芯中科职工临时搭建的[工单系统](https://github.com/deuso/latx-build/issues)报告反馈。 + +### Deb 系一家亲:小熊猫包管理 oma 初步实现 Debian/Ubuntu 支持 + +![小熊猫包管理登陆 Ubuntu 24.04 LTS!](/assets/news/coffee-break/20240512/imgs/oma-on-ubuntu.png) + +[傅孝元](https://github.com/eatradish)近日发布小熊猫包管理 [oma](https://github.com/AOSC-Dev/oma) 1.3.6 版更新,新增 Debian 和 Ubuntu 初步支持,让 Deb 系正统发行版也用上了来自安同“匪帮”的包管理前端,欢迎试用! + +我们将在近期发布面向 Debian 和 Ubuntu 等发行版用户的 oma 软件包,敬请期待! + +开发者角 +-------- + +### BuildIt! 自动化设施新增半自动更新功能 + +日前,[陈嘉杰 (jiegec)](https://github.com/jiegec)和[傅孝元](https://github.com/eatradish)为安同 OS 自动化构建设施 BuildIt! 实现了 `/bump` 命令,可根据 [aosc-findupdate](https://github.com/AOSC-Dev/aosc-findupdate) 工具返回的信息自动更新各类软件包并提交 Git 仓库、打开合并请求(对应测试源)。该功能将大幅度简化对软件包的常规更新和维护操作,节省维护者时间。 + +### Ciel 和 ACBS 发布更新:修复软件包变种连续构建 + +安同 OS 实现维护自动化后为构建工具链引入了软件包变种功能 (Package Modifier),以便自动构建诸如 OpenJDK 和 LLVM 等需要自举和重构的软件。但这一功能引入时暴露了构建容器管理器 [Ciel](https://github.com/AOSC-Dev/ciel-rs) 的本地软件包管理功能的漏洞,使得这些软件包无法正常连续构建。 + +为解决这一问题,[陈嘉杰 (jiegec)](https://github.com/jiegec)和[刘子兴](https://github.com/liushuyu)一同为容器管理器 [Ciel](https://github.com/AOSC-Dev/ciel-rs) 和软件包元数据管理器 [ACBS](https://github.com/AOSC-Dev/acbs) 实现了容器内外的状态通信功能,修复了连续构建软件包变种时的故障,各位维护者可以放心将此类软件包的构建交给自动化设施了。 + +### 子系统包模板标准化:Autobuild 4.2 发布 + +安同 OS 的 32 位 x86 子系统 (optenv32) 的维护缺乏标准规范且关注度不足,是个“老大难”问题。该子系统的维护困难直接导致了诸如 Steam 和各类 32 位软件的使用体验的落后和不完善。 + +近日,[杨欣辉](https://github.com/Cyanoxygen)发布了安同 OS 软件包构建工具 [Autobuild](https://github.com/AOSC-Dev/autobuild4) 的 4.2 版,为子系统组件包构建引入了一系列标准模板和参数,大大降低了此类软件包的维护成本并提高了软件包质量检查标准。配合近期的 optenv32 翻修计划,相信将在不远的将来改善原生及模拟环境(如龙架构 x86 转译器)中 32 位 x86 软件的使用体验。 + +### 更新查询自动化:Anicca(无常)项目 + +在安同 OS 系统维护中,其中一大工作项目便是更新各类软件包了。为了让维护者同事们更直观地了解各类软件包的更新情况,[Suyun](https://github.com/Suyun114) 发起了 [Anicca(无常)](https://github.com/AOSC-Dev/anicca)项目,利用 GitHub Actions 机制调用 [aosc-findupdate](https://github.com/AOSC-Dev/aosc-findupdate) 查询整个[软件包树](https://github.com/AOSC-Dev/aosc-os-abbs)的更新并将结果呈现到表格中。 + +此外,为降低 Anicca 项目的维护成本,[傅孝元](https://github.com/eatradish)为 [aosc-findupdate](https://github.com/AOSC-Dev/aosc-findupdate) 新增了 JSON 支持功能,以便程序化地解析和呈现更新检查的结果;[skybird](https://github.com/SkyBird233) 也为 Anicca 设计了网页前端,现已提交至 Anicca 仓库供贡献者测试审阅。 + +### minipkgsite:迷你软件包信息站 + +由于设计复杂和稳定性欠佳,社区的软件包信息网站 [AOSC OS Packages](https://packages.aosc.io) 可用性长期欠佳且亟需修缮。也正因如此,发行版软件包版本监测网站 [Repology](https://repology.org/) 早前也移除了安同 OS 的版本监测。 + +考虑到修缮软件包站工作繁重,[傅孝元](https://github.com/eatradish)编写了名为 [minipkgsite](https://github.com/AOSC-Dev/minipkgsite) 的最小化软件包信息站。该网站带有包含基础功能的软件包查询前端及公开 API,相信将为安同 OS 重返 [Repology](https://repology.org/) 提供必要条件。 + +### 别了,Autobuild3 + +日前,[白铭骢](https://github.com/MingcongBai)和[柴天浩](https://github.com/cthbleachbit)完成了安同 OS [软件包树](https://github.com/AOSC-Dev/aosc-os-abbs)中工具脚本的 [Autobuild4](https://github.com/AOSC-Dev/autobuild4) 适配。至此,陪伴了安同 OS 维护者近十年的 [Autobuild3](https://github.com/AOSC-Dev/autobuild3) 正式退休,成为社区项目归档中的一员。 + +别了,Autobuild3,我们会记住您错误憋着不报的臭脾气。 + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [Henry Chen](https://github.com/chenx97) +- [Coelacanthus](https://github.com/CoelacanthusHex) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [德州润华](https://github.com/HouLiXieBuRou) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [ouankou](https://github.com/ouankou) +- [SignKirigami](https://github.com/prcups) +- [Rick Liu](https://github.com/rickliu2000) +- [王邈](https://github.com/shankerwangmiao) +- [skybird](https://github.com/SkyBird233) +- [Suyun](https://github.com/Suyun114) +- [温柔](https://github.com/xunpod) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [Aoba K](https://github.com/nexplorer-3e) +- [Sharelter](https://github.com/Sharelter) +- [Student Main](https://github.com/stdmnpkg) + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-05-21-ospp-2024-jlu-preview.md b/content/news/2024-05-21-ospp-2024-jlu-preview.md new file mode 100644 index 00000000..d3102b19 --- /dev/null +++ b/content/news/2024-05-21-ospp-2024-jlu-preview.md @@ -0,0 +1,16 @@ +--- +categories: + - news +title: "OSPP2024 校园行走进吉林大学" +date: 2024-05-21T22:19:13-08:00 +important: false + +--- + +友情转发吉林大学 Linux 用户协会: + +>本周六下午一点半,我们将在计算机楼B108举办开源之夏校园行活动。 +> +>三个小时,六场报告,一桌讨论,两次抽奖,我们邀请到了 PLCT 实验室项目总监吴伟老师、安同开源社区 AOSC 创始人白铭骢、软件所开源之夏运营负责人李梦老师等各路神仙,为大家呈现出不同视角下的开源与自由软件,深入探讨学生、高校与开源社区的关系。 +> +>欢迎对开源社区感兴趣的同学前来参加! diff --git a/content/news/2024-05-21-ospp-2024-jlu-preview.zh-cn.md b/content/news/2024-05-21-ospp-2024-jlu-preview.zh-cn.md new file mode 100644 index 00000000..d3102b19 --- /dev/null +++ b/content/news/2024-05-21-ospp-2024-jlu-preview.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - news +title: "OSPP2024 校园行走进吉林大学" +date: 2024-05-21T22:19:13-08:00 +important: false + +--- + +友情转发吉林大学 Linux 用户协会: + +>本周六下午一点半,我们将在计算机楼B108举办开源之夏校园行活动。 +> +>三个小时,六场报告,一桌讨论,两次抽奖,我们邀请到了 PLCT 实验室项目总监吴伟老师、安同开源社区 AOSC 创始人白铭骢、软件所开源之夏运营负责人李梦老师等各路神仙,为大家呈现出不同视角下的开源与自由软件,深入探讨学生、高校与开源社区的关系。 +> +>欢迎对开源社区感兴趣的同学前来参加! diff --git a/content/news/2024-05-24-new-aarch64-build-server.md b/content/news/2024-05-24-new-aarch64-build-server.md new file mode 100644 index 00000000..e701bb6f --- /dev/null +++ b/content/news/2024-05-24-new-aarch64-build-server.md @@ -0,0 +1,13 @@ +--- +categories: + - news +title: "AArch64 新构建服务器上线" +date: 2024-05-21T22:19:13-08:00 +important: false + +--- +![](/assets/news/coffee-break/20240526/imgs/aarch64-new-server.png) + +近日,社区好友 @quiccat 为社区提供了一台基于华为鲲鹏 920 处理器的 AArch64 服务器,搭载 16 个虚拟化核心和 64GiB 内存,将助力安同 OS (AOSC OS) AArch64 移植的维护工作。 + +感谢 @quiccat 的捐赠及神楽坂早苗️提供的托管服务! diff --git a/content/news/2024-05-24-new-aarch64-build-server.zh-cn.md b/content/news/2024-05-24-new-aarch64-build-server.zh-cn.md new file mode 100644 index 00000000..e701bb6f --- /dev/null +++ b/content/news/2024-05-24-new-aarch64-build-server.zh-cn.md @@ -0,0 +1,13 @@ +--- +categories: + - news +title: "AArch64 新构建服务器上线" +date: 2024-05-21T22:19:13-08:00 +important: false + +--- +![](/assets/news/coffee-break/20240526/imgs/aarch64-new-server.png) + +近日,社区好友 @quiccat 为社区提供了一台基于华为鲲鹏 920 处理器的 AArch64 服务器,搭载 16 个虚拟化核心和 64GiB 内存,将助力安同 OS (AOSC OS) AArch64 移植的维护工作。 + +感谢 @quiccat 的捐赠及神楽坂早苗️提供的托管服务! diff --git a/content/news/2024-05-26-coffee-break.md b/content/news/2024-05-26-coffee-break.md new file mode 100644 index 00000000..c68a9498 --- /dev/null +++ b/content/news/2024-05-26-coffee-break.md @@ -0,0 +1,134 @@ +--- +categories: + - journals +title: "安记冰室・五月下" +date: 2024-05-26T12:00:00+08:00 +important: false + +--- + + +> “七些莫得?粉还是米面儿?” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +社区脉动 +-------- + +### 自白:安同开源社区、开源产业与全民信创 + +![白铭骢在软件所“开源之夏校园行”吉林大学站分享](/assets/news/coffee-break/20240526/imgs/ospp-jlu-2024.jpg) + +> 安同开源社区,一个由初中生创立的技术社区至今已走过超过 12 个年头。从“为中国创造”的初心、国际化接轨、本地化探索到与产业化和信创行业的互动,这个以志愿者组织、运作和管理的社区坚持用爱发电,推动国际开源软件和国产软硬件的民间关注与参与。在商业化社区与国家全力推进开源产业化的当今,安同开源社区要如何坚持自己的独特性、建设性乃至话语权? + +5 月 26 日,[白铭骢](https://github.com/MingcongBai)就这一课题在软件所“开源之夏校园行”吉林大学站的活动中与中国开源业界的专家们同台,分享了安同开源社区作为草根社区的工作、视角与倡议。该活动在 Bilibili 全程直播。 + +我们将在主办方完成视频剪辑后转发此段分享的录像,敬请期待! + +### AArch64 新构建服务器上线 + +![又一 AArch64 构建服务器上线,由华为鲲鹏 920 驱动](/assets/news/coffee-break/20240526/imgs/aarch64-new-server.png) + +近日,社区好友 quiccat 为社区提供了一台基于华为鲲鹏 920 处理器的 AArch64 服务器,搭载 16 个虚拟化核心和 64GiB 内存,将助力安同 OS (AOSC OS) AArch64 移植的维护工作。 + +感谢 quiccat 的捐赠及神楽坂早苗️提供的托管服务! + +系统快讯 +-------- + +### 八面玲珑:安同 OS 启动玲珑软件生态测试预览 + +![在安同 OS 上通过玲珑包管理安装的 deepin 浏览器、邮件客户端和日历应用](/assets/news/coffee-break/20240526/imgs/linglong-on-aosc.png) + +在发行版间软件生态割裂的当今,许多组织与单位都在探索应用容器化和标准化的分发方案,以期降低软件发行商的适配压力和用户的心智负担。[玲珑](https://linglong.dev/)是来自[统信软件技术有限公司](https://uniontech.com/)的又一跨发行版生态项目,主要提供各类国产及 deepin 第一方桌面应用。 + +日前,安同 OS 发起了玲珑软件包支持的测试源供各位用户测试反馈。至此,玲珑成为安同 OS 支持的第四个跨发行版生态。如果您有兴趣测试安同 OS 上玲珑的使用体验,请通过如下命令打开测试源并安装玲珑: + +``` +oma topics --opt-in linglong-0.15.2-new && oma install linglong +``` + +而后,您就可以通过 `ll-cli` 命令安装玲珑生态上的软件了。 + +> 请注意:目前玲珑的主要支持 x86-64 (`amd64`) 架构,其他架构(如 ARM 和龙架构)中的软件数量相当有限。 + +如果您在使用玲珑的过程中遇到问题或有疑问及反馈,请通过社区各聊天群组或社区论坛与联系我们,或直接前往玲珑的开发仓库[提交问题报告](https://github.com/linuxdeepin/linglong/issues)。 + +### oma 1.3 改善 Ubuntu 和第三方软件源支持 + +在上期介绍 [oma](https://github.com/AOSC-Dev/oma) 小熊猫包管理新增 Debian/Ubuntu 系列发行版初步支持后,[傅孝元](https://github.com/eatradish)又为 oma 新增了诸如 `Acquire-by-Hash` 和 [deb822](https://manpages.debian.org/unstable/apt/sources.list.5.en.html#DEB822-STYLE_FORMAT) 源配置格式等功能,也验证了一众由 [Packagecloud](https://packagecloud.io/) 管理生成的软件源支持(如 Vivaldi 浏览器)。 + +至此,oma 1.3.11 版本已可以基本完美地在 Debian 和 Ubuntu 上使用了。欢迎各位 Deb 系发行版用户试用! + +开发者角 +-------- + +### Bump-n-Roll:Annica 加入“手气不错”功能 + +继五月初[陈嘉杰 (jiegec)](https://github.com/jiegec)为 [BuildIt!](https://github.com/AOSC-Dev/buildit) 自动化维护设施实现 `/bump` 更新命令支持后,[傅孝元](https://github.com/eatradish)又为其新增了 `/roll` 命令,随机呈现 10 个需要更新的软件包给维护者们“试试手气”。 + +在这一命令实现后,安同 OS 的测试源数量再次迎来了高峰(笑)。各位维护者快来玩玩看,让您感兴趣的软件包得到应有的关注! + +### 走向全面自动化:安同 OS 软件包自动更新机制初步投产 + +BuildIt! 在解决构建和分发自动化之余,[傅孝元](https://github.com/eatradish)又通过 [autopr](https://github.com/AOSC-Dev/autopr) 实现了从更新探测开始的自动化辅助设施。autopr 可根据由维护者们编写的软件包更新白名单自动探测上游更新、在 [安同 OS 软件包树](https://github.com/AOSC-Dev/aosc-os-abbs) 开启合并请求、自动构建并申请维护者审阅。 + +这样一来,各类需要频繁更新的简单包,如硬件数据库 [hwdata](https://github.com/vcrhonek/hwdata) 和媒体下载工具 [yt-dlp](https://github.com/yt-dlp/yt-dlp) 等软件包都能得到第一时间的更新操作了——安同开源社区离维护自动化又近了一步。 + +### 系统发行自动化:ShipIt! 项目投产 + +自古以来(笑),安同 OS 的系统包生成和发布完全依赖人力,需要登录到各个架构的构建服务器上运行生成脚本并上传系统发行,过程冗长枯燥至极。这也导致了安同 OS 发布系统包的频率相当低,许多修复也没能得到及时的集成。 + +日前,[傅孝元](https://github.com/eatradish)开发了 [ShipIt!](https://github.com/AOSC-Dev/shipit) 项目,该设施可根据需要自动更新各类系统包并将其上传至预发布区供维护者测试验证。ShipIt! 以类似 BuildIt! 的逻辑实现了自动化系统包生成和发行设施,大大降低了系统包更新的负担。 + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [Henry Chen](https://github.com/chenx97) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [leavelet](https://github.com/leavelet) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [秦斐然](https://github.com/Nyovelt) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [ouankou](https://github.com/ouankou) +- [SignKirigami](https://github.com/prcups) +- [shatian114](https://github.com/shatian114) +- [skybird](https://github.com/SkyBird233) +- [Student Main](https://github.com/stdmnpkg) +- [Suyun](https://github.com/Suyun114) +- [xen0n](https://github.com/xen0n) +- [温柔](https://github.com/xunpod) + + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-05-26-coffee-break.zh-cn.md b/content/news/2024-05-26-coffee-break.zh-cn.md new file mode 100644 index 00000000..c68a9498 --- /dev/null +++ b/content/news/2024-05-26-coffee-break.zh-cn.md @@ -0,0 +1,134 @@ +--- +categories: + - journals +title: "安记冰室・五月下" +date: 2024-05-26T12:00:00+08:00 +important: false + +--- + + +> “七些莫得?粉还是米面儿?” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +社区脉动 +-------- + +### 自白:安同开源社区、开源产业与全民信创 + +![白铭骢在软件所“开源之夏校园行”吉林大学站分享](/assets/news/coffee-break/20240526/imgs/ospp-jlu-2024.jpg) + +> 安同开源社区,一个由初中生创立的技术社区至今已走过超过 12 个年头。从“为中国创造”的初心、国际化接轨、本地化探索到与产业化和信创行业的互动,这个以志愿者组织、运作和管理的社区坚持用爱发电,推动国际开源软件和国产软硬件的民间关注与参与。在商业化社区与国家全力推进开源产业化的当今,安同开源社区要如何坚持自己的独特性、建设性乃至话语权? + +5 月 26 日,[白铭骢](https://github.com/MingcongBai)就这一课题在软件所“开源之夏校园行”吉林大学站的活动中与中国开源业界的专家们同台,分享了安同开源社区作为草根社区的工作、视角与倡议。该活动在 Bilibili 全程直播。 + +我们将在主办方完成视频剪辑后转发此段分享的录像,敬请期待! + +### AArch64 新构建服务器上线 + +![又一 AArch64 构建服务器上线,由华为鲲鹏 920 驱动](/assets/news/coffee-break/20240526/imgs/aarch64-new-server.png) + +近日,社区好友 quiccat 为社区提供了一台基于华为鲲鹏 920 处理器的 AArch64 服务器,搭载 16 个虚拟化核心和 64GiB 内存,将助力安同 OS (AOSC OS) AArch64 移植的维护工作。 + +感谢 quiccat 的捐赠及神楽坂早苗️提供的托管服务! + +系统快讯 +-------- + +### 八面玲珑:安同 OS 启动玲珑软件生态测试预览 + +![在安同 OS 上通过玲珑包管理安装的 deepin 浏览器、邮件客户端和日历应用](/assets/news/coffee-break/20240526/imgs/linglong-on-aosc.png) + +在发行版间软件生态割裂的当今,许多组织与单位都在探索应用容器化和标准化的分发方案,以期降低软件发行商的适配压力和用户的心智负担。[玲珑](https://linglong.dev/)是来自[统信软件技术有限公司](https://uniontech.com/)的又一跨发行版生态项目,主要提供各类国产及 deepin 第一方桌面应用。 + +日前,安同 OS 发起了玲珑软件包支持的测试源供各位用户测试反馈。至此,玲珑成为安同 OS 支持的第四个跨发行版生态。如果您有兴趣测试安同 OS 上玲珑的使用体验,请通过如下命令打开测试源并安装玲珑: + +``` +oma topics --opt-in linglong-0.15.2-new && oma install linglong +``` + +而后,您就可以通过 `ll-cli` 命令安装玲珑生态上的软件了。 + +> 请注意:目前玲珑的主要支持 x86-64 (`amd64`) 架构,其他架构(如 ARM 和龙架构)中的软件数量相当有限。 + +如果您在使用玲珑的过程中遇到问题或有疑问及反馈,请通过社区各聊天群组或社区论坛与联系我们,或直接前往玲珑的开发仓库[提交问题报告](https://github.com/linuxdeepin/linglong/issues)。 + +### oma 1.3 改善 Ubuntu 和第三方软件源支持 + +在上期介绍 [oma](https://github.com/AOSC-Dev/oma) 小熊猫包管理新增 Debian/Ubuntu 系列发行版初步支持后,[傅孝元](https://github.com/eatradish)又为 oma 新增了诸如 `Acquire-by-Hash` 和 [deb822](https://manpages.debian.org/unstable/apt/sources.list.5.en.html#DEB822-STYLE_FORMAT) 源配置格式等功能,也验证了一众由 [Packagecloud](https://packagecloud.io/) 管理生成的软件源支持(如 Vivaldi 浏览器)。 + +至此,oma 1.3.11 版本已可以基本完美地在 Debian 和 Ubuntu 上使用了。欢迎各位 Deb 系发行版用户试用! + +开发者角 +-------- + +### Bump-n-Roll:Annica 加入“手气不错”功能 + +继五月初[陈嘉杰 (jiegec)](https://github.com/jiegec)为 [BuildIt!](https://github.com/AOSC-Dev/buildit) 自动化维护设施实现 `/bump` 更新命令支持后,[傅孝元](https://github.com/eatradish)又为其新增了 `/roll` 命令,随机呈现 10 个需要更新的软件包给维护者们“试试手气”。 + +在这一命令实现后,安同 OS 的测试源数量再次迎来了高峰(笑)。各位维护者快来玩玩看,让您感兴趣的软件包得到应有的关注! + +### 走向全面自动化:安同 OS 软件包自动更新机制初步投产 + +BuildIt! 在解决构建和分发自动化之余,[傅孝元](https://github.com/eatradish)又通过 [autopr](https://github.com/AOSC-Dev/autopr) 实现了从更新探测开始的自动化辅助设施。autopr 可根据由维护者们编写的软件包更新白名单自动探测上游更新、在 [安同 OS 软件包树](https://github.com/AOSC-Dev/aosc-os-abbs) 开启合并请求、自动构建并申请维护者审阅。 + +这样一来,各类需要频繁更新的简单包,如硬件数据库 [hwdata](https://github.com/vcrhonek/hwdata) 和媒体下载工具 [yt-dlp](https://github.com/yt-dlp/yt-dlp) 等软件包都能得到第一时间的更新操作了——安同开源社区离维护自动化又近了一步。 + +### 系统发行自动化:ShipIt! 项目投产 + +自古以来(笑),安同 OS 的系统包生成和发布完全依赖人力,需要登录到各个架构的构建服务器上运行生成脚本并上传系统发行,过程冗长枯燥至极。这也导致了安同 OS 发布系统包的频率相当低,许多修复也没能得到及时的集成。 + +日前,[傅孝元](https://github.com/eatradish)开发了 [ShipIt!](https://github.com/AOSC-Dev/shipit) 项目,该设施可根据需要自动更新各类系统包并将其上传至预发布区供维护者测试验证。ShipIt! 以类似 BuildIt! 的逻辑实现了自动化系统包生成和发行设施,大大降低了系统包更新的负担。 + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [Henry Chen](https://github.com/chenx97) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [leavelet](https://github.com/leavelet) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [秦斐然](https://github.com/Nyovelt) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [ouankou](https://github.com/ouankou) +- [SignKirigami](https://github.com/prcups) +- [shatian114](https://github.com/shatian114) +- [skybird](https://github.com/SkyBird233) +- [Student Main](https://github.com/stdmnpkg) +- [Suyun](https://github.com/Suyun114) +- [xen0n](https://github.com/xen0n) +- [温柔](https://github.com/xunpod) + + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-05-27-ospp-2024-planning-meeting.md b/content/news/2024-05-27-ospp-2024-planning-meeting.md new file mode 100644 index 00000000..bbfde1cc --- /dev/null +++ b/content/news/2024-05-27-ospp-2024-planning-meeting.md @@ -0,0 +1,14 @@ +--- +categories: + - minutes +title: "例会预告:OSPP 2024 审核筹备" +date: 2024-05-27T22:19:13-08:00 +important: false + +--- + +我们计划于 UTC+8 时间本周三(5 月 29 日)晚九时组织例会,讨论 OSPP 人选与考核计划。 + +> 会议已结束 + +[参加例会 >> ](https://discord.gg/VYPHgt9) diff --git a/content/news/2024-05-27-ospp-2024-planning-meeting.zh-cn.md b/content/news/2024-05-27-ospp-2024-planning-meeting.zh-cn.md new file mode 100644 index 00000000..bbfde1cc --- /dev/null +++ b/content/news/2024-05-27-ospp-2024-planning-meeting.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - minutes +title: "例会预告:OSPP 2024 审核筹备" +date: 2024-05-27T22:19:13-08:00 +important: false + +--- + +我们计划于 UTC+8 时间本周三(5 月 29 日)晚九时组织例会,讨论 OSPP 人选与考核计划。 + +> 会议已结束 + +[参加例会 >> ](https://discord.gg/VYPHgt9) diff --git a/content/news/2024-05-29-oma-upgrade-bug.md b/content/news/2024-05-29-oma-upgrade-bug.md new file mode 100644 index 00000000..db8e5f0a --- /dev/null +++ b/content/news/2024-05-29-oma-upgrade-bug.md @@ -0,0 +1,16 @@ +--- +categories: + - advisories +title: "[已修复] oma 可能接收不到软件包更新" +date: 2024-05-29T22:19:13-08:00 +important: false + +--- + +日前,我们发现 oma 小熊猫包管理存在 bug,无法接收到软件包更新信息。影响范围为 oma 1.3.12 与 oma 1.3.13。此问题在 oma 1.3.14 中修复,并已推至主源内。 + +您可使用如下命令升级至 oma 1.3.14: + +sudo apt update && sudo apt upgrade oma + +我们深感歉意,感谢大家的理解支持! diff --git a/content/news/2024-05-29-oma-upgrade-bug.zh-cn.md b/content/news/2024-05-29-oma-upgrade-bug.zh-cn.md new file mode 100644 index 00000000..db8e5f0a --- /dev/null +++ b/content/news/2024-05-29-oma-upgrade-bug.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - advisories +title: "[已修复] oma 可能接收不到软件包更新" +date: 2024-05-29T22:19:13-08:00 +important: false + +--- + +日前,我们发现 oma 小熊猫包管理存在 bug,无法接收到软件包更新信息。影响范围为 oma 1.3.12 与 oma 1.3.13。此问题在 oma 1.3.14 中修复,并已推至主源内。 + +您可使用如下命令升级至 oma 1.3.14: + +sudo apt update && sudo apt upgrade oma + +我们深感歉意,感谢大家的理解支持! diff --git a/content/news/2024-05-29-ospp-2024-jlu-vod.md b/content/news/2024-05-29-ospp-2024-jlu-vod.md new file mode 100644 index 00000000..98ce1a95 --- /dev/null +++ b/content/news/2024-05-29-ospp-2024-jlu-vod.md @@ -0,0 +1,15 @@ +--- +categories: + - news +title: "[直播回放]《一个草根社区的自白:安同开源社区、开源产业与全民信创》" +date: 2024-05-29T22:19:13-08:00 +important: false + +--- +![](/assets/news/coffee-break/20240526/imgs/ospp-jlu-2024.jpg) + +五月的最后一个周末,“开源之夏校园行”走进“求实创新 励志图强”的吉林大学,这是开源之夏 2024 校园行的第四站,也是开源之夏首次走进东北地区高校。 + +本次活动中,社区创始人和维护者白铭骢以《一个草根社区的自白:安同开源社区、开源产业与全民信创》为题,分享了社区及产出项目概况,并对我社与信创行业的关系进行了探讨和展望。 + +[点此观看回放 >> ](https://www.bilibili.com/video/BV1NZ421s7G1) diff --git a/content/news/2024-05-29-ospp-2024-jlu-vod.zh-cn.md b/content/news/2024-05-29-ospp-2024-jlu-vod.zh-cn.md new file mode 100644 index 00000000..98ce1a95 --- /dev/null +++ b/content/news/2024-05-29-ospp-2024-jlu-vod.zh-cn.md @@ -0,0 +1,15 @@ +--- +categories: + - news +title: "[直播回放]《一个草根社区的自白:安同开源社区、开源产业与全民信创》" +date: 2024-05-29T22:19:13-08:00 +important: false + +--- +![](/assets/news/coffee-break/20240526/imgs/ospp-jlu-2024.jpg) + +五月的最后一个周末,“开源之夏校园行”走进“求实创新 励志图强”的吉林大学,这是开源之夏 2024 校园行的第四站,也是开源之夏首次走进东北地区高校。 + +本次活动中,社区创始人和维护者白铭骢以《一个草根社区的自白:安同开源社区、开源产业与全民信创》为题,分享了社区及产出项目概况,并对我社与信创行业的关系进行了探讨和展望。 + +[点此观看回放 >> ](https://www.bilibili.com/video/BV1NZ421s7G1) diff --git a/content/news/2024-05-30-ospp-users-guide-exam.md b/content/news/2024-05-30-ospp-users-guide-exam.md new file mode 100644 index 00000000..2f5eaf9c --- /dev/null +++ b/content/news/2024-05-30-ospp-users-guide-exam.md @@ -0,0 +1,13 @@ +--- +categories: + - news +title: "《设计编写安同 OS 用户手册及编写规范》摸底考核" +date: 2024-05-29T22:19:13-08:00 +important: false + +--- +为更公平透明地选拔我社 OSPP 2024 项目[《设计编写安同 OS 用户手册及编写规范》 ](https://summer-ospp.ac.cn/org/prodetail/24f3e0161)的学生人选,导师 温柔@xunpod 设计了一套题目,用于了解学生的必要知识掌握情况、业务能力及项目思路;所有报名学生均须完成此考核方能进入选拔阶段。 + +请报名了该项目的学生于 UTC+8 时间 6 月 20 日 16:59 前完成作答并按照考核文档中的指引提交答卷。 + +[点此下载 >>](https://repo.aosc.io/aosc-documentation/ospp-2024/users-guide/20240530-ospp-users-guide-exam.md) diff --git a/content/news/2024-05-30-ospp-users-guide-exam.zh-cn.md b/content/news/2024-05-30-ospp-users-guide-exam.zh-cn.md new file mode 100644 index 00000000..2f5eaf9c --- /dev/null +++ b/content/news/2024-05-30-ospp-users-guide-exam.zh-cn.md @@ -0,0 +1,13 @@ +--- +categories: + - news +title: "《设计编写安同 OS 用户手册及编写规范》摸底考核" +date: 2024-05-29T22:19:13-08:00 +important: false + +--- +为更公平透明地选拔我社 OSPP 2024 项目[《设计编写安同 OS 用户手册及编写规范》 ](https://summer-ospp.ac.cn/org/prodetail/24f3e0161)的学生人选,导师 温柔@xunpod 设计了一套题目,用于了解学生的必要知识掌握情况、业务能力及项目思路;所有报名学生均须完成此考核方能进入选拔阶段。 + +请报名了该项目的学生于 UTC+8 时间 6 月 20 日 16:59 前完成作答并按照考核文档中的指引提交答卷。 + +[点此下载 >>](https://repo.aosc.io/aosc-documentation/ospp-2024/users-guide/20240530-ospp-users-guide-exam.md) diff --git a/content/news/2024-06-01-aoscc-2024-working-group-meeting.md b/content/news/2024-06-01-aoscc-2024-working-group-meeting.md new file mode 100644 index 00000000..f52cd5ec --- /dev/null +++ b/content/news/2024-06-01-aoscc-2024-working-group-meeting.md @@ -0,0 +1,20 @@ +--- +categories: + - minutes +title: "预告:AOSCC 2024 工作组例会" +date: 2024-06-01T23:19:13-08:00 +important: false + +--- +![AOSCC 2024 倒计时正式开始!](/assets/news/coffee-break/20240427/imgs/aoscc-2024.png) +AOSCC 2024 场地手续即将完成,社区线下聚会筹备工作正在加速。 + +我们计划在 UTC+8 时间本周日(6 月 2 日)晚九时于腾讯会议组织例会,与来自吉林大学 Linux 用户组和社区志愿者商讨工作计划和分配。 + +本次例会计划讨论或执行如下内容: + +- 报名表设计 +- 周边设计分工 +- 讲者提名与邀请 + +[参加例会 >>](https://meeting.tencent.com/dm/MolpFZV1OD30) diff --git a/content/news/2024-06-01-aoscc-2024-working-group-meeting.zh-cn.md b/content/news/2024-06-01-aoscc-2024-working-group-meeting.zh-cn.md new file mode 100644 index 00000000..f52cd5ec --- /dev/null +++ b/content/news/2024-06-01-aoscc-2024-working-group-meeting.zh-cn.md @@ -0,0 +1,20 @@ +--- +categories: + - minutes +title: "预告:AOSCC 2024 工作组例会" +date: 2024-06-01T23:19:13-08:00 +important: false + +--- +![AOSCC 2024 倒计时正式开始!](/assets/news/coffee-break/20240427/imgs/aoscc-2024.png) +AOSCC 2024 场地手续即将完成,社区线下聚会筹备工作正在加速。 + +我们计划在 UTC+8 时间本周日(6 月 2 日)晚九时于腾讯会议组织例会,与来自吉林大学 Linux 用户组和社区志愿者商讨工作计划和分配。 + +本次例会计划讨论或执行如下内容: + +- 报名表设计 +- 周边设计分工 +- 讲者提名与邀请 + +[参加例会 >>](https://meeting.tencent.com/dm/MolpFZV1OD30) diff --git a/content/news/2024-06-01-packages-site-meeting-notice.md b/content/news/2024-06-01-packages-site-meeting-notice.md new file mode 100644 index 00000000..5bef099b --- /dev/null +++ b/content/news/2024-06-01-packages-site-meeting-notice.md @@ -0,0 +1,13 @@ +--- +categories: + - minutes +title: "例会预告:软件包信息站与 p-vector-rs 更改审阅" +date: 2024-06-01T22:19:13-08:00 +important: false + +--- +例会预告:软件包信息站与 p-vector-rs 更改审阅 + +我们计划于 UTC+8 时间本周日(6 月 2 日)下午二时组织例会,讨论软件包信息站重构需求、设计等事项,并对近期为软件源管理工具 [p-vector-rs](https://github.com/AOSC-Dev/p-vector-rs) 新增的 [Acquire-by-Hash](https://wiki.debian.org/DebianRepository/Format#Acquire-By-Hash) 功能代码进行审阅。 + +[参加例会 >> ](https://discord.gg/VYPHgt9) diff --git a/content/news/2024-06-01-packages-site-meeting-notice.zh-cn.md b/content/news/2024-06-01-packages-site-meeting-notice.zh-cn.md new file mode 100644 index 00000000..5bef099b --- /dev/null +++ b/content/news/2024-06-01-packages-site-meeting-notice.zh-cn.md @@ -0,0 +1,13 @@ +--- +categories: + - minutes +title: "例会预告:软件包信息站与 p-vector-rs 更改审阅" +date: 2024-06-01T22:19:13-08:00 +important: false + +--- +例会预告:软件包信息站与 p-vector-rs 更改审阅 + +我们计划于 UTC+8 时间本周日(6 月 2 日)下午二时组织例会,讨论软件包信息站重构需求、设计等事项,并对近期为软件源管理工具 [p-vector-rs](https://github.com/AOSC-Dev/p-vector-rs) 新增的 [Acquire-by-Hash](https://wiki.debian.org/DebianRepository/Format#Acquire-By-Hash) 功能代码进行审阅。 + +[参加例会 >> ](https://discord.gg/VYPHgt9) diff --git a/content/news/2024-06-02-aosc-sticker.md b/content/news/2024-06-02-aosc-sticker.md new file mode 100644 index 00000000..aba15983 --- /dev/null +++ b/content/news/2024-06-02-aosc-sticker.md @@ -0,0 +1,15 @@ +--- +categories: + - news +title: "好耶!安安同同贴图包来啦" +date: 2024-06-02T00:19:13-08:00 +important: false + +--- +![aosc-sticker](/assets/news/2024-06-02-aosc-sticker.jpg) + +哟嚯~ 来自[五十根炸虾](https://www.mihuashi.com/profiles/571437)老师的安安同同贴图包现已登陆 Telegram,并将于平台审核通过后上线 QQ 与微信平台。 + +七月 AOSCC 2024 还将发布更多安安同同周边,敬请期待! + +愿安安同同的贴图包为您的生活增添趣味! diff --git a/content/news/2024-06-02-aosc-sticker.zh-cn.md b/content/news/2024-06-02-aosc-sticker.zh-cn.md new file mode 100644 index 00000000..7de42022 --- /dev/null +++ b/content/news/2024-06-02-aosc-sticker.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - news +title: "好耶!安安同同贴图包来啦" +date: 2024-06-02T00:19:13-08:00 +important: false + +--- + +![aosc-sticker](/assets/news/2024-06-02-aosc-sticker.jpg) + +哟嚯~ 来自[五十根炸虾](https://www.mihuashi.com/profiles/571437)老师的安安同同贴图包现已登陆 Telegram,并将于平台审核通过后上线 QQ 与微信平台。 + +七月 AOSCC 2024 还将发布更多安安同同周边,敬请期待! + +愿安安同同的贴图包为您的生活增添趣味! diff --git a/content/news/2024-06-02-aoscc-2024-working-group-meeting-minutes.md b/content/news/2024-06-02-aoscc-2024-working-group-meeting-minutes.md new file mode 100644 index 00000000..1a845e4e --- /dev/null +++ b/content/news/2024-06-02-aoscc-2024-working-group-meeting-minutes.md @@ -0,0 +1,54 @@ +--- +categories: + - minutes +title: "会议纪要:AOSCC 2024 工作组例会" +date: 2024-06-02T23:19:13-08:00 +important: false + +--- + +报名表 +--- + +- 开始制作 AOSCC 2024 登记表 + - 实名登记(共享给校方安保部门及联系人:Ciel 和白铭骢) + - 法定姓名 + - 手机号(用于收取门禁短信) + - 证件号(身份证或护照) + - 联系方式 + - 各即时通讯平台联系方式,用作联系方式 + - 与会者名牌 + - 设计见 https://github.com/AOSC-Dev/aoscc/tree/master/2024/badges + - 多种样式可选 + - 预先印刷 + - 空模板(供现场填写) + - 匿名(无印) + - 酒店团体优惠 + - 提供选项,与会者自行判断 + - 感兴趣者可选择单人或拼房 + +周边文创 +--- + +- 可使用新的安安同同贴图包 +- Kexy Biscuit 联系亚克力钥匙串提供商 +- 其余计划:贴纸、T 恤、编织袋、保温杯 + +讲者 +--- + +- 目前已邀请 + - 统信科技的李成刚,分享 deepin 系统维护(安排在信创场) + - 龙芯中科的曾路,分享 LATX 工作(暂未确定是否能到会) +- 计划邀请 + - 刘子兴,Canonical Foundations Team 工程师 + - 陈华才、孙海勇、史璞金等龙芯中科工程师 + - 孙子谦,红帽(中国)公司工程师 + - 高涵 (Revy)、王雪瑞 (xen0n) 等来自社区的专家 + - PLCT 一线工程师/实习生(通过 PLCT 社区伙伴群统一联系收集意向,吴伟表示可以报销职工差旅) + - 此外:计划联系其他对社区较为友好的信创公司(如芯动科技)是否有一线职工希望来分享 + +下次例会 +--- + +至 7 月 13 日前每周日晚 9 时同步工作进展 diff --git a/content/news/2024-06-02-aoscc-2024-working-group-meeting-minutes.zh-cn.md b/content/news/2024-06-02-aoscc-2024-working-group-meeting-minutes.zh-cn.md new file mode 100644 index 00000000..1a845e4e --- /dev/null +++ b/content/news/2024-06-02-aoscc-2024-working-group-meeting-minutes.zh-cn.md @@ -0,0 +1,54 @@ +--- +categories: + - minutes +title: "会议纪要:AOSCC 2024 工作组例会" +date: 2024-06-02T23:19:13-08:00 +important: false + +--- + +报名表 +--- + +- 开始制作 AOSCC 2024 登记表 + - 实名登记(共享给校方安保部门及联系人:Ciel 和白铭骢) + - 法定姓名 + - 手机号(用于收取门禁短信) + - 证件号(身份证或护照) + - 联系方式 + - 各即时通讯平台联系方式,用作联系方式 + - 与会者名牌 + - 设计见 https://github.com/AOSC-Dev/aoscc/tree/master/2024/badges + - 多种样式可选 + - 预先印刷 + - 空模板(供现场填写) + - 匿名(无印) + - 酒店团体优惠 + - 提供选项,与会者自行判断 + - 感兴趣者可选择单人或拼房 + +周边文创 +--- + +- 可使用新的安安同同贴图包 +- Kexy Biscuit 联系亚克力钥匙串提供商 +- 其余计划:贴纸、T 恤、编织袋、保温杯 + +讲者 +--- + +- 目前已邀请 + - 统信科技的李成刚,分享 deepin 系统维护(安排在信创场) + - 龙芯中科的曾路,分享 LATX 工作(暂未确定是否能到会) +- 计划邀请 + - 刘子兴,Canonical Foundations Team 工程师 + - 陈华才、孙海勇、史璞金等龙芯中科工程师 + - 孙子谦,红帽(中国)公司工程师 + - 高涵 (Revy)、王雪瑞 (xen0n) 等来自社区的专家 + - PLCT 一线工程师/实习生(通过 PLCT 社区伙伴群统一联系收集意向,吴伟表示可以报销职工差旅) + - 此外:计划联系其他对社区较为友好的信创公司(如芯动科技)是否有一线职工希望来分享 + +下次例会 +--- + +至 7 月 13 日前每周日晚 9 时同步工作进展 diff --git a/content/news/2024-06-02-packages-site-meeting-minutes.md b/content/news/2024-06-02-packages-site-meeting-minutes.md new file mode 100644 index 00000000..ed880063 --- /dev/null +++ b/content/news/2024-06-02-packages-site-meeting-minutes.md @@ -0,0 +1,39 @@ +--- +categories: + - minutes +title: "会议纪要:软件包信息站与 p-vector-rs 更改审阅" +date: 2024-06-01T22:19:13-08:00 +important: false + +--- +软件包信息站需求讨论 +=== + +当前[软件包信息站](https://packages.aosc.io/)服务不稳定且原维护者已失联,故计划重新实现 + +今日例会讨论了关于重新实现时的特性及服务调整: + +- 需要排除的功能 + - 软件包质量监测页面 + - 面向开发者的功能,如 Topic 信息 +- 需要简化的功能 + - 将 Changelog 功能简化为 GitHub 历史页 + - Section 信息改为从 Packages 读取 + - 架构间软件包版本比较(只拉取最新的相对版本) +- 服务调整 + - 将信息站服务直接部署在新的香港源服务器上 + +p-vector-rs Acquire-by-Hash +=== + +- 已审阅代码,但部分代码需要重新调整 +- 可考虑使用非官方(如柴天浩的)源进行初步测试,避免服务事故 + +autopr 白名单调研 +=== + +- 初步确立如下白名单准入规则 + - 软件包足够简单 + - 软件包无版本管制(如 KDE 暂时不更新到 6) + - 软件包非运行时性质(避免潜在重构需求) +- 目前完成 `a` 与 `b` 开头软件包的登记,其余后续完成 diff --git a/content/news/2024-06-02-packages-site-meeting-minutes.zh-cn.md b/content/news/2024-06-02-packages-site-meeting-minutes.zh-cn.md new file mode 100644 index 00000000..ed880063 --- /dev/null +++ b/content/news/2024-06-02-packages-site-meeting-minutes.zh-cn.md @@ -0,0 +1,39 @@ +--- +categories: + - minutes +title: "会议纪要:软件包信息站与 p-vector-rs 更改审阅" +date: 2024-06-01T22:19:13-08:00 +important: false + +--- +软件包信息站需求讨论 +=== + +当前[软件包信息站](https://packages.aosc.io/)服务不稳定且原维护者已失联,故计划重新实现 + +今日例会讨论了关于重新实现时的特性及服务调整: + +- 需要排除的功能 + - 软件包质量监测页面 + - 面向开发者的功能,如 Topic 信息 +- 需要简化的功能 + - 将 Changelog 功能简化为 GitHub 历史页 + - Section 信息改为从 Packages 读取 + - 架构间软件包版本比较(只拉取最新的相对版本) +- 服务调整 + - 将信息站服务直接部署在新的香港源服务器上 + +p-vector-rs Acquire-by-Hash +=== + +- 已审阅代码,但部分代码需要重新调整 +- 可考虑使用非官方(如柴天浩的)源进行初步测试,避免服务事故 + +autopr 白名单调研 +=== + +- 初步确立如下白名单准入规则 + - 软件包足够简单 + - 软件包无版本管制(如 KDE 暂时不更新到 6) + - 软件包非运行时性质(避免潜在重构需求) +- 目前完成 `a` 与 `b` 开头软件包的登记,其余后续完成 diff --git a/content/news/2024-06-03-new-loongarch64-build-server.md b/content/news/2024-06-03-new-loongarch64-build-server.md new file mode 100644 index 00000000..9e4e01b9 --- /dev/null +++ b/content/news/2024-06-03-new-loongarch64-build-server.md @@ -0,0 +1,16 @@ +--- +categories: + - news +title: "龙架构新构建服务器上线" +date: 2024-06-03T22:19:13-08:00 +important: false + +--- +![](/assets/news/2024-06-02-new-loongarch64-build-server.jpg) + +近日,来自我社 QQ 群的好友“lang_H”向社区捐赠了一台龙芯 3A6000 NUC 小主机(搭载 32GiB 内存、256GB + 1TB 双 SSD存储), +助力我社 AOSC OS 龙架构版本的移植维护工作; + +该机器根据捐赠者请求命名为“loongcraft”。 + +目前该机器已开始接收 [BuildIt!](https://github.com/AOSC-Dev/buildit) 自动化框架分配的编译打包任务。 diff --git a/content/news/2024-06-03-new-loongarch64-build-server.zh-cn.md b/content/news/2024-06-03-new-loongarch64-build-server.zh-cn.md new file mode 100644 index 00000000..9e4e01b9 --- /dev/null +++ b/content/news/2024-06-03-new-loongarch64-build-server.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - news +title: "龙架构新构建服务器上线" +date: 2024-06-03T22:19:13-08:00 +important: false + +--- +![](/assets/news/2024-06-02-new-loongarch64-build-server.jpg) + +近日,来自我社 QQ 群的好友“lang_H”向社区捐赠了一台龙芯 3A6000 NUC 小主机(搭载 32GiB 内存、256GB + 1TB 双 SSD存储), +助力我社 AOSC OS 龙架构版本的移植维护工作; + +该机器根据捐赠者请求命名为“loongcraft”。 + +目前该机器已开始接收 [BuildIt!](https://github.com/AOSC-Dev/buildit) 自动化框架分配的编译打包任务。 diff --git a/content/news/2024-06-04-aosc-os-livekit-pre.md b/content/news/2024-06-04-aosc-os-livekit-pre.md new file mode 100644 index 00000000..a1ddea28 --- /dev/null +++ b/content/news/2024-06-04-aosc-os-livekit-pre.md @@ -0,0 +1,23 @@ +--- +categories: + - advisories +title: "安同 OS 图形安装程序预览镜像发布" +date: 2024-06-04T22:19:13-08:00 +important: false + +--- + +![](/assets/news/2024-06-04-aoscos-livekit-pre.jpg) +安装体验一直是安同 OS 的痛点:终端界面令人望而却步,英文界面晦涩难懂——这对一个标榜易用性的系统确实有种“言行不一”的观感;为解决这一问题,我们以微软 Windows XP 和 Vista(代号 Longhorn)早期测试版的安装程序为蓝本设计了图形安装向导。 + +新安装程序除了实现用户们“千呼万唤始出来”的图形界面外,还增加了大量操作说明,帮助用户理解各个配置选项;此外,我们还在安装过程中展示系统特性,并甄选了数十首(随机播放的)轻音乐,让系统安装过程不再枯燥乏味。 + +目前安同 OS 的图形安装向导基础特性已经完成,在贡献者内部也进行了简要测试,现发布预览镜像供用户们测试和提供反馈: + +- [x86-64](https://releases.aosc.io/os-amd64/livekit/preview/aosc-os_livekit_20240603.2_amd64.iso) +- [AArch64](https://releases.aosc.io/os-arm64/livekit/preview/aosc-os_livekit_20240603.2_arm64.iso) +- [龙架构(LoongArch)](https://releases.aosc.io/os-loongarch64/livekit/preview/aosc-os_livekit_20240603.2_loongarch64.iso) + +如果您在测试时遇到问题或困难,请通过社区[各聊天群组](https://aosc.io/zh-cn/contact/)或社区[论坛](https://bbs.aosc.io/)与我们联系。 + +感谢您的测试! diff --git a/content/news/2024-06-04-aosc-os-livekit-pre.zh-cn.md b/content/news/2024-06-04-aosc-os-livekit-pre.zh-cn.md new file mode 100644 index 00000000..a1ddea28 --- /dev/null +++ b/content/news/2024-06-04-aosc-os-livekit-pre.zh-cn.md @@ -0,0 +1,23 @@ +--- +categories: + - advisories +title: "安同 OS 图形安装程序预览镜像发布" +date: 2024-06-04T22:19:13-08:00 +important: false + +--- + +![](/assets/news/2024-06-04-aoscos-livekit-pre.jpg) +安装体验一直是安同 OS 的痛点:终端界面令人望而却步,英文界面晦涩难懂——这对一个标榜易用性的系统确实有种“言行不一”的观感;为解决这一问题,我们以微软 Windows XP 和 Vista(代号 Longhorn)早期测试版的安装程序为蓝本设计了图形安装向导。 + +新安装程序除了实现用户们“千呼万唤始出来”的图形界面外,还增加了大量操作说明,帮助用户理解各个配置选项;此外,我们还在安装过程中展示系统特性,并甄选了数十首(随机播放的)轻音乐,让系统安装过程不再枯燥乏味。 + +目前安同 OS 的图形安装向导基础特性已经完成,在贡献者内部也进行了简要测试,现发布预览镜像供用户们测试和提供反馈: + +- [x86-64](https://releases.aosc.io/os-amd64/livekit/preview/aosc-os_livekit_20240603.2_amd64.iso) +- [AArch64](https://releases.aosc.io/os-arm64/livekit/preview/aosc-os_livekit_20240603.2_arm64.iso) +- [龙架构(LoongArch)](https://releases.aosc.io/os-loongarch64/livekit/preview/aosc-os_livekit_20240603.2_loongarch64.iso) + +如果您在测试时遇到问题或困难,请通过社区[各聊天群组](https://aosc.io/zh-cn/contact/)或社区[论坛](https://bbs.aosc.io/)与我们联系。 + +感谢您的测试! diff --git a/content/news/2024-06-04-latx-1.5.2.md b/content/news/2024-06-04-latx-1.5.2.md new file mode 100644 index 00000000..8caa62f7 --- /dev/null +++ b/content/news/2024-06-04-latx-1.5.2.md @@ -0,0 +1,31 @@ +--- +categories: + - news +title: "警告:龙架构 LATX 1.5.2 更新可能需要手动干预" +date: 2024-06-04T23:19:13-08:00 +important: true + +--- + +LATX(龙芯 x86 架构转译器)1.5.2 版更新即将进入稳定源,但由于先前打包方式的问题,如果您当前已安装 LATX,请使用根据如下指令完成更新: + +1. 卸载先前安装的 LATX +```bash +oma remove latx +``` +2. 重启电脑 +```bash +reboot +``` +3. 重启电脑后,请先更新系统 +```bash +oma upgrade +``` +4. 重新安装 LATX +```bash +oma install latx +``` +如果您需要使用 Windows 程序,由于现在的 LATX 将 Wine(Windows 应用兼容层)相关组件拆分独立更新维护,请使用如下命令安装 Wine: +```bash +oma install wine +``` diff --git a/content/news/2024-06-04-latx-1.5.2.zh-cn.md b/content/news/2024-06-04-latx-1.5.2.zh-cn.md new file mode 100644 index 00000000..8caa62f7 --- /dev/null +++ b/content/news/2024-06-04-latx-1.5.2.zh-cn.md @@ -0,0 +1,31 @@ +--- +categories: + - news +title: "警告:龙架构 LATX 1.5.2 更新可能需要手动干预" +date: 2024-06-04T23:19:13-08:00 +important: true + +--- + +LATX(龙芯 x86 架构转译器)1.5.2 版更新即将进入稳定源,但由于先前打包方式的问题,如果您当前已安装 LATX,请使用根据如下指令完成更新: + +1. 卸载先前安装的 LATX +```bash +oma remove latx +``` +2. 重启电脑 +```bash +reboot +``` +3. 重启电脑后,请先更新系统 +```bash +oma upgrade +``` +4. 重新安装 LATX +```bash +oma install latx +``` +如果您需要使用 Windows 程序,由于现在的 LATX 将 Wine(Windows 应用兼容层)相关组件拆分独立更新维护,请使用如下命令安装 Wine: +```bash +oma install wine +``` diff --git a/content/news/2024-06-07-aosc-os-livekit-pre.md b/content/news/2024-06-07-aosc-os-livekit-pre.md new file mode 100644 index 00000000..6fed7cd1 --- /dev/null +++ b/content/news/2024-06-07-aosc-os-livekit-pre.md @@ -0,0 +1,40 @@ +--- +categories: + - news +title: "安同 OS 图形安装预览镜像更新(6 月 7 日)" +date: 2024-06-07T22:19:13-08:00 +important: false + +--- + +![](/assets/news/2024-06-04-aoscos-livekit-pre.jpg) + +## 更改日志 + +- 修复在 x86 以外架构错误显示 NVIDIA 版本系统的问题 +- 测试软件源后在镜像列表右侧显示测速结果 +- 修复主机名不允许使用 - 字符的问题 +- 修复打开 GParted 时界面锁死且无说明 +- 将 ESP 选择界面移至分区界面后,更符合操作逻辑 +- 将启动盘从分区界面上剔除 +- 将重启行为改为软复位并指引用户拔除 U 盘,降低故障几率 +- 不挂载 /run 虚拟系统,提高磁盘卸载可靠度 +- 将默认音量调整至 60%(原为 30%,根据用户反馈音量过小) + +## 下载链接 + +集成上述修复后,我们发布了一批新的预览镜像供进一步测试: + +- [x86-64 ](https://releases.aosc.io/os-amd64/livekit/preview/aosc-os_livekit_20240607_amd64.iso "x86-64 ") +- [AArch64 ](https://releases.aosc.io/os-arm64/livekit/preview/aosc-os_livekit_20240607_arm64.iso "AArch64 ") +- [龙架构(LoongArch) ](https://releases.aosc.io/os-loongarch64/livekit/preview/aosc-os_livekit_20240607_loongarch64.iso "龙架构(LoongArch) ") + +## 已知问题 + +在测试修复过程中,我们还发现了一系列问题,计划在下一批(大概率是正式版)镜像中修复: + +- “意欲何为?”页面的重启选项行为与最终重启界面的指示不一致,应告知用户在点击重启后立即移除安装镜像 +- 网络连接在设置后仍需点击“配置网络”后才能进入下一步 +- 目标存储选择界面依然列出了安装盘(应剔除) + +如果您在测试时遇到问题或困难,请通过社区[各聊天群组](https://aosc.io/zh-cn/contact/ "各聊天群组")或社区[论坛](https://bbs.aosc.io/ "论坛")与我们联系。 diff --git a/content/news/2024-06-07-aosc-os-livekit-pre.zh-cn.md b/content/news/2024-06-07-aosc-os-livekit-pre.zh-cn.md new file mode 100644 index 00000000..6fed7cd1 --- /dev/null +++ b/content/news/2024-06-07-aosc-os-livekit-pre.zh-cn.md @@ -0,0 +1,40 @@ +--- +categories: + - news +title: "安同 OS 图形安装预览镜像更新(6 月 7 日)" +date: 2024-06-07T22:19:13-08:00 +important: false + +--- + +![](/assets/news/2024-06-04-aoscos-livekit-pre.jpg) + +## 更改日志 + +- 修复在 x86 以外架构错误显示 NVIDIA 版本系统的问题 +- 测试软件源后在镜像列表右侧显示测速结果 +- 修复主机名不允许使用 - 字符的问题 +- 修复打开 GParted 时界面锁死且无说明 +- 将 ESP 选择界面移至分区界面后,更符合操作逻辑 +- 将启动盘从分区界面上剔除 +- 将重启行为改为软复位并指引用户拔除 U 盘,降低故障几率 +- 不挂载 /run 虚拟系统,提高磁盘卸载可靠度 +- 将默认音量调整至 60%(原为 30%,根据用户反馈音量过小) + +## 下载链接 + +集成上述修复后,我们发布了一批新的预览镜像供进一步测试: + +- [x86-64 ](https://releases.aosc.io/os-amd64/livekit/preview/aosc-os_livekit_20240607_amd64.iso "x86-64 ") +- [AArch64 ](https://releases.aosc.io/os-arm64/livekit/preview/aosc-os_livekit_20240607_arm64.iso "AArch64 ") +- [龙架构(LoongArch) ](https://releases.aosc.io/os-loongarch64/livekit/preview/aosc-os_livekit_20240607_loongarch64.iso "龙架构(LoongArch) ") + +## 已知问题 + +在测试修复过程中,我们还发现了一系列问题,计划在下一批(大概率是正式版)镜像中修复: + +- “意欲何为?”页面的重启选项行为与最终重启界面的指示不一致,应告知用户在点击重启后立即移除安装镜像 +- 网络连接在设置后仍需点击“配置网络”后才能进入下一步 +- 目标存储选择界面依然列出了安装盘(应剔除) + +如果您在测试时遇到问题或困难,请通过社区[各聊天群组](https://aosc.io/zh-cn/contact/ "各聊天群组")或社区[论坛](https://bbs.aosc.io/ "论坛")与我们联系。 diff --git a/content/news/2024-06-08-new-loongarch64-build-server.md b/content/news/2024-06-08-new-loongarch64-build-server.md new file mode 100644 index 00000000..16191b3b --- /dev/null +++ b/content/news/2024-06-08-new-loongarch64-build-server.md @@ -0,0 +1,11 @@ +--- +categories: + - news +title: "龙架构新构建服务器上线" +date: 2024-06-08T22:19:13-08:00 +important: false + +--- +![](/assets/news/2024-06-08-new-loongarch64-build-server.jpg) + +近日,社区一名好友捐赠了一台双路龙芯 3D5000 服务器(搭载 64 个核心及 256GiB 内存),助力我社安同 OS 龙架构版本的移植维护工作;该机器命名为 "Apocalypse",是我社性能最高的龙架构构建服务器。 diff --git a/content/news/2024-06-08-new-loongarch64-build-server.zh-cn.md b/content/news/2024-06-08-new-loongarch64-build-server.zh-cn.md new file mode 100644 index 00000000..16191b3b --- /dev/null +++ b/content/news/2024-06-08-new-loongarch64-build-server.zh-cn.md @@ -0,0 +1,11 @@ +--- +categories: + - news +title: "龙架构新构建服务器上线" +date: 2024-06-08T22:19:13-08:00 +important: false + +--- +![](/assets/news/2024-06-08-new-loongarch64-build-server.jpg) + +近日,社区一名好友捐赠了一台双路龙芯 3D5000 服务器(搭载 64 个核心及 256GiB 内存),助力我社安同 OS 龙架构版本的移植维护工作;该机器命名为 "Apocalypse",是我社性能最高的龙架构构建服务器。 diff --git a/content/news/2024-06-09-aoscc-2024-registration.md b/content/news/2024-06-09-aoscc-2024-registration.md new file mode 100644 index 00000000..03d6830b --- /dev/null +++ b/content/news/2024-06-09-aoscc-2024-registration.md @@ -0,0 +1,20 @@ +--- +categories: + - news +title: "AOSCC 2024 开放报名!" +date: 2024-06-09T23:19:13-08:00 +important: false + +--- + +![AOSCC 2024,咱上吉林大学去!](/assets/news/coffee-break/20240609/imgs/aoscc-2024-jlu.png) + +经过近一个月紧张的联络与组织工作,AOSCC 2024 工作组终于成功与吉林大学校方各部门达成协议——今年度的社区线下活动已得到校方正式批准!前序手续一切就绪,AOSCC 2024 报名也便正式开放了。 + +请有意参会者尽快完成报名登记,以便我们安排包括人员登记和协议酒店预订等的工作。 + +[点此报名 >>](https://www.wjx.top/vm/hwRCH7e.aspx) + + + +在未来数周中,我们将随着组织工作的进展持续发布讲者、日程和到场福利等信息,敬请关注我社各资讯渠道和 [AOSCC 2024 信息页](https://wiki.aosc.io/zh/community/aoscc/2024)。 diff --git a/content/news/2024-06-09-aoscc-2024-registration.zh-cn.md b/content/news/2024-06-09-aoscc-2024-registration.zh-cn.md new file mode 100644 index 00000000..03d6830b --- /dev/null +++ b/content/news/2024-06-09-aoscc-2024-registration.zh-cn.md @@ -0,0 +1,20 @@ +--- +categories: + - news +title: "AOSCC 2024 开放报名!" +date: 2024-06-09T23:19:13-08:00 +important: false + +--- + +![AOSCC 2024,咱上吉林大学去!](/assets/news/coffee-break/20240609/imgs/aoscc-2024-jlu.png) + +经过近一个月紧张的联络与组织工作,AOSCC 2024 工作组终于成功与吉林大学校方各部门达成协议——今年度的社区线下活动已得到校方正式批准!前序手续一切就绪,AOSCC 2024 报名也便正式开放了。 + +请有意参会者尽快完成报名登记,以便我们安排包括人员登记和协议酒店预订等的工作。 + +[点此报名 >>](https://www.wjx.top/vm/hwRCH7e.aspx) + + + +在未来数周中,我们将随着组织工作的进展持续发布讲者、日程和到场福利等信息,敬请关注我社各资讯渠道和 [AOSCC 2024 信息页](https://wiki.aosc.io/zh/community/aoscc/2024)。 diff --git a/content/news/2024-06-09-coffee-break.md b/content/news/2024-06-09-coffee-break.md new file mode 100644 index 00000000..a9cb5b4b --- /dev/null +++ b/content/news/2024-06-09-coffee-break.md @@ -0,0 +1,181 @@ +--- +categories: + - journals +title: "安记冰室・六月上" +date: 2024-06-09T12:00:00+08:00 +important: false + +--- + + +> “咸粽子还是甜粽子?” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +端午寄语 +-------- + +![新社区门户正紧锣密鼓开发中](/assets/news/coffee-break/20240609/imgs/new-portal.png) + +端午假期预示着夏季的到来,社区各项工作和活动也将随着 AOSCC 和暑假的到来进入新一轮高潮:AOSCC 2024 进入一个月倒计时、图形安装程序正式亮相、新社区门户即将上线(发张图秀一下) 、…… 相信今年夏季还将一如既往的令人难忘,也希望能在又一年的 AOSCC 与线上线下各位社区好友们一起相遇,一起安同。 + +遥祝各位端午安康。 + +— 白铭骢,2024 年 6 月 9 日 + +社区脉动 +-------- + +### 盛夏将至:AOSCC 2024 开放报名! + +![AOSCC 2024,咱上吉林大学去!](/assets/news/coffee-break/20240609/imgs/aoscc-2024-jlu.png) + +经过近一个月紧张的联络与组织工作,AOSCC 2024 工作组终于成功与吉林大学校方各部门达成协议——今年度的社区线下活动已得到校方正式批准!前序手续一切就绪,AOSCC 2024 报名也便正式开放了。 + +请有意参会者尽快完成报名登记,以便我们安排包括人员登记和协议酒店预订等的工作。 + +[点此报名 >>](https://www.wjx.top/vm/hwRCH7e.aspx) + + + +在未来数周中,我们将随着组织工作的进展持续发布讲者、日程和到场福利等信息,敬请关注我社各资讯渠道和 [AOSCC 2024 信息页](https://wiki.aosc.io/zh/community/aoscc/2024)。 + +### 好耶!安安同同贴图包来啦 + +![好耶!](/assets/news/coffee-break/20240609/imgs/anan-tongtong-sticker-pack.png) + +哟嚯~ 来自[五十根炸虾](https://www.mihuashi.com/profiles/571437)老师的安安同同贴图包现已登陆微信和 Telegram 平台。QQ 平台版本将于平台审核通过后和大家见面。 + +微信用户扫一扫下图中的二维码即可添加该表情包(关注安同开源公众号,点击“表情专辑”菜单项亦可一键获取此二维码)。 + +![微信用户可扫此二维码添加安安同同表情包](/assets/news/coffee-break/20240609/imgs/anan-tongtong-wechat-qrcode.png) + +> 备注:中国内地微信用户可在表情商店搜索“安安同同”添加此表情专辑;WeChat 用户可能无法使用表情商店相关功能,烦请使用扫一扫添加表情专辑。 + +我们还将于七月的 AOSCC 2024 线下聚会发布更多安安同同周边,敬请期待。 + +愿安安同同的贴图包为您的生活增添趣味! + +### 算力升级:社区接收两台龙架构 (LoongArch) 构建服务器 + +![什么!是活的 3D5000,还是双路?!](/assets/news/coffee-break/20240609/imgs/new-3d5000.png) + +过去两周,我们收到了两台由社区好友提供的龙架构 (LoongArch) 构建服务器,包括一台基于 3A6000 处理器(4 核心,8 线程)的小主机和一台双路 3D5000 服务器(64 核心),大幅度扩充了我社龙架构系统的维护算力。 + +感谢各位好友的信任和大力支持! + +### 报名者众:开源之夏 2024 社区实习项目即将确定录用顺序 + +![开源之夏 2024 活动日程](/assets/news/coffee-break/20240609/imgs/ospp-2024-schedule.png) + +6 月 4 日至 6 月 11 日,我们应主办方要求,组织导师们对报名我社[开源之夏 2024](https://summer-ospp.ac.cn/)实习项目的学生资料进行审核。由于我社项目报名学生众多,我们决定在 6 月 10 日前针对各项目需要对报名学生进行摸底考核,以便我们确定各实习项目的录用顺序。 + +为确保考核排序标准公开透明,我们计划在 UTC+8 时间 6 月 10 日晚九时组织例会讨论学生录用顺序。欢迎您届时在社区 Discord 语音频道参与讨论。 + +[参加例会 >>](https://meeting.tencent.com/dm/MolpFZV1OD30) + +### 草根社区在业界:开源之夏 2024 校园行直播回放 + +![白铭骢在开源之夏 2024 吉林大学校园行上的分享回放现已登录 Bilibili](/assets/news/coffee-break/20240609/imgs/ospp-2024-bilibili.png) + +五月底,我社创始人及贡献者白铭骢在软件所“开源之夏校园行”吉林大学站的活动中与中国开源业界的专家们同台,分享了安同开源社区作为草根社区的工作、视角与倡议。该分享的直播回放现已登录我社 Bilibili 频道,欢迎各位观看。 + +[观看回放 >>](https://www.bilibili.com/video/BV1NZ421s7G1/) + +系统快讯 +-------- + +### 告别旧时代:安同 OS 图形化安装程序发布预览镜像! + +![在基于龙芯 3A6000M 处理器的攀升笔记本电脑上安装安同 OS](/assets/news/coffee-break/20240609/imgs/aosc-os-gui-install.jpg) + +安装体验一直是安同 OS 的痛点:终端界面令人望而却步,英文界面晦涩难懂——这对一个标榜易用性的系统确实有种“言行不一”的观感。为解决这一问题,我们以微软 Windows XP 和 Vista(代号 Longhorn)早期测试版的安装程序为蓝本设计了图形安装向导。 + +新安装程序除了实现用户们“千呼万唤始出来”的图形界面外,还增加了大量操作说明,帮助用户理解各个配置选项。此外,我们还在安装过程中展示系统特性,并甄选了数十首(随机播放的)轻音乐,让系统安装过程不再枯燥乏味。 + +目前安同 OS 的图形安装向导基础特性已经完成,在贡献者内部也进行了简要测试,现发布预览镜像供用户们测试和提供反馈: + +- [x86-64](https://releases.aosc.io/os-amd64/livekit/preview/aosc-os_livekit_20240607_amd64.iso) +- [AArch64](https://releases.aosc.io/os-arm64/livekit/preview/aosc-os_livekit_20240607_arm64.iso) +- [龙架构 (LoongArch)](https://releases.aosc.io/os-loongarch64/livekit/preview/aosc-os_livekit_20240607_loongarch64.iso) + +如果您在测试时遇到问题或困难,请通过社区[各聊天群组](https://aosc.io/zh-cn/contact/)或[社区论坛](https://bbs.aosc.io/)与我们联系。 + +感谢您的测试! + +### 性能带宽双升级:社区软件源服务器完成迁移 + +![位于香港特别行政区将军澳机房的新软件源服务器为您效劳!](/assets/news/coffee-break/20240609/imgs/junko-speed.png) + +五月中旬,得力于 [Apernet Internet Laboratory(光圈网络)](https://apernet.io/)的大力支持下,我社在其位于香港特别行政区将军澳的 [Equinix](https://equinix.com/) HK5 数据中心完成了新软件源服务器的组装上架。本周末,我们组织社区各服务管理员顺利完成了软件源服务器内容及应用服务的迁移和上线。 + +新软件源服务器的服务质量和性能将有显著提高,其配置如下: + +- 平台:华硕 RS700A-E9-RS12V2 1U 机架式服务器 +- 处理器:双路 AMD EPYC(霄龙)7282 处理器,共 32 核 64 线程 +- 内存:32 × 16GiB DDR4 ECC 内存,总容量达 512GiB +- 主存储:两块 7.68TB 西部数据 Ultrastar DC SN640 NVMe 固态硬盘,组成冗余阵列 (RAID 1) +- 网络:25Gbps 上下行带宽 + +经多地贡献者测试,从新软件源服务器下载各类数据时,速率有较大提升。相信该服务器将大幅度改善国内安同 OS 用户软件包和系统镜像的下载体验。 + +开发者角 +-------- + +### 进阶自动化:安同 OS 软件包自动更新机制正式投产 + +上期《安记冰室》我们介绍了由[傅孝元](https://github.com/eatradish)开发的 [autopr](https://github.com/AOSC-Dev/autopr) 项目,可完全自主地检查软件包更新、创建测试工单并上传测试包,大幅度提高了安同 OS 维护的自动化程度。 + +近日,安同 OS 维护者们开始陆续将各类更新相对简单且无顾虑的软件包加入 autopr 的白名单。相信在未来这将极大提高安同 OS 软件包更新的时效性和维护质量。 + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [Henry Chen](https://github.com/chenx97) +- [柴天浩](https://github.com/cthbleachbit) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [ouankou](https://github.com/ouankou) +- [SignKirigami](https://github.com/prcups) +- [shatian114](https://github.com/shatian114) +- [skybird](https://github.com/SkyBird233) +- [Suyun](https://github.com/Suyun114) +- [温柔](https://github.com/xunpod) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [diredocks](https://github.com/diredocks) + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-06-09-coffee-break.zh-cn.md b/content/news/2024-06-09-coffee-break.zh-cn.md new file mode 100644 index 00000000..a9cb5b4b --- /dev/null +++ b/content/news/2024-06-09-coffee-break.zh-cn.md @@ -0,0 +1,181 @@ +--- +categories: + - journals +title: "安记冰室・六月上" +date: 2024-06-09T12:00:00+08:00 +important: false + +--- + + +> “咸粽子还是甜粽子?” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +端午寄语 +-------- + +![新社区门户正紧锣密鼓开发中](/assets/news/coffee-break/20240609/imgs/new-portal.png) + +端午假期预示着夏季的到来,社区各项工作和活动也将随着 AOSCC 和暑假的到来进入新一轮高潮:AOSCC 2024 进入一个月倒计时、图形安装程序正式亮相、新社区门户即将上线(发张图秀一下) 、…… 相信今年夏季还将一如既往的令人难忘,也希望能在又一年的 AOSCC 与线上线下各位社区好友们一起相遇,一起安同。 + +遥祝各位端午安康。 + +— 白铭骢,2024 年 6 月 9 日 + +社区脉动 +-------- + +### 盛夏将至:AOSCC 2024 开放报名! + +![AOSCC 2024,咱上吉林大学去!](/assets/news/coffee-break/20240609/imgs/aoscc-2024-jlu.png) + +经过近一个月紧张的联络与组织工作,AOSCC 2024 工作组终于成功与吉林大学校方各部门达成协议——今年度的社区线下活动已得到校方正式批准!前序手续一切就绪,AOSCC 2024 报名也便正式开放了。 + +请有意参会者尽快完成报名登记,以便我们安排包括人员登记和协议酒店预订等的工作。 + +[点此报名 >>](https://www.wjx.top/vm/hwRCH7e.aspx) + + + +在未来数周中,我们将随着组织工作的进展持续发布讲者、日程和到场福利等信息,敬请关注我社各资讯渠道和 [AOSCC 2024 信息页](https://wiki.aosc.io/zh/community/aoscc/2024)。 + +### 好耶!安安同同贴图包来啦 + +![好耶!](/assets/news/coffee-break/20240609/imgs/anan-tongtong-sticker-pack.png) + +哟嚯~ 来自[五十根炸虾](https://www.mihuashi.com/profiles/571437)老师的安安同同贴图包现已登陆微信和 Telegram 平台。QQ 平台版本将于平台审核通过后和大家见面。 + +微信用户扫一扫下图中的二维码即可添加该表情包(关注安同开源公众号,点击“表情专辑”菜单项亦可一键获取此二维码)。 + +![微信用户可扫此二维码添加安安同同表情包](/assets/news/coffee-break/20240609/imgs/anan-tongtong-wechat-qrcode.png) + +> 备注:中国内地微信用户可在表情商店搜索“安安同同”添加此表情专辑;WeChat 用户可能无法使用表情商店相关功能,烦请使用扫一扫添加表情专辑。 + +我们还将于七月的 AOSCC 2024 线下聚会发布更多安安同同周边,敬请期待。 + +愿安安同同的贴图包为您的生活增添趣味! + +### 算力升级:社区接收两台龙架构 (LoongArch) 构建服务器 + +![什么!是活的 3D5000,还是双路?!](/assets/news/coffee-break/20240609/imgs/new-3d5000.png) + +过去两周,我们收到了两台由社区好友提供的龙架构 (LoongArch) 构建服务器,包括一台基于 3A6000 处理器(4 核心,8 线程)的小主机和一台双路 3D5000 服务器(64 核心),大幅度扩充了我社龙架构系统的维护算力。 + +感谢各位好友的信任和大力支持! + +### 报名者众:开源之夏 2024 社区实习项目即将确定录用顺序 + +![开源之夏 2024 活动日程](/assets/news/coffee-break/20240609/imgs/ospp-2024-schedule.png) + +6 月 4 日至 6 月 11 日,我们应主办方要求,组织导师们对报名我社[开源之夏 2024](https://summer-ospp.ac.cn/)实习项目的学生资料进行审核。由于我社项目报名学生众多,我们决定在 6 月 10 日前针对各项目需要对报名学生进行摸底考核,以便我们确定各实习项目的录用顺序。 + +为确保考核排序标准公开透明,我们计划在 UTC+8 时间 6 月 10 日晚九时组织例会讨论学生录用顺序。欢迎您届时在社区 Discord 语音频道参与讨论。 + +[参加例会 >>](https://meeting.tencent.com/dm/MolpFZV1OD30) + +### 草根社区在业界:开源之夏 2024 校园行直播回放 + +![白铭骢在开源之夏 2024 吉林大学校园行上的分享回放现已登录 Bilibili](/assets/news/coffee-break/20240609/imgs/ospp-2024-bilibili.png) + +五月底,我社创始人及贡献者白铭骢在软件所“开源之夏校园行”吉林大学站的活动中与中国开源业界的专家们同台,分享了安同开源社区作为草根社区的工作、视角与倡议。该分享的直播回放现已登录我社 Bilibili 频道,欢迎各位观看。 + +[观看回放 >>](https://www.bilibili.com/video/BV1NZ421s7G1/) + +系统快讯 +-------- + +### 告别旧时代:安同 OS 图形化安装程序发布预览镜像! + +![在基于龙芯 3A6000M 处理器的攀升笔记本电脑上安装安同 OS](/assets/news/coffee-break/20240609/imgs/aosc-os-gui-install.jpg) + +安装体验一直是安同 OS 的痛点:终端界面令人望而却步,英文界面晦涩难懂——这对一个标榜易用性的系统确实有种“言行不一”的观感。为解决这一问题,我们以微软 Windows XP 和 Vista(代号 Longhorn)早期测试版的安装程序为蓝本设计了图形安装向导。 + +新安装程序除了实现用户们“千呼万唤始出来”的图形界面外,还增加了大量操作说明,帮助用户理解各个配置选项。此外,我们还在安装过程中展示系统特性,并甄选了数十首(随机播放的)轻音乐,让系统安装过程不再枯燥乏味。 + +目前安同 OS 的图形安装向导基础特性已经完成,在贡献者内部也进行了简要测试,现发布预览镜像供用户们测试和提供反馈: + +- [x86-64](https://releases.aosc.io/os-amd64/livekit/preview/aosc-os_livekit_20240607_amd64.iso) +- [AArch64](https://releases.aosc.io/os-arm64/livekit/preview/aosc-os_livekit_20240607_arm64.iso) +- [龙架构 (LoongArch)](https://releases.aosc.io/os-loongarch64/livekit/preview/aosc-os_livekit_20240607_loongarch64.iso) + +如果您在测试时遇到问题或困难,请通过社区[各聊天群组](https://aosc.io/zh-cn/contact/)或[社区论坛](https://bbs.aosc.io/)与我们联系。 + +感谢您的测试! + +### 性能带宽双升级:社区软件源服务器完成迁移 + +![位于香港特别行政区将军澳机房的新软件源服务器为您效劳!](/assets/news/coffee-break/20240609/imgs/junko-speed.png) + +五月中旬,得力于 [Apernet Internet Laboratory(光圈网络)](https://apernet.io/)的大力支持下,我社在其位于香港特别行政区将军澳的 [Equinix](https://equinix.com/) HK5 数据中心完成了新软件源服务器的组装上架。本周末,我们组织社区各服务管理员顺利完成了软件源服务器内容及应用服务的迁移和上线。 + +新软件源服务器的服务质量和性能将有显著提高,其配置如下: + +- 平台:华硕 RS700A-E9-RS12V2 1U 机架式服务器 +- 处理器:双路 AMD EPYC(霄龙)7282 处理器,共 32 核 64 线程 +- 内存:32 × 16GiB DDR4 ECC 内存,总容量达 512GiB +- 主存储:两块 7.68TB 西部数据 Ultrastar DC SN640 NVMe 固态硬盘,组成冗余阵列 (RAID 1) +- 网络:25Gbps 上下行带宽 + +经多地贡献者测试,从新软件源服务器下载各类数据时,速率有较大提升。相信该服务器将大幅度改善国内安同 OS 用户软件包和系统镜像的下载体验。 + +开发者角 +-------- + +### 进阶自动化:安同 OS 软件包自动更新机制正式投产 + +上期《安记冰室》我们介绍了由[傅孝元](https://github.com/eatradish)开发的 [autopr](https://github.com/AOSC-Dev/autopr) 项目,可完全自主地检查软件包更新、创建测试工单并上传测试包,大幅度提高了安同 OS 维护的自动化程度。 + +近日,安同 OS 维护者们开始陆续将各类更新相对简单且无顾虑的软件包加入 autopr 的白名单。相信在未来这将极大提高安同 OS 软件包更新的时效性和维护质量。 + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [Henry Chen](https://github.com/chenx97) +- [柴天浩](https://github.com/cthbleachbit) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [ouankou](https://github.com/ouankou) +- [SignKirigami](https://github.com/prcups) +- [shatian114](https://github.com/shatian114) +- [skybird](https://github.com/SkyBird233) +- [Suyun](https://github.com/Suyun114) +- [温柔](https://github.com/xunpod) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [diredocks](https://github.com/diredocks) + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-06-10-ospp-2024-exam-meeting.md b/content/news/2024-06-10-ospp-2024-exam-meeting.md new file mode 100644 index 00000000..fc407e18 --- /dev/null +++ b/content/news/2024-06-10-ospp-2024-exam-meeting.md @@ -0,0 +1,22 @@ +--- +categories: + - minutes +title: "例会:开源之夏(OSPP) 2024 社区实习项目考核结果讨论" +date: 2024-05-27T22:19:13-08:00 +important: false + +--- + +## 预告:开源之夏(OSPP) 2024 社区实习项目考核结果讨论 + + +6 月 4 日至 6 月 11 日,我们应主办方要求,组织导师们对报名我社[开源之夏 2024](https://summer-ospp.ac.cn/) 实习项目的学生资料进行审核;由于我社项目报名学生众多,我们决定在 6 月 10 日前针对各项目需要对报名学生进行摸底考核,以便我们确定各实习项目的录用顺序 + +为确保考核排序标准公开透明,我们计划在 UTC+8 时间 6 月 10 日晚九时组织例会讨论学生录用顺序 + +欢迎您届时在社区 Discord 语音频道参与讨论 + +[参加例会 >> ](https://discord.gg/VYPHgt9) + +## 纪要:开源之夏(OSPP) 2024 社区实习项目考核结果讨论 +三位社区导师已完成对实习项目学生的录用排序,社区将于 6 月 26 日公布中选学生;中选学生将通过社区主群组沟通工作。 diff --git a/content/news/2024-06-10-ospp-2024-exam-meeting.zh-cn.md b/content/news/2024-06-10-ospp-2024-exam-meeting.zh-cn.md new file mode 100644 index 00000000..fc407e18 --- /dev/null +++ b/content/news/2024-06-10-ospp-2024-exam-meeting.zh-cn.md @@ -0,0 +1,22 @@ +--- +categories: + - minutes +title: "例会:开源之夏(OSPP) 2024 社区实习项目考核结果讨论" +date: 2024-05-27T22:19:13-08:00 +important: false + +--- + +## 预告:开源之夏(OSPP) 2024 社区实习项目考核结果讨论 + + +6 月 4 日至 6 月 11 日,我们应主办方要求,组织导师们对报名我社[开源之夏 2024](https://summer-ospp.ac.cn/) 实习项目的学生资料进行审核;由于我社项目报名学生众多,我们决定在 6 月 10 日前针对各项目需要对报名学生进行摸底考核,以便我们确定各实习项目的录用顺序 + +为确保考核排序标准公开透明,我们计划在 UTC+8 时间 6 月 10 日晚九时组织例会讨论学生录用顺序 + +欢迎您届时在社区 Discord 语音频道参与讨论 + +[参加例会 >> ](https://discord.gg/VYPHgt9) + +## 纪要:开源之夏(OSPP) 2024 社区实习项目考核结果讨论 +三位社区导师已完成对实习项目学生的录用排序,社区将于 6 月 26 日公布中选学生;中选学生将通过社区主群组沟通工作。 diff --git a/content/news/2024-06-17-fix-amd-gpu-reset-pre.md b/content/news/2024-06-17-fix-amd-gpu-reset-pre.md new file mode 100644 index 00000000..4981326a --- /dev/null +++ b/content/news/2024-06-17-fix-amd-gpu-reset-pre.md @@ -0,0 +1,77 @@ +--- +categories: + - news + - advisories +title: "请您测试:龙架构 AMD 显卡稳定性修复" +date: 2024-06-17T22:19:13-08:00 +important: false + +--- +![](/assets/news/2024-06-17-amd-gpu-reset.jpg) +经排查,我们终于定位到了龙架构用户在使用 AMD GCN 2.0(如 R7 360)、GCN 3.0(如 R9 Nano)及 GCN 4.0(如 RX 400/500 系列及 WX 2100/3100/4100/5100/7100)架构显卡且有高图形负载(如 3D 游戏和高清视频)时偶发驱动复位和桌面重启等不稳定现象的症结并提出了修复;如确定修复可用,使用 AMD 显卡的各位用户朋友们终于可以舒心地发挥您显卡的机能了(先前我们针对这些显卡默认关闭了动态电源管理规避稳定性问题)! + +## 波及范围 + +如果您使用如下型号的 AMD 显卡,该测试修复可解决您在龙架构设备上的显卡复位问题;由于 AMD 显卡产品线庞杂,故有如此之长的列表,请见谅! + +您也可以使用 TechPowerUp 的 GPU 参数数据库 (GPU Specs Database) 查询 [GCN 2.0](https://www.techpowerup.com/gpu-specs/?mobile=No&architecture=GCN%202.0&sort=generation)、[GCN 3.0](https://www.techpowerup.com/gpu-specs/?mobile=No&architecture=GCN%203.0&sort=generation) 及 [GCN 4.0](https://www.techpowerup.com/gpu-specs/?mobile=No&architecture=GCN%204.0&sort=generation) 对应的显卡列表以确定您的显卡是否受影响。 + +**AMD Radeon 系列:** + +- HD7790, HD8770 + +- R7 260, R7 260X, R7 360 + +- R9 285, R9 285X, R9 290, R9 290X, R9 295X2, R9 360, R9 380, R9 380X, R9 390, R9 390X + +- R9 Fury, R9 Fury X, R9 Nano + +- RX 455, RX 460, RX 470, RX 470D, RX480 + +- RX 540, RX 550, RX 550X, RX 560, RX 560D, RX 570, RX 580, RX 590, RX 590 GME + +- 530, 530X, 535, 620, 625, 630, 640 + +**AMD FirePro 系列:** + +- S7100X, S7150, S7150 X2 + +- S9100, S9150, S9170, S9300 X2 + +- W4300, W5100, W7100, W8100, W9100 + +**AMD Radeon Pro 系列:** + +- WX 2100, WX 3100, WX 3200, WX 4100, RX 5100, WX 7100, WX 8200, WX 9100 + +- Duo, SSG + +实际上,[GCN 1.0 ](https://www.techpowerup.com/gpu-specs/?mobile=No&architecture=GCN%201.0&sort=generation) 系列显卡(如 R7 240)也受此问题影响,但造成问题的原因可能不同,我们仍在定位这一问题并将努力研究解决方案。 + +## 测试指引 + +请打开终端并输入如下命令: + +```bash +oma topics --opt-in linux-kernel-6.10 +``` + +并按照指引更新系统;内核包版本应为 6.10.0-0.4,请留意 oma 确认界面。 + +## 技术分析 + +我们在 Linux 内核相关支持代码中发现,AMD 在 2015 年分别引入的 amdgpu gfx7/cik (GCN2) 支持 ¹ 及 gfx8 (GCN4) 代码 ² 中分别包含同样的规避性代码,在写入内存及发出中断请求前执行了额外的 EVENT_WRITE_EOP (Write and End-of-Pipe) 指令重复写入内存,以期解决一处(AMD 完全没有进行解释的)潜在硬件问题。 + +这一修复在搭载龙芯 7A 桥片的龙架构上产生了副作用:两次额外的写操作在已知中断请求及 DMA 数据处理顺序有概率发生错误 ³ 的龙芯 7A 桥片上可能造成数据不一致问题,进而导致先前遇到的驱动超时、崩溃及复位问题。 + +为此,社区维护者郑兴达针对 gfx7 及 gfx8 架构显卡编写了两个补丁 ⁴,在保持两次写入的规避代码的设定下,让两次写入的数据保持一致,规避龙架构上可能发生数据不一致的问题。 + +——— + +¹ AMD 在 [amdgpu](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a2e73f56fa6282481927ec43aa9362c03c2e2104) 及 [radeon](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9c73a0e022c33954835e66fec3cd744af90ec98) 内核模块针对 gfx7/cik (GCN 2.0/3.0) 架构显卡的规避补丁 + +² AMD 针对 [gfx8 (GCN 4.0) 架构显卡的规避补丁](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bf26da927a1cd57c9deb2db29ae8cf276ba8b17b) + +³ 从龙芯中科陈华才老师[针对7A 桥片平台的 radeon 内核模块的修复](https://github.com/chenhuacai/linux/commit/da63bd7429f2bb7ce7988a95d125f50426466555)说明可见,7A 桥片中断请求及 DMA 数据处理顺序有概率出现问题 + +⁴ 郑兴达针对 [amdgpu](https://github.com/AOSC-Tracking/linux/commit/1d0e4bb75b29ef80b7129d76c9a0609d9b912eeb) 及 [radeon](https://github.com/AOSC-Tracking/linux/commit/c7772bb8b1a27d59bbb32ef8612a9a41fecb6410) 内核模块的修复补丁 diff --git a/content/news/2024-06-17-fix-amd-gpu-reset-pre.zh-cn.md b/content/news/2024-06-17-fix-amd-gpu-reset-pre.zh-cn.md new file mode 100644 index 00000000..4981326a --- /dev/null +++ b/content/news/2024-06-17-fix-amd-gpu-reset-pre.zh-cn.md @@ -0,0 +1,77 @@ +--- +categories: + - news + - advisories +title: "请您测试:龙架构 AMD 显卡稳定性修复" +date: 2024-06-17T22:19:13-08:00 +important: false + +--- +![](/assets/news/2024-06-17-amd-gpu-reset.jpg) +经排查,我们终于定位到了龙架构用户在使用 AMD GCN 2.0(如 R7 360)、GCN 3.0(如 R9 Nano)及 GCN 4.0(如 RX 400/500 系列及 WX 2100/3100/4100/5100/7100)架构显卡且有高图形负载(如 3D 游戏和高清视频)时偶发驱动复位和桌面重启等不稳定现象的症结并提出了修复;如确定修复可用,使用 AMD 显卡的各位用户朋友们终于可以舒心地发挥您显卡的机能了(先前我们针对这些显卡默认关闭了动态电源管理规避稳定性问题)! + +## 波及范围 + +如果您使用如下型号的 AMD 显卡,该测试修复可解决您在龙架构设备上的显卡复位问题;由于 AMD 显卡产品线庞杂,故有如此之长的列表,请见谅! + +您也可以使用 TechPowerUp 的 GPU 参数数据库 (GPU Specs Database) 查询 [GCN 2.0](https://www.techpowerup.com/gpu-specs/?mobile=No&architecture=GCN%202.0&sort=generation)、[GCN 3.0](https://www.techpowerup.com/gpu-specs/?mobile=No&architecture=GCN%203.0&sort=generation) 及 [GCN 4.0](https://www.techpowerup.com/gpu-specs/?mobile=No&architecture=GCN%204.0&sort=generation) 对应的显卡列表以确定您的显卡是否受影响。 + +**AMD Radeon 系列:** + +- HD7790, HD8770 + +- R7 260, R7 260X, R7 360 + +- R9 285, R9 285X, R9 290, R9 290X, R9 295X2, R9 360, R9 380, R9 380X, R9 390, R9 390X + +- R9 Fury, R9 Fury X, R9 Nano + +- RX 455, RX 460, RX 470, RX 470D, RX480 + +- RX 540, RX 550, RX 550X, RX 560, RX 560D, RX 570, RX 580, RX 590, RX 590 GME + +- 530, 530X, 535, 620, 625, 630, 640 + +**AMD FirePro 系列:** + +- S7100X, S7150, S7150 X2 + +- S9100, S9150, S9170, S9300 X2 + +- W4300, W5100, W7100, W8100, W9100 + +**AMD Radeon Pro 系列:** + +- WX 2100, WX 3100, WX 3200, WX 4100, RX 5100, WX 7100, WX 8200, WX 9100 + +- Duo, SSG + +实际上,[GCN 1.0 ](https://www.techpowerup.com/gpu-specs/?mobile=No&architecture=GCN%201.0&sort=generation) 系列显卡(如 R7 240)也受此问题影响,但造成问题的原因可能不同,我们仍在定位这一问题并将努力研究解决方案。 + +## 测试指引 + +请打开终端并输入如下命令: + +```bash +oma topics --opt-in linux-kernel-6.10 +``` + +并按照指引更新系统;内核包版本应为 6.10.0-0.4,请留意 oma 确认界面。 + +## 技术分析 + +我们在 Linux 内核相关支持代码中发现,AMD 在 2015 年分别引入的 amdgpu gfx7/cik (GCN2) 支持 ¹ 及 gfx8 (GCN4) 代码 ² 中分别包含同样的规避性代码,在写入内存及发出中断请求前执行了额外的 EVENT_WRITE_EOP (Write and End-of-Pipe) 指令重复写入内存,以期解决一处(AMD 完全没有进行解释的)潜在硬件问题。 + +这一修复在搭载龙芯 7A 桥片的龙架构上产生了副作用:两次额外的写操作在已知中断请求及 DMA 数据处理顺序有概率发生错误 ³ 的龙芯 7A 桥片上可能造成数据不一致问题,进而导致先前遇到的驱动超时、崩溃及复位问题。 + +为此,社区维护者郑兴达针对 gfx7 及 gfx8 架构显卡编写了两个补丁 ⁴,在保持两次写入的规避代码的设定下,让两次写入的数据保持一致,规避龙架构上可能发生数据不一致的问题。 + +——— + +¹ AMD 在 [amdgpu](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a2e73f56fa6282481927ec43aa9362c03c2e2104) 及 [radeon](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9c73a0e022c33954835e66fec3cd744af90ec98) 内核模块针对 gfx7/cik (GCN 2.0/3.0) 架构显卡的规避补丁 + +² AMD 针对 [gfx8 (GCN 4.0) 架构显卡的规避补丁](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bf26da927a1cd57c9deb2db29ae8cf276ba8b17b) + +³ 从龙芯中科陈华才老师[针对7A 桥片平台的 radeon 内核模块的修复](https://github.com/chenhuacai/linux/commit/da63bd7429f2bb7ce7988a95d125f50426466555)说明可见,7A 桥片中断请求及 DMA 数据处理顺序有概率出现问题 + +⁴ 郑兴达针对 [amdgpu](https://github.com/AOSC-Tracking/linux/commit/1d0e4bb75b29ef80b7129d76c9a0609d9b912eeb) 及 [radeon](https://github.com/AOSC-Tracking/linux/commit/c7772bb8b1a27d59bbb32ef8612a9a41fecb6410) 内核模块的修复补丁 diff --git a/content/news/2024-06-24-coffee-break.md b/content/news/2024-06-24-coffee-break.md new file mode 100644 index 00000000..b35b6c62 --- /dev/null +++ b/content/news/2024-06-24-coffee-break.md @@ -0,0 +1,206 @@ +--- +categories: + - journals +title: "安记冰室・六月下" +date: 2024-06-24T23:00:00+08:00 +important: false + +--- + + + +> “咥个肉夹馍呷?” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +社区脉动 +-------- + +### 盛夏将至:AOSCC 2024 开放报名! + +![AOSCC 2024,咱上吉林大学去!](/assets/news/coffee-break/20240623/imgs/aoscc-2024-jlu.png) + +经过近一个月紧张的联络与组织工作,AOSCC 2024 工作组终于成功与吉林大学校方各部门达成协议——今年度的社区线下活动已得到校方正式批准!前序手续一切就绪,AOSCC 2024 报名也便正式开放了。 + +请有意参会者尽快完成报名登记,以便我们安排包括人员登记和协议酒店预订等的工作。 + +[点此报名 >>](https://www.wjx.top/vm/hwRCH7e.aspx) + + + +在未来数周中,我们将随着组织工作的进展持续发布讲者、日程和到场福利等信息,敬请关注我社各资讯渠道和 [AOSCC 2024 信息页](https://wiki.aosc.io/zh/community/aoscc/2024)。 + +### 高手如云:AOSCC 2024 讲者与课题一瞥 + + + +在过去几年中,AOSCC 逐步从社区内部聚会转化成了一个面向国内 Linux 爱好者的公开活动。其中演讲内容最能体现这一变化:2023 年的 AOSCC 便囊括从社区报告到项目分享,又到各路同行们的技术、经验分享乃至对话会等多种形式。社区年度线下聚会的内容也随着社区好友们的参与不断丰富和多样化。 + +今年的 AOSCC,在介绍社区工作进展之余,我们也通过各方努力找来了多名来自校园社团、社区与行业的一线工作人员来分享各类技术与运营上的经验、思考与成果。在 AOSCC 2024,我们计划根据分享课题的类型组织议程,下面我们对目前已初步确定的分享课题板块进行简要介绍。 + +**社区工作分享与展望** + +2023 年,随着软件包维护自动化的实现、龙架构版本正式发布、图形化安装程序发布、oma 的不断完善乃至外宣工作的重启,社区工作效率和关注度都有显著改善。今年的 AOSCC 上,社区贡献者将如常分享社区各项工作的进展及未来一年的计划: + +- 白铭骢:社区年度工作报告与展望 +- 杨欣辉:基于 OverlayFS 的多版本离线安装盘的设计 +- 傅孝元:小熊猫包管理 oma 1.0-1.3 的进化与 1.4 特性介绍 +- 王邈:龙架构新旧世界兼容层 libLoL 的实现原理 + +**发行版维护与管理** + +作为一个以发行版维护作为核心项目的社区,我们非常关注学习和参考发行版维护的不同思路及经验。今年,我们请来了来自七个不同发行版项目的同行前来介绍工作经验: + +- 刘子兴(科能 Ubuntu Foundations Team 工程师,AOSC 贡献者):Ubuntu 与 Debian 社区维护工作的协作与求同存异 +- 李成刚(统信科技 deepin 系统组负责人):deepin 发行版的发展历史与未来展望 +- Revy(PLCT 实验室 RevyOS 团队主管):RevyOS 与厂商进行开源适配对接工作的思路与主要难点 +- 关文涛、王昱力(统信科技内核研发工程师):审阅信创厂商 Linux 内核补丁的经验与思考 +- 杨欣辉、Henry Chen(安同 OS 维护者):MIPS 发行版及基础设施的现状与无奈 +- Coelacanthus(Arch Linux RISC-V 维护者):内核配置维护中的重复劳动与割裂 +- 梓瑶、YukariChiba(eweOS 维护者):eweOS 作为“标新立异”发行版的选型与开发维护 + +**社区与社团运营** + +社区与社团运营是团体工作与活动的基础,从组织分工到外宣招新都是推进工作的关键。今年,我们邀请了几位来自草根社区的同事们介绍他们的工作经验: + +- xen0n(龙芯开源社区打杂,《咱龙了吗?》主创):由第三方推动的龙芯生态建设,一年间的观察与个人体会 +- 林子(曲阜师范大学计算机爱好者协会组织者):“双非高校”社团的生存现状与思考 + +**社区与技能实践** + +我们相信,开放社区是实践技能与思路的理想场所。那么,为何参与到开源社区的工作中,又要如何权衡付出与回报呢? + +为此,我们请来了来自红帽公司的 Zamir Sun 介绍在校学生参与开源社区对后续就业的帮助。Zamir Sun 长期参与 AOSC 的设施运维和 Fedora 的打包工作,在日常工作之余依然坚持贡献社区。 + +早在 2017 年,Zamir Sun 便在于广州举办的 AOSCC 活动中分享了这一课题;七年过去了,他对这一问题的思考又有何变化呢?且听 Zamir 老哥娓娓道来…… + +**讲者招募!** + +如果您或认识的朋友有兴趣来 AOSCC 分享工作经验与技能,欢迎您通过社区[各聊天群组](https://aosc.io/zh-cn/contact/)或[社区论坛](https://bbs.aosc.io/)与我们联系。 + +让我们一起携手,让 AOSCC 变得更加丰富精彩吧! + +### 农企舰队:四台 x86-64 构建服务器即将上线 + +![农企舰队向您致意!](/assets/news/coffee-break/20240623/imgs/amd-armada.jpg) + +得力于社区各位好友的[慷慨解囊](https://wiki.aosc.io/zh/community/crowdsourcing/new-amd64-servers/),我们购置并上线了 4 台基于 AMD Ryzen 7 5700X 的 x86-64 构建服务器。每台服务器均搭载 64GiB 内存及 800GB 的 Intel 750 固态硬盘,可显著改善我社安同 OS x86-64 移植的维护体验。 + +### 应用上新:libLoL 应用兼容性数据库发布更新 + +![libLoL 主页监测来自龙芯应用合作社和其他来源应用的兼容性](/assets/liblol/liblol.svg) + +日前,[温柔](https://github.com/xunpod)刷新了用于龙架构系统的 [libLoL 应用兼容性数据库](https://liblol.aosc.io/docs/apps/),包含 18 款来自龙芯应用合作社和 3 款来自其他来源的 3 款应用程序。在更新应用程序信息的同时,温柔还对许多应用进行了兼容性测试并更新了测试报告,希望能帮到各位龙架构系统用户。 + +系统快讯 +-------- + +### 精确度升级:Debian/Ubuntu 依赖兼容框架 Spiral 发布 v2 版 + +![本安同 OS 具有超级精确旋风牛力!](/assets/news/coffee-break/20240623/imgs/spiral-cow-power.png) + +三月底,我们正式推送了安同 OS 的 Debian/Ubuntu 兼容性更新,通过在软件包构建时自动标记与 Debian/Ubuntu 兼容的软件包名以实现对各类商业软件的兼容性。 + +日前,[王江津](https://github.com/RedL0tus)推送了 Spiral 兼容框架的第二版,通过反查 Debian 及 Ubuntu 的软件包内容索引实现了更为精确的兼容标记;对安同 OS 使用了非标准架构名的移植,如基于 MIPS 架构的龙芯三号移植(dpkg 架构名 `loongson3`)等实现了架构名转译,后续在这些架构上安装商业软件也会变得更为容易。 + +### 将塞爆进行到底:安同 OS 离线安装镜像展望 + +![安同 OS 离线镜像使用 OverlayFS 实现了组件去重和多系统版本集成](/assets/news/coffee-break/20240623/imgs/overlay-livekit.png) + +一直以来,由于安同 OS 依赖树齐全及功能全开的设计导向,系统大小与其他操作系统相比明显偏大。这一特征加之以安装盘需要从互联网拖取(大小相当可观的)系统包的设计广受用户诟病——一个超过 3GiB 大小的安装盘,居然还需要下载系统数据! + +为解决这一问题,[杨欣辉](https://github.com/Cyanoxygen)、[傅孝元](https://github.com/eatradish)和[白铭骢](https://github.com/MingcongBai)一同实现了一款基于 OverlayFS 差分文件系统的离线系统安装盘。该安装盘集成了所有系统镜像并对共用组件进行了去重,这样以来,用户朋友们不但不需要在安装过程中等待下载,还可以: + +- 直接从 U 盘或光盘启动试用安同 OS 的桌面版 +- 在搭载 NVIDIA 显卡的设备上正常启动安装和试用环境 + +可谓一石三鸟!虽然系统大小直奔 8GiB,双层 DVD 都要塞不下了,但您就说功能全不全吧—— + +我们计划在下周发布预览镜像供各位测试,敬请期待! + +### 病根初现:龙架构 AMD 显卡稳定性问题调查实录 + +![令不少龙架构移植维护者闻风丧胆的 glmark2 buffer 测试](/assets/news/coffee-break/20240623/imgs/glmark2-buffer.jpg) + +安同 OS 的龙架构移植已有接近一年的维护历史,其中有一个如鬼魂一般的 Bug 一直缠绕着各位龙架构设备用户:AMD 显卡驱动在高图形负载下会崩溃复位。在用户视角上看,就是桌面会突然黑屏,所有桌面会话注销,所有未保存工作随之灰飞烟灭。这一问题为各位日用龙架构设备的维护者和用户们都带来了极大的困扰,对使用龙架构设备工作的信心造成了非常大的打击。 + +日前,[Fearyncess "Lain" Yang](https://github.com/Fearyncess) 通过排查旧世界发行版的内核源码总算定位到了造成这一问题的直接原因。简要地说:AMD 针对其基于 GCN 2.0/3.0/4.0 核心的显卡针对硬件问题引入的规避性代码踩了龙芯 7A 桥片对数据和终端请求处理顺序不稳定的“地雷”,使得驱动传入了错误的数据和中断指令,造成驱动故障。 + +就这一问题,[郑兴达](https://github.com/Icenowy)提交了[上游补丁](https://lore.kernel.org/dri-devel/20240617105846.1516006-1-uwu@icenowy.me/),但遭到了 AMD 显卡驱动维护者的明确反对。考虑到这一问题暴露了双方硬件均存在的问题,该补丁很可能无法提交到上游——也许在不久的将来会有针对龙架构平台的内核补丁修复或规避该问题,我们能做的只有希望和继续努力了。 + + + +有关该问题的详细调查报告,详请见[《请您测试:龙架构 AMD 显卡稳定性修复》](./2024-06-17-fix-amd-gpu-reset-pre.md)一文。 + +开发者角 +-------- + +### 监工之乐:BuildIt! 推出实时监控功能 + +![无聊了来刷刷日志玩吧!](/assets/news/coffee-break/20240623/imgs/buildit-monitor.png) + +上周,[陈嘉杰 (jiegec)](https://github.com/jiegec) 和[傅孝元](https://github.com/eatradish)为 [BuildIt!](https://github.com/AOSC-Dev/buildit) 自动化设施实现了实时监控功能,方便安同 OS 维护者查阅各构建服务器当前构建任务的状态及确定各机器的性能、稳定性状态等。 + +如果您好奇我们的构建服务器都在忙些啥,欢迎来 [BuildIt! 构建服务器状态主页](https://buildit.aosc.io/workers)瞅瞅! + +### aosc-findupdate 0.5.0 发布:新增 UPSTREAM_VER 变量 + +在 [autopr](https://github.com/AOSC-Dev/autopr) 自动化软件包更新及推测设施投产后,维护者们便将目光投向了如何提高更新自动化的覆盖率上。这一新工作方向的难点之一便是解决[软件包树](https://github.com/AOSC-Dev/aosc-os-abbs)中数十个复杂的“组合包 (compound packages)”(包含多个不同版本组件的软件包)了。为解决这一问题,[傅孝元](https://github.com/eatradish)和[杨欣辉](https://github.com/Cyanoxygen)设计了 `UPSTREAM_VER` 标记法,用于标记某个组合包中主要上游版本,以便 [aosc-findupdate](https://github.com/AOSC-Dev/aosc-findupdate) 正确标记更新。 + +日前发布的 [aosc-findupdate](https://github.com/AOSC-Dev/aosc-findupdate) 0.5.0 版已包含此标记的支持,各维护者可根据需要使用。 + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [柴天浩](https://github.com/cthbleachbit) +- [杨欣辉](https://github.com/Cyanoxygen) +- [diredocks](https://github.com/diredocks) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [ouankou](https://github.com/ouankou) +- [SignKirigami](https://github.com/prcups) +- [王江津](https://github.com/RedL0tus) +- [rickliu2000](https://github.com/rickliu2000) +- [王邈](https://github.com/shankerwangmiao) +- [shatian114](https://github.com/shatian114) +- [skybird](https://github.com/SkyBird233) +- [Student Main](https://github.com/stdmnpkg) +- [StephDC](https://github.com/StephDC) +- [Suyun](https://github.com/Suyun114) +- [温柔](https://github.com/xunpod) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [bubu](https://github.com/p3psi-boo) + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-06-24-coffee-break.zh-cn.md b/content/news/2024-06-24-coffee-break.zh-cn.md new file mode 100644 index 00000000..ae8696c4 --- /dev/null +++ b/content/news/2024-06-24-coffee-break.zh-cn.md @@ -0,0 +1,206 @@ +--- +categories: + - journals +title: "安记冰室・六月下" +date: 2024-06-24T23:00:00+08:00 +important: false + +--- + + + +> “咥个肉夹馍呷?” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +社区脉动 +-------- + +### 盛夏将至:AOSCC 2024 开放报名! + +![AOSCC 2024,咱上吉林大学去!](/assets/news/coffee-break/20240623/imgs/aoscc-2024-jlu.png) + +经过近一个月紧张的联络与组织工作,AOSCC 2024 工作组终于成功与吉林大学校方各部门达成协议——今年度的社区线下活动已得到校方正式批准!前序手续一切就绪,AOSCC 2024 报名也便正式开放了。 + +请有意参会者尽快完成报名登记,以便我们安排包括人员登记和协议酒店预订等的工作。 + +[点此报名 >>](https://www.wjx.top/vm/hwRCH7e.aspx) + + + +在未来数周中,我们将随着组织工作的进展持续发布讲者、日程和到场福利等信息,敬请关注我社各资讯渠道和 [AOSCC 2024 信息页](https://wiki.aosc.io/zh/community/aoscc/2024)。 + +### 高手如云:AOSCC 2024 讲者与课题一瞥 + + + +在过去几年中,AOSCC 逐步从社区内部聚会转化成了一个面向国内 Linux 爱好者的公开活动。其中演讲内容最能体现这一变化:2023 年的 AOSCC 便囊括从社区报告到项目分享,又到各路同行们的技术、经验分享乃至对话会等多种形式。社区年度线下聚会的内容也随着社区好友们的参与不断丰富和多样化。 + +今年的 AOSCC,在介绍社区工作进展之余,我们也通过各方努力找来了多名来自校园社团、社区与行业的一线工作人员来分享各类技术与运营上的经验、思考与成果。在 AOSCC 2024,我们计划根据分享课题的类型组织议程,下面我们对目前已初步确定的分享课题板块进行简要介绍。 + +**社区工作分享与展望** + +2023 年,随着软件包维护自动化的实现、龙架构版本正式发布、图形化安装程序发布、oma 的不断完善乃至外宣工作的重启,社区工作效率和关注度都有显著改善。今年的 AOSCC 上,社区贡献者将如常分享社区各项工作的进展及未来一年的计划: + +- 白铭骢:社区年度工作报告与展望 +- 杨欣辉:基于 OverlayFS 的多版本离线安装盘的设计 +- 傅孝元:小熊猫包管理 oma 1.0-1.3 的进化与 1.4 特性介绍 +- 王邈:龙架构新旧世界兼容层 libLoL 的实现原理 + +**发行版维护与管理** + +作为一个以发行版维护作为核心项目的社区,我们非常关注学习和参考发行版维护的不同思路及经验。今年,我们请来了来自七个不同发行版项目的同行前来介绍工作经验: + +- 刘子兴(科能 Ubuntu Foundations Team 工程师,AOSC 贡献者):Ubuntu 与 Debian 社区维护工作的协作与求同存异 +- 李成刚(统信科技 deepin 系统组负责人):deepin 发行版的发展历史与未来展望 +- Revy(PLCT 实验室 RevyOS 团队主管):RevyOS 与厂商进行开源适配对接工作的思路与主要难点 +- 关文涛、王昱力(统信科技内核研发工程师):审阅信创厂商 Linux 内核补丁的经验与思考 +- 杨欣辉、Henry Chen(安同 OS 维护者):MIPS 发行版及基础设施的现状与无奈 +- Coelacanthus(Arch Linux RISC-V 维护者):内核配置维护中的重复劳动与割裂 +- 梓瑶、YukariChiba(eweOS 维护者):eweOS 作为“标新立异”发行版的选型与开发维护 + +**社区与社团运营** + +社区与社团运营是团体工作与活动的基础,从组织分工到外宣招新都是推进工作的关键。今年,我们邀请了几位来自草根社区的同事们介绍他们的工作经验: + +- xen0n(龙芯开源社区打杂,《咱龙了吗?》主创):由第三方推动的龙芯生态建设,一年间的观察与个人体会 +- 林子(曲阜师范大学计算机爱好者协会组织者):“双非高校”社团的生存现状与思考 + +**社区与技能实践** + +我们相信,开放社区是实践技能与思路的理想场所。那么,为何参与到开源社区的工作中,又要如何权衡付出与回报呢? + +为此,我们请来了来自红帽公司的 Zamir Sun 介绍在校学生参与开源社区对后续就业的帮助。Zamir Sun 长期参与 AOSC 的设施运维和 Fedora 的打包工作,在日常工作之余依然坚持贡献社区。 + +早在 2017 年,Zamir Sun 便在于广州举办的 AOSCC 活动中分享了这一课题;七年过去了,他对这一问题的思考又有何变化呢?且听 Zamir 老哥娓娓道来…… + +**讲者招募!** + +如果您或认识的朋友有兴趣来 AOSCC 分享工作经验与技能,欢迎您通过社区[各聊天群组](https://aosc.io/zh-cn/contact/)或[社区论坛](https://bbs.aosc.io/)与我们联系。 + +让我们一起携手,让 AOSCC 变得更加丰富精彩吧! + +### 农企舰队:四台 x86-64 构建服务器即将上线 + +![农企舰队向您致意!](/assets/news/coffee-break/20240623/imgs/amd-armada.jpg) + +得力于社区各位好友的[慷慨解囊](https://wiki.aosc.io/zh/community/crowdsourcing/new-amd64-servers/),我们购置并上线了 4 台基于 AMD Ryzen 7 5700X 的 x86-64 构建服务器。每台服务器均搭载 64GiB 内存及 800GB 的 Intel 750 固态硬盘,可显著改善我社安同 OS x86-64 移植的维护体验。 + +### 应用上新:libLoL 应用兼容性数据库发布更新 + +![libLoL 主页监测来自龙芯应用合作社和其他来源应用的兼容性](/assets/liblol/liblol.svg) + +日前,[温柔](https://github.com/xunpod)刷新了用于龙架构系统的 [libLoL 应用兼容性数据库](https://liblol.aosc.io/docs/apps/),包含 18 款来自龙芯应用合作社和 3 款来自其他来源的 3 款应用程序。在更新应用程序信息的同时,温柔还对许多应用进行了兼容性测试并更新了测试报告,希望能帮到各位龙架构系统用户。 + +系统快讯 +-------- + +### 精确度升级:Debian/Ubuntu 依赖兼容框架 Spiral 发布 v2 版 + +![本安同 OS 具有超级精确旋风牛力!](/assets/news/coffee-break/20240623/imgs/spiral-cow-power.png) + +三月底,我们正式推送了安同 OS 的 Debian/Ubuntu 兼容性更新,通过在软件包构建时自动标记与 Debian/Ubuntu 兼容的软件包名以实现对各类商业软件的兼容性。 + +日前,[王江津](https://github.com/RedL0tus)推送了 Spiral 兼容框架的第二版,通过反查 Debian 及 Ubuntu 的软件包内容索引实现了更为精确的兼容标记;对安同 OS 使用了非标准架构名的移植,如基于 MIPS 架构的龙芯三号移植(dpkg 架构名 `loongson3`)等实现了架构名转译,后续在这些架构上安装商业软件也会变得更为容易。 + +### 将塞爆进行到底:安同 OS 离线安装镜像展望 + +![安同 OS 离线镜像使用 OverlayFS 实现了组件去重和多系统版本集成](/assets/news/coffee-break/20240623/imgs/overlay-livekit.png) + +一直以来,由于安同 OS 依赖树齐全及功能全开的设计导向,系统大小与其他操作系统相比明显偏大。这一特征加之以安装盘需要从互联网拖取(大小相当可观的)系统包的设计广受用户诟病——一个超过 3GiB 大小的安装盘,居然还需要下载系统数据! + +为解决这一问题,[杨欣辉](https://github.com/Cyanoxygen)、[傅孝元](https://github.com/eatradish)和[白铭骢](https://github.com/MingcongBai)一同实现了一款基于 OverlayFS 差分文件系统的离线系统安装盘。该安装盘集成了所有系统镜像并对共用组件进行了去重,这样以来,用户朋友们不但不需要在安装过程中等待下载,还可以: + +- 直接从 U 盘或光盘启动试用安同 OS 的桌面版 +- 在搭载 NVIDIA 显卡的设备上正常启动安装和试用环境 + +可谓一石三鸟!虽然系统大小直奔 8GiB,双层 DVD 都要塞不下了,但您就说功能全不全吧—— + +我们计划在下周发布预览镜像供各位测试,敬请期待! + +### 病根初现:龙架构 AMD 显卡稳定性问题调查实录 + +![令不少龙架构移植维护者闻风丧胆的 glmark2 buffer 测试](/assets/news/coffee-break/20240623/imgs/glmark2-buffer.jpg) + +安同 OS 的龙架构移植已有接近一年的维护历史,其中有一个如鬼魂一般的 Bug 一直缠绕着各位龙架构设备用户:AMD 显卡驱动在高图形负载下会崩溃复位。在用户视角上看,就是桌面会突然黑屏,所有桌面会话注销,所有未保存工作随之灰飞烟灭。这一问题为各位日用龙架构设备的维护者和用户们都带来了极大的困扰,对使用龙架构设备工作的信心造成了非常大的打击。 + +日前,[Fearyncess "Lain" Yang](https://github.com/Fearyncess) 通过排查旧世界发行版的内核源码总算定位到了造成这一问题的直接原因。简要地说:AMD 针对其基于 GCN 2.0/3.0/4.0 核心的显卡针对硬件问题引入的规避性代码踩了龙芯 7A 桥片对数据和终端请求处理顺序不稳定的“地雷”,使得驱动传入了错误的数据和中断指令,造成驱动故障。 + +就这一问题,[郑兴达](https://github.com/Icenowy)提交了[上游补丁](https://lore.kernel.org/dri-devel/20240617105846.1516006-1-uwu@icenowy.me/),但遭到了 AMD 显卡驱动维护者的明确反对。考虑到这一问题暴露了双方硬件均存在的问题,该补丁很可能无法提交到上游——也许在不久的将来会有针对龙架构平台的内核补丁修复或规避该问题,我们能做的只有希望和继续努力了。 + + + +有关该问题的详细调查报告,详请见[《请您测试:龙架构 AMD 显卡稳定性修复》](./2024-06-17-fix-amd-gpu-reset-pre.zh-cn.md)一文。 + +开发者角 +-------- + +### 监工之乐:BuildIt! 推出实时监控功能 + +![无聊了来刷刷日志玩吧!](/assets/news/coffee-break/20240623/imgs/buildit-monitor.png) + +上周,[陈嘉杰 (jiegec)](https://github.com/jiegec) 和[傅孝元](https://github.com/eatradish)为 [BuildIt!](https://github.com/AOSC-Dev/buildit) 自动化设施实现了实时监控功能,方便安同 OS 维护者查阅各构建服务器当前构建任务的状态及确定各机器的性能、稳定性状态等。 + +如果您好奇我们的构建服务器都在忙些啥,欢迎来 [BuildIt! 构建服务器状态主页](https://buildit.aosc.io/workers)瞅瞅! + +### aosc-findupdate 0.5.0 发布:新增 UPSTREAM_VER 变量 + +在 [autopr](https://github.com/AOSC-Dev/autopr) 自动化软件包更新及推测设施投产后,维护者们便将目光投向了如何提高更新自动化的覆盖率上。这一新工作方向的难点之一便是解决[软件包树](https://github.com/AOSC-Dev/aosc-os-abbs)中数十个复杂的“组合包 (compound packages)”(包含多个不同版本组件的软件包)了。为解决这一问题,[傅孝元](https://github.com/eatradish)和[杨欣辉](https://github.com/Cyanoxygen)设计了 `UPSTREAM_VER` 标记法,用于标记某个组合包中主要上游版本,以便 [aosc-findupdate](https://github.com/AOSC-Dev/aosc-findupdate) 正确标记更新。 + +日前发布的 [aosc-findupdate](https://github.com/AOSC-Dev/aosc-findupdate) 0.5.0 版已包含此标记的支持,各维护者可根据需要使用。 + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204) +- [柴天浩](https://github.com/cthbleachbit) +- [杨欣辉](https://github.com/Cyanoxygen) +- [diredocks](https://github.com/diredocks) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [ouankou](https://github.com/ouankou) +- [SignKirigami](https://github.com/prcups) +- [王江津](https://github.com/RedL0tus) +- [rickliu2000](https://github.com/rickliu2000) +- [王邈](https://github.com/shankerwangmiao) +- [shatian114](https://github.com/shatian114) +- [skybird](https://github.com/SkyBird233) +- [Student Main](https://github.com/stdmnpkg) +- [StephDC](https://github.com/StephDC) +- [Suyun](https://github.com/Suyun114) +- [温柔](https://github.com/xunpod) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [bubu](https://github.com/p3psi-boo) + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-06-26-gitcode-fake.md b/content/news/2024-06-26-gitcode-fake.md new file mode 100644 index 00000000..11fc954b --- /dev/null +++ b/content/news/2024-06-26-gitcode-fake.md @@ -0,0 +1,52 @@ +--- +categories: + - news +title: "关于 GitCode 近日以我社名义镜像 GitHub 组织及仓库内容的声明" +date: 2024-06-26T23:00:00+08:00 +important: false + +--- + +![](/assets/news/gitcode-fake.svg) + +今日在社区好友的提醒下,我们留意到由[长沙开发者科技有限公司](https://www.tianyancha.com/company/3470940218)旗下[北京创新乐知网络技术有限公司](https://www.tianyancha.com/company/3049500520)([CSDN](https://www.csdn.net/) 运营方)及[重庆开源共创科技有限公司](https://www.tianyancha.com/company/5924520331)(下附邮件中称之为“贵司”)所搭建的 [GitCode](https://gitcode.com/) 代码托管平台在未告知我社贡献者的情况下镜像了我社于 GitHub 平台的组织 [AOSC-Dev](https://github.com/AOSC-Dev/) 及 [AOSC-Archive](https://github.com/AOSC-Archive) 的数个活跃仓库、工单及合并请求。我们在此声明: + +1. GitCode 平台上的上述组织与我社无关,托管的我社源码亦非我方提交;上述行为属于对社区名义的冒用,我社贡献者从未获知及同意该做法 +2. 我社不为该平台 AOSC-Dev 及 AOSC-Archive(及其他可能存在的 AOSC 相关)组织中的任何代码贡献负责,亦不受理在该平台上的任何用户咨询和投诉 +3. 我社已就此事向 CSDN 及 GitCode 相关运维团队提出抗议和严正交涉,并要求其立即整改(详见下文附带的邮件正文,该邮件正文也将一式两份发布到 GitCode 的[官方反馈中心](https://gitcode.com/Gitcode-offical-team/GitCode-Docs/issues),以便运营方尽快知悉和整改) + +为封存冒用证据,我社贡献者已留存相关页面的归档: + +- AOSC-Dev 组织:[Wayback Machine](https://web.archive.org/web/20240626042401/https://gitcode.com/AOSC-Dev) | [Archive.is](https://archive.is/su9h5) +- AOSC-Archive 组织:[Wayback Machine](https://web.archive.org/web/20240626042802/https://gitcode.com/AOSC-Archive) | [Archive.is](https://archive.is/ivJ28) + +请各位社区贡献者、用户及好友周知,感谢! + +—————— + +邮件:来自安同开源社区的抗议与严正交涉 + +CSDN 及 GitCode 运维负责人、同事们: + +今日,我社贡献者发现贵司源代码托管平台 GitCode 在未告知及征求意见的情况下以我社名义镜像了我社于 GitHub 平台 [AOSC-Dev](https://github.com/AOSC-Dev) 及 [AOSC-Archive](https://github.com/AOSC-Archive) 组织的数个活跃仓库、工单及合并请求。贵司的行为对我社组织、工作及运营造成了严重困扰,且有机会造成个人名誉权及著作权的损害。我们对此表示最严厉的谴责并提出如下要求: + +贵司立即促成 GitCode 平台相关工作人员立即停止爬取行为并彻底地删除我社组织的镜像。 + +考虑到贵司在以我社名义发布镜像前未尊重我方意愿,本邮件将附于我社今日发布的新闻稿件中向互联网公示。此外,考虑到贵司行为恶劣且有恶意冒用我社名义的性质,我们不接受且不会答复任何形式的咨询和异议。 + +安同开源社区全体贡献者 + +2024 年 6 月 26 日 + +—————— + +![](/assets/news/gitcode-fake-email.jpg) + +我们已收到来自 GitCode 客服的回邮,相关组织及仓库页面已无法访问,亦无法使用 Git 克隆相关内容: + +```bash +mingcongbai@JellyNote [ ~ ] $ git clone https://gitcode.com/AOSC-Dev/aosc-os-abbs +正克隆到 'aosc-os-abbs'... +remote: {"status": false, "message":"The project you were looking for could not be found."} +致命错误:无法访问 'https://gitcode.com/AOSC-Dev/aosc-os-abbs/':The requested URL returned error: 403 +``` diff --git a/content/news/2024-06-26-gitcode-fake.zh-cn.md b/content/news/2024-06-26-gitcode-fake.zh-cn.md new file mode 100644 index 00000000..11fc954b --- /dev/null +++ b/content/news/2024-06-26-gitcode-fake.zh-cn.md @@ -0,0 +1,52 @@ +--- +categories: + - news +title: "关于 GitCode 近日以我社名义镜像 GitHub 组织及仓库内容的声明" +date: 2024-06-26T23:00:00+08:00 +important: false + +--- + +![](/assets/news/gitcode-fake.svg) + +今日在社区好友的提醒下,我们留意到由[长沙开发者科技有限公司](https://www.tianyancha.com/company/3470940218)旗下[北京创新乐知网络技术有限公司](https://www.tianyancha.com/company/3049500520)([CSDN](https://www.csdn.net/) 运营方)及[重庆开源共创科技有限公司](https://www.tianyancha.com/company/5924520331)(下附邮件中称之为“贵司”)所搭建的 [GitCode](https://gitcode.com/) 代码托管平台在未告知我社贡献者的情况下镜像了我社于 GitHub 平台的组织 [AOSC-Dev](https://github.com/AOSC-Dev/) 及 [AOSC-Archive](https://github.com/AOSC-Archive) 的数个活跃仓库、工单及合并请求。我们在此声明: + +1. GitCode 平台上的上述组织与我社无关,托管的我社源码亦非我方提交;上述行为属于对社区名义的冒用,我社贡献者从未获知及同意该做法 +2. 我社不为该平台 AOSC-Dev 及 AOSC-Archive(及其他可能存在的 AOSC 相关)组织中的任何代码贡献负责,亦不受理在该平台上的任何用户咨询和投诉 +3. 我社已就此事向 CSDN 及 GitCode 相关运维团队提出抗议和严正交涉,并要求其立即整改(详见下文附带的邮件正文,该邮件正文也将一式两份发布到 GitCode 的[官方反馈中心](https://gitcode.com/Gitcode-offical-team/GitCode-Docs/issues),以便运营方尽快知悉和整改) + +为封存冒用证据,我社贡献者已留存相关页面的归档: + +- AOSC-Dev 组织:[Wayback Machine](https://web.archive.org/web/20240626042401/https://gitcode.com/AOSC-Dev) | [Archive.is](https://archive.is/su9h5) +- AOSC-Archive 组织:[Wayback Machine](https://web.archive.org/web/20240626042802/https://gitcode.com/AOSC-Archive) | [Archive.is](https://archive.is/ivJ28) + +请各位社区贡献者、用户及好友周知,感谢! + +—————— + +邮件:来自安同开源社区的抗议与严正交涉 + +CSDN 及 GitCode 运维负责人、同事们: + +今日,我社贡献者发现贵司源代码托管平台 GitCode 在未告知及征求意见的情况下以我社名义镜像了我社于 GitHub 平台 [AOSC-Dev](https://github.com/AOSC-Dev) 及 [AOSC-Archive](https://github.com/AOSC-Archive) 组织的数个活跃仓库、工单及合并请求。贵司的行为对我社组织、工作及运营造成了严重困扰,且有机会造成个人名誉权及著作权的损害。我们对此表示最严厉的谴责并提出如下要求: + +贵司立即促成 GitCode 平台相关工作人员立即停止爬取行为并彻底地删除我社组织的镜像。 + +考虑到贵司在以我社名义发布镜像前未尊重我方意愿,本邮件将附于我社今日发布的新闻稿件中向互联网公示。此外,考虑到贵司行为恶劣且有恶意冒用我社名义的性质,我们不接受且不会答复任何形式的咨询和异议。 + +安同开源社区全体贡献者 + +2024 年 6 月 26 日 + +—————— + +![](/assets/news/gitcode-fake-email.jpg) + +我们已收到来自 GitCode 客服的回邮,相关组织及仓库页面已无法访问,亦无法使用 Git 克隆相关内容: + +```bash +mingcongbai@JellyNote [ ~ ] $ git clone https://gitcode.com/AOSC-Dev/aosc-os-abbs +正克隆到 'aosc-os-abbs'... +remote: {"status": false, "message":"The project you were looking for could not be found."} +致命错误:无法访问 'https://gitcode.com/AOSC-Dev/aosc-os-abbs/':The requested URL returned error: 403 +``` diff --git a/content/news/2024-06-27-aosc-os-installer-preview.md b/content/news/2024-06-27-aosc-os-installer-preview.md new file mode 100644 index 00000000..1b27b465 --- /dev/null +++ b/content/news/2024-06-27-aosc-os-installer-preview.md @@ -0,0 +1,31 @@ +--- +categories: + - news + - advisories +title: "安同 OS 预览版离线安装盘发布!" +date: 2024-06-27T23:00:00+08:00 +important: false + +--- +![](/assets/news/2024-06-27-aosc-os-installer-preview.png) + +一直以来,由于安同 OS 依赖树齐全及功能全开的设计导向,系统大小与其他操作系统相比明显偏大;这一特征加之以安装盘需要从互联网拖取(大小相当可观的)系统包的设计广受用户诟病——一个超过 3GiB 大小的安装盘,居然还需要下载系统数据! + +为解决这一问题,我们实现了一款基于 OverlayFS 差分文件系统的离线系统安装盘;该安装盘集成了所有系统镜像并对共用组件进行了去重,这样一来,用户朋友们不但不需要在安装过程中等待下载,还可以: + +- 直接从 U 盘或光盘启动试用安同 OS 的桌面版 +- 在搭载 NVIDIA 显卡的设备上正常启动安装和试用环境 + +可谓一石三鸟!虽然系统大小直奔 8GiB,双层 DVD 都要塞不下了,但您就说功能全不全吧—— + +下载试用 + +欢迎各位用户朋友下载测试本轮预览镜像,您的反馈和建议是我们工作的动力: + +- [x86-64](https://releases.aosc.io/os-amd64/installer/preview/aosc-os_installer_20240627_amd64.iso) +- [AArch64](https://releases.aosc.io/os-arm64/installer/preview/aosc-os_installer_20240627_arm64.iso) +- [龙架构(LoongArch)](https://releases.aosc.io/os-loongarch64/installer/preview/aosc-os_installer_20240627_loongarch64.iso) + +如果您在测试时遇到问题或困难,请通过社区[各聊天群组](https://aosc.io/zh-cn/contact)或[社区论坛](https://bbs.aosc.io/)与我们联系 + +感谢您的测试! diff --git a/content/news/2024-06-27-aosc-os-installer-preview.zh-cn.md b/content/news/2024-06-27-aosc-os-installer-preview.zh-cn.md new file mode 100644 index 00000000..7ae003e3 --- /dev/null +++ b/content/news/2024-06-27-aosc-os-installer-preview.zh-cn.md @@ -0,0 +1,31 @@ +--- +categories: + - news + - advisories +title: "安同 OS 预览版离线安装盘发布!" +date: 2024-06-27T23:00:00+08:00 +important: false + +--- +![](/assets/news/aosc-os-installer-preview.png) + +一直以来,由于安同 OS 依赖树齐全及功能全开的设计导向,系统大小与其他操作系统相比明显偏大;这一特征加之以安装盘需要从互联网拖取(大小相当可观的)系统包的设计广受用户诟病——一个超过 3GiB 大小的安装盘,居然还需要下载系统数据! + +为解决这一问题,我们实现了一款基于 OverlayFS 差分文件系统的离线系统安装盘;该安装盘集成了所有系统镜像并对共用组件进行了去重,这样一来,用户朋友们不但不需要在安装过程中等待下载,还可以: + +- 直接从 U 盘或光盘启动试用安同 OS 的桌面版 +- 在搭载 NVIDIA 显卡的设备上正常启动安装和试用环境 + +可谓一石三鸟!虽然系统大小直奔 8GiB,双层 DVD 都要塞不下了,但您就说功能全不全吧—— + +下载试用 + +欢迎各位用户朋友下载测试本轮预览镜像,您的反馈和建议是我们工作的动力: + +- [x86-64](https://releases.aosc.io/os-amd64/installer/preview/aosc-os_installer_20240627_amd64.iso) +- [AArch64](https://releases.aosc.io/os-arm64/installer/preview/aosc-os_installer_20240627_arm64.iso) +- [龙架构(LoongArch)](https://releases.aosc.io/os-loongarch64/installer/preview/aosc-os_installer_20240627_loongarch64.iso) + +如果您在测试时遇到问题或困难,请通过社区[各聊天群组](https://aosc.io/zh-cn/contact)或[社区论坛](https://bbs.aosc.io/)与我们联系 + +感谢您的测试! diff --git a/content/news/2024-06-28-ospp-2024-work-start.md b/content/news/2024-06-28-ospp-2024-work-start.md new file mode 100644 index 00000000..55611b89 --- /dev/null +++ b/content/news/2024-06-28-ospp-2024-work-start.md @@ -0,0 +1,19 @@ +--- +categories: + - news +title: "社区“开源之夏”项目正式启航" +date: 2024-06-28T23:00:00+08:00 +important: true +home: true +--- +![](/assets/news/2024-06-28-ospp-work-start.png) + +经过社区考核、选拔与组委会审核,社区各项目中选学生名单如下: + +- 李伽扬 :[为 RISC-V 开发板提供安同 OS 系统镜像 ](https://summer-ospp.ac.cn/org/prodetail/24f3e0162) +- 葛镕锋 :[自由及开源软件简中本地化工作 ](https://summer-ospp.ac.cn/org/prodetail/24f3e0160) +- 侯文敏 :[设计编写安同 OS 用户手册及编写规范 ](https://summer-ospp.ac.cn/org/prodetail/24f3e0161) + +未来几天,中选学生将与社区、导师进一步就项目目标、工作安排等细节进行沟通,明确项目需求、开发方案与时间规划;开发工作将于 7 月 1 日 至 9 月 30 日进行。 + +[更多信息 >> ](https://summer-ospp.ac.cn/org/orgdetail/f3ea6d02-4c9c-4638-8ec6-dfba26040cf6?lang=zh) diff --git a/content/news/2024-06-28-ospp-2024-work-start.zh-cn.md b/content/news/2024-06-28-ospp-2024-work-start.zh-cn.md new file mode 100644 index 00000000..55611b89 --- /dev/null +++ b/content/news/2024-06-28-ospp-2024-work-start.zh-cn.md @@ -0,0 +1,19 @@ +--- +categories: + - news +title: "社区“开源之夏”项目正式启航" +date: 2024-06-28T23:00:00+08:00 +important: true +home: true +--- +![](/assets/news/2024-06-28-ospp-work-start.png) + +经过社区考核、选拔与组委会审核,社区各项目中选学生名单如下: + +- 李伽扬 :[为 RISC-V 开发板提供安同 OS 系统镜像 ](https://summer-ospp.ac.cn/org/prodetail/24f3e0162) +- 葛镕锋 :[自由及开源软件简中本地化工作 ](https://summer-ospp.ac.cn/org/prodetail/24f3e0160) +- 侯文敏 :[设计编写安同 OS 用户手册及编写规范 ](https://summer-ospp.ac.cn/org/prodetail/24f3e0161) + +未来几天,中选学生将与社区、导师进一步就项目目标、工作安排等细节进行沟通,明确项目需求、开发方案与时间规划;开发工作将于 7 月 1 日 至 9 月 30 日进行。 + +[更多信息 >> ](https://summer-ospp.ac.cn/org/orgdetail/f3ea6d02-4c9c-4638-8ec6-dfba26040cf6?lang=zh) diff --git a/content/news/2024-07-02-aoscc-2024-T-shirt.md b/content/news/2024-07-02-aoscc-2024-T-shirt.md new file mode 100644 index 00000000..a43ec2c3 --- /dev/null +++ b/content/news/2024-07-02-aoscc-2024-T-shirt.md @@ -0,0 +1,46 @@ +--- +categories: + - news +title: "AOSCC 2024 纪念衫开启订购!" +date: 2024-07-02T23:00:00+08:00 +important: false + +--- +![](/assets/news/T-shirt.png) + +我们为本次 AOSCC 设计了两款纪念衫(T 恤),由于需要按批次订购且单价较高(约 60 ~ 70 元一件),有意购买者请于 UTC+8 时间 7 月 5 日午间 12 时前填写本表;如需海外收货,请通过如下联系方式咨询详情: + +- Telegram: @JeffBai +- 微信:MingcongBai +- QQ: 2879378668 + +根据您的需要,纪念衫可通过现场领取或邮寄的方式交付。 + +### 款式介绍 + +今年设计的两款 T 恤均为胸前大图案,展示社区今年的文化和技术事件,分别是: + +款式一:众人拾柴火焰高:67 元/件 + +采用五十根炸虾老师设计的安安同同贴图包设计;一起安同,一起挖坑,一起屁股着火! +![](/assets/news/安同开源社区-黑.png) + +款式二:* ERROR * ring gfx timeout:59 元/件 + +关注社区龙架构移植的朋友们大概知道,由于龙芯 7A 桥片设计缺陷,AMD 显卡在高负载工况下容易触发驱动崩溃复位(图中的 glmark2 缓存测试波浪图便是最容易造成这一崩溃的案例);这一问题困扰社区维护者和用户近一年,故设计该图案用于纪念(笑) +![](/assets/news/安同开源社区-藏青(宽25)-fix.png) + +> 订购已截止 + +[点此订购 >> ](https://f.wps.cn/g/otTFSPBi/)。 + +### 尺码表 + +![](/assets/news/T-shirt-size.jpg) + +### 付款沟通 + +由于本次纪念衫订购人数远超预期(已有超过 100 人订购),我们需要一定时间联系各位。 + +我们将于 12 时下单后开始陆续联系各位收款,如果您尚未被联系,可能只是尚未处理到;如明日正午 12 时仍未有人联系您,请直接联系 @JeffBai(由于事务繁忙,在此之前请勿主动联系)。 +> 已与所有订购了纪念衫的朋友联系收款及(同需要邮寄的朋友)登记快递信息,感谢各位理解和配合! diff --git a/content/news/2024-07-02-aoscc-2024-T-shirt.zh-cn.md b/content/news/2024-07-02-aoscc-2024-T-shirt.zh-cn.md new file mode 100644 index 00000000..5581bdff --- /dev/null +++ b/content/news/2024-07-02-aoscc-2024-T-shirt.zh-cn.md @@ -0,0 +1,46 @@ +--- +categories: + - news +title: "AOSCC 2024 纪念衫开启订购!" +date: 2024-07-02T23:00:00+08:00 +important: false + +--- +![](/assets/news/T-shirt.png) + +我们为本次 AOSCC 设计了两款纪念衫(T 恤),由于需要按批次订购且单价较高(约 60 ~ 70 元一件),有意购买者请于 UTC+8 时间 7 月 5 日午间 12 时前填写本表;如需海外收货,请通过如下联系方式咨询详情: + +- Telegram: @JeffBai +- 微信:MingcongBai +- QQ: 2879378668 + +根据您的需要,纪念衫可通过现场领取或邮寄的方式交付。 + +### 款式介绍 + +今年设计的两款 T 恤均为胸前大图案,展示社区今年的文化和技术事件,分别是: + +款式一:众人拾柴火焰高:67 元/件 + +采用五十根炸虾老师设计的安安同同贴图包设计;一起安同,一起挖坑,一起屁股着火! +![](/assets/news/安同开源社区-黑.png) + +款式二:* ERROR * ring gfx timeout:59 元/件 + +关注社区龙架构移植的朋友们大概知道,由于龙芯 7A 桥片设计缺陷,AMD 显卡在高负载工况下容易触发驱动崩溃复位(图中的 glmark2 缓存测试波浪图便是最容易造成这一崩溃的案例);这一问题困扰社区维护者和用户近一年,故设计该图案用于纪念(笑) +![](/assets/news/安同开源社区-藏青(宽25)-fix.png) + +> 订购已截止 + +[点此订购 >> ](https://f.wps.cn/g/otTFSPBi/)。 + +### 尺码表 + +![](/assets/news/T-shirt-size.jpg) + +### 付款沟通 +> 已与所有订购了纪念衫的朋友联系收款及(同需要邮寄的朋友)登记快递信息,感谢各位理解和配合! + +由于本次纪念衫订购人数远超预期(已有超过 100 人订购),我们需要一定时间联系各位。 + +我们将于 12 时下单后开始陆续联系各位收款,如果您尚未被联系,可能只是尚未处理到;如明日正午 12 时仍未有人联系您,请直接联系 @JeffBai(由于事务繁忙,在此之前请勿主动联系)。 diff --git a/content/news/2024-07-02-aoscc-2024-canvas-bag.md b/content/news/2024-07-02-aoscc-2024-canvas-bag.md new file mode 100644 index 00000000..dafaef58 --- /dev/null +++ b/content/news/2024-07-02-aoscc-2024-canvas-bag.md @@ -0,0 +1,19 @@ +--- +categories: + - news +title: "AOSCC 2024 周边预告之:帆布袋" +date: 2024-07-02T23:00:00+08:00 +important: false + +--- +![](/assets/news/canvas-bag.jpg) + +我们为今年的线下活动设计了帆布袋周边,基于五十根炸虾老师的[安安同同贴图包](https://t.me/addstickers/AnAnTongTong)制作;届时与会者们可随机领取一个帆布袋,无法现场参加的朋友们可在 AOSCC 2024 结束后支付邮费领取。 + +款式一: + +![](/assets/news/canvas-bag-1.jpg) + +款式二: + +![](/assets/news/canvas-bag-2.jpg) diff --git a/content/news/2024-07-02-aoscc-2024-canvas-bag.zh-cn.md b/content/news/2024-07-02-aoscc-2024-canvas-bag.zh-cn.md new file mode 100644 index 00000000..eb032bc7 --- /dev/null +++ b/content/news/2024-07-02-aoscc-2024-canvas-bag.zh-cn.md @@ -0,0 +1,19 @@ +--- +categories: + - news +title: "AOSCC 2024 周边预告之:帆布袋" +date: 2024-07-02T23:00:00+08:00 +important: false + +--- +![](/assets/news/canvas-bag.png) + +我们为今年的线下活动设计了帆布袋周边,基于五十根炸虾老师的[安安同同贴图包](https://t.me/addstickers/AnAnTongTong)制作;届时与会者们可随机领取一个帆布袋,无法现场参加的朋友们可在 AOSCC 2024 结束后支付邮费领取。 + +款式一: + +![](/assets/news/canvas-bag-1.jpg) + +款式二: + +![](/assets/news/canvas-bag-2.jpg) diff --git a/content/news/2024-07-02-aoscc-2024-keychains.md b/content/news/2024-07-02-aoscc-2024-keychains.md new file mode 100644 index 00000000..c3934fdc --- /dev/null +++ b/content/news/2024-07-02-aoscc-2024-keychains.md @@ -0,0 +1,13 @@ +--- +categories: + - news +title: "AOSCC 2024 周边预告之:钥匙扣" +date: 2024-07-02T23:00:00+08:00 +important: false + +--- +![](/assets/news/keychains.png) + +我们为今年的线下活动设计了钥匙扣周边,基于五十根炸虾老师的[安安同同贴图包](https://t.me/addstickers/AnAnTongTong)制作;届时与会者们可随机领取一个钥匙扣,无法现场参加的朋友们可在 AOSCC 2024 结束后支付邮费领取。 + +感谢 @TheSaltedFish 制作矢量图稿并补全部分贴图中安安的耳朵! diff --git a/content/news/2024-07-02-aoscc-2024-keychains.zh-cn.md b/content/news/2024-07-02-aoscc-2024-keychains.zh-cn.md new file mode 100644 index 00000000..c3934fdc --- /dev/null +++ b/content/news/2024-07-02-aoscc-2024-keychains.zh-cn.md @@ -0,0 +1,13 @@ +--- +categories: + - news +title: "AOSCC 2024 周边预告之:钥匙扣" +date: 2024-07-02T23:00:00+08:00 +important: false + +--- +![](/assets/news/keychains.png) + +我们为今年的线下活动设计了钥匙扣周边,基于五十根炸虾老师的[安安同同贴图包](https://t.me/addstickers/AnAnTongTong)制作;届时与会者们可随机领取一个钥匙扣,无法现场参加的朋友们可在 AOSCC 2024 结束后支付邮费领取。 + +感谢 @TheSaltedFish 制作矢量图稿并补全部分贴图中安安的耳朵! diff --git a/content/news/2024-07-02-aoscc-2024-stickers.md b/content/news/2024-07-02-aoscc-2024-stickers.md new file mode 100644 index 00000000..c5758767 --- /dev/null +++ b/content/news/2024-07-02-aoscc-2024-stickers.md @@ -0,0 +1,31 @@ +--- +categories: + - news +title: "AOSCC 2024 周边预告之:贴纸包" +date: 2024-07-02T23:00:00+08:00 +important: false + +--- + +社区的贴纸包,懂的都懂哈~ + +今年的贴纸包除再版来年较受欢迎的设计外:主要新增如下内容: + +- 安安同同贴图包(五十根炸虾) +- 杰哥・超级包霸 3000 +- “了”系列贴图 +- 信创梗图(泰山服务器 BIOS 报警) +- 更新系统项目徽标(安同 OS、星霞 OS) +- 新社区项目徽标(安记冰室) + +AOSCC 2024 贴纸包可于会场免费领取,无法来到现场的朋友可在 AOSCC 2024 后支付邮费领取。 + +感谢参与设计与排版工作的 @TheSaltedFish、 @OriginCode 和 @cth451! + +P1: + +![](/assets/news/stickers-1.png) + +P2: + +![](/assets/news/stickers-2.png) diff --git a/content/news/2024-07-02-aoscc-2024-stickers.zh-cn.md b/content/news/2024-07-02-aoscc-2024-stickers.zh-cn.md new file mode 100644 index 00000000..c5758767 --- /dev/null +++ b/content/news/2024-07-02-aoscc-2024-stickers.zh-cn.md @@ -0,0 +1,31 @@ +--- +categories: + - news +title: "AOSCC 2024 周边预告之:贴纸包" +date: 2024-07-02T23:00:00+08:00 +important: false + +--- + +社区的贴纸包,懂的都懂哈~ + +今年的贴纸包除再版来年较受欢迎的设计外:主要新增如下内容: + +- 安安同同贴图包(五十根炸虾) +- 杰哥・超级包霸 3000 +- “了”系列贴图 +- 信创梗图(泰山服务器 BIOS 报警) +- 更新系统项目徽标(安同 OS、星霞 OS) +- 新社区项目徽标(安记冰室) + +AOSCC 2024 贴纸包可于会场免费领取,无法来到现场的朋友可在 AOSCC 2024 后支付邮费领取。 + +感谢参与设计与排版工作的 @TheSaltedFish、 @OriginCode 和 @cth451! + +P1: + +![](/assets/news/stickers-1.png) + +P2: + +![](/assets/news/stickers-2.png) diff --git a/content/news/2024-07-03-aoscc-2024-agenda.md b/content/news/2024-07-03-aoscc-2024-agenda.md new file mode 100644 index 00000000..15688f0f --- /dev/null +++ b/content/news/2024-07-03-aoscc-2024-agenda.md @@ -0,0 +1,22 @@ +--- +categories: + - news +title: "AOSCC 2024 日程预告" +date: 2024-07-03T23:00:00+08:00 +important: false + +--- +![](/assets/news/agenda-full.png) + +欢迎光临有史以来讲者最多、参与社区数量最高、分享课题最多样的 AOSCC!今年,我们请来了多家社区、校园社团和企业的一线工作者分享他们的工作经验和思考。 + +考虑到课题数量较多且内容方向有一定发散性,我们将本届 AOSCC 的演讲分为四场: + +- 第一场:社区工作报告与投票 +- 第二场:社区与社团运营 +- 第三场:从个人到社区的实践 +- 第四场:发行版维护与管理 + +除在现场聆听和与讲者互动之外,本届 AOSCC 2024 将全程于 [Bilibili](https://live.bilibili.com/30341581) 直播,您还可以在直播间观看本届线下聚会的所有活动并发表弹幕和评论。 + +我们期待在 AOSCC 与您见面! diff --git a/content/news/2024-07-03-aoscc-2024-agenda.zh-cn.md b/content/news/2024-07-03-aoscc-2024-agenda.zh-cn.md new file mode 100644 index 00000000..15688f0f --- /dev/null +++ b/content/news/2024-07-03-aoscc-2024-agenda.zh-cn.md @@ -0,0 +1,22 @@ +--- +categories: + - news +title: "AOSCC 2024 日程预告" +date: 2024-07-03T23:00:00+08:00 +important: false + +--- +![](/assets/news/agenda-full.png) + +欢迎光临有史以来讲者最多、参与社区数量最高、分享课题最多样的 AOSCC!今年,我们请来了多家社区、校园社团和企业的一线工作者分享他们的工作经验和思考。 + +考虑到课题数量较多且内容方向有一定发散性,我们将本届 AOSCC 的演讲分为四场: + +- 第一场:社区工作报告与投票 +- 第二场:社区与社团运营 +- 第三场:从个人到社区的实践 +- 第四场:发行版维护与管理 + +除在现场聆听和与讲者互动之外,本届 AOSCC 2024 将全程于 [Bilibili](https://live.bilibili.com/30341581) 直播,您还可以在直播间观看本届线下聚会的所有活动并发表弹幕和评论。 + +我们期待在 AOSCC 与您见面! diff --git a/content/news/2024-07-06-aoscc-2024-hotel-check-in.md b/content/news/2024-07-06-aoscc-2024-hotel-check-in.md new file mode 100644 index 00000000..43bfea88 --- /dev/null +++ b/content/news/2024-07-06-aoscc-2024-hotel-check-in.md @@ -0,0 +1,25 @@ +--- +categories: + - news +title: "AOSCC 2024 协议酒店入住确认" +date: 2024-07-06T23:00:00+08:00 +important: false + +--- + +>此项工作已完成 + +![](/assets/news/coffee-break/20240623/imgs/aoscc-2024-jlu.png) + +我们已为计划入住协议酒店的与会者预订了房间,目前协议酒店已订满,新增预订将进入候补列表。 + +请所有入住人在 7 月 10 日中午 12:00 前核对入住信息、确认入住并支付房费。我们将从 9 日开始主动联系未确认的与会者,逾期不确认将不保证提供房间。 + +入住信息确认:https://aoscc.ciel.pro + +在使用平台、支付房费中遇到任何问题,请联系: + +- Telegram: @TechCiel +- 电话: 15584114514 +- 邮箱: aoscc2024@ciel.dev +- QQ: 969164695 diff --git a/content/news/2024-07-06-aoscc-2024-hotel-check-in.zh-cn.md b/content/news/2024-07-06-aoscc-2024-hotel-check-in.zh-cn.md new file mode 100644 index 00000000..aa2ce635 --- /dev/null +++ b/content/news/2024-07-06-aoscc-2024-hotel-check-in.zh-cn.md @@ -0,0 +1,24 @@ +--- +categories: + - news +title: "AOSCC 2024 协议酒店入住确认" +date: 2024-07-06T23:00:00+08:00 +important: false + +--- +>此项工作已完成 + +![](/assets/news/coffee-break/20240623/imgs/aoscc-2024-jlu.png) + +我们已为计划入住协议酒店的与会者预订了房间,目前协议酒店已订满,新增预订将进入候补列表。 + +请所有入住人在 7 月 10 日中午 12:00 前核对入住信息、确认入住并支付房费。我们将从 9 日开始主动联系未确认的与会者,逾期不确认将不保证提供房间。 + +入住信息确认:https://aoscc.ciel.pro + +在使用平台、支付房费中遇到任何问题,请联系: + +- Telegram: @TechCiel +- 电话: 15584114514 +- 邮箱: aoscc2024@ciel.dev +- QQ: 969164695 diff --git a/content/news/2024-07-08-aoscc-2024-registration.md b/content/news/2024-07-08-aoscc-2024-registration.md new file mode 100644 index 00000000..2fdd1db1 --- /dev/null +++ b/content/news/2024-07-08-aoscc-2024-registration.md @@ -0,0 +1,15 @@ +--- +categories: + - news +title: "AOSCC 2024 正式注册截止" +date: 2024-07-08T23:00:00+08:00 +important: false + +--- +![](/assets/news/coffee-break/20240623/imgs/aoscc-2024-jlu.png) + +截至 7 月 8 日零时,AOSCC 2024 共注册了 133 位与会者,创下历史新高。 + +**注意**!我们已经为与会者完成了入校实名登记,**请使用预留手机号查收门禁系统短信**,如未收到请[联系会务志愿者](https://wiki.aosc.io/zh/community/aoscc/2024/#zhi-yuan-zhe-lian-xi-fang-shi "联系会务志愿者")(注:会场设在前卫南校区,其他校区系为方便与会者观光一并审批)。 + +[注册入口](https://www.wjx.top/vm/hwRCH7e.aspx "注册入口")**仍将继续开放**,但不再提供定制胸牌,协议酒店也已订满,我们将在可能的情况下安排您正常实名登记并到场参会。酒店候补将于 7 月 10 日中午结束,如注册人数达到 150 人容量上限,我们将即时关闭注册入口。 diff --git a/content/news/2024-07-08-aoscc-2024-registration.zh-cn.md b/content/news/2024-07-08-aoscc-2024-registration.zh-cn.md new file mode 100644 index 00000000..2fdd1db1 --- /dev/null +++ b/content/news/2024-07-08-aoscc-2024-registration.zh-cn.md @@ -0,0 +1,15 @@ +--- +categories: + - news +title: "AOSCC 2024 正式注册截止" +date: 2024-07-08T23:00:00+08:00 +important: false + +--- +![](/assets/news/coffee-break/20240623/imgs/aoscc-2024-jlu.png) + +截至 7 月 8 日零时,AOSCC 2024 共注册了 133 位与会者,创下历史新高。 + +**注意**!我们已经为与会者完成了入校实名登记,**请使用预留手机号查收门禁系统短信**,如未收到请[联系会务志愿者](https://wiki.aosc.io/zh/community/aoscc/2024/#zhi-yuan-zhe-lian-xi-fang-shi "联系会务志愿者")(注:会场设在前卫南校区,其他校区系为方便与会者观光一并审批)。 + +[注册入口](https://www.wjx.top/vm/hwRCH7e.aspx "注册入口")**仍将继续开放**,但不再提供定制胸牌,协议酒店也已订满,我们将在可能的情况下安排您正常实名登记并到场参会。酒店候补将于 7 月 10 日中午结束,如注册人数达到 150 人容量上限,我们将即时关闭注册入口。 diff --git a/content/news/2024-07-11-aoscc-2024-power-failure.md b/content/news/2024-07-11-aoscc-2024-power-failure.md new file mode 100644 index 00000000..54b56c15 --- /dev/null +++ b/content/news/2024-07-11-aoscc-2024-power-failure.md @@ -0,0 +1,22 @@ +--- +categories: + - news +title: "AOSCC 临时日程调整" +date: 2024-07-11T23:00:00+08:00 +important: false + +--- +![](/assets/news/coffee-break/20240623/imgs/aoscc-2024-jlu.png) + +由于校方临时通知 7 月 14 日下午 13:30 - 15:30 计划电力检修,预计会场届时停电;我们正积极与校方协商避免影响,但考虑到会期临近,我们决定先行对议程进行调整;如有后续通知,我们会进一步通告。 + +我们计划对第二日(14 日)日程作出如下调整: + +- 将午休后移并延长至 12:45 - 15:30 +- 将刘子兴、李成刚的分享调整至 11:45 - 12:45(原午休时间) +- 将 Revy 的分享调整至 16:00 - 16:30 (原自由活动时间) +- 如电力恢复延迟,午休后议程将顺延 + +我们建议各位与会者届时返回酒店休息,或在会场外自由活动,避免在会场聚集,以免发生中暑等健康突发情况。 + +我们为此带来的不便表示歉意! diff --git a/content/news/2024-07-11-aoscc-2024-power-failure.zh-cn.md b/content/news/2024-07-11-aoscc-2024-power-failure.zh-cn.md new file mode 100644 index 00000000..54b56c15 --- /dev/null +++ b/content/news/2024-07-11-aoscc-2024-power-failure.zh-cn.md @@ -0,0 +1,22 @@ +--- +categories: + - news +title: "AOSCC 临时日程调整" +date: 2024-07-11T23:00:00+08:00 +important: false + +--- +![](/assets/news/coffee-break/20240623/imgs/aoscc-2024-jlu.png) + +由于校方临时通知 7 月 14 日下午 13:30 - 15:30 计划电力检修,预计会场届时停电;我们正积极与校方协商避免影响,但考虑到会期临近,我们决定先行对议程进行调整;如有后续通知,我们会进一步通告。 + +我们计划对第二日(14 日)日程作出如下调整: + +- 将午休后移并延长至 12:45 - 15:30 +- 将刘子兴、李成刚的分享调整至 11:45 - 12:45(原午休时间) +- 将 Revy 的分享调整至 16:00 - 16:30 (原自由活动时间) +- 如电力恢复延迟,午休后议程将顺延 + +我们建议各位与会者届时返回酒店休息,或在会场外自由活动,避免在会场聚集,以免发生中暑等健康突发情况。 + +我们为此带来的不便表示歉意! diff --git a/content/news/2024-07-12-aoscc-2024-arrival-tips.md b/content/news/2024-07-12-aoscc-2024-arrival-tips.md new file mode 100644 index 00000000..3ae25989 --- /dev/null +++ b/content/news/2024-07-12-aoscc-2024-arrival-tips.md @@ -0,0 +1,23 @@ +--- +categories: + - news +title: "AOSCC 到达和签到小贴士" +date: 2024-07-12T23:00:00+08:00 +important: false + +--- +![](/assets/news/coffee-break/20240623/imgs/aoscc-2024-jlu.png) + +请各位与会者适时查阅[参会实用信息](https://wiki.aosc.io/zh/community/aoscc/2024-guide/),以获取交通、住宿、餐饮、文旅指南。 + +我们已在协议酒店「如家酒店 (长春高新吉林大学店)」大堂设置了签到处,今日协议酒店的与会者可先行签到并领取材料。 + +您收到的材料应包括以下内容,如有缺失、错误,或需要调换款式,请询问签到处志愿者。 + +- 帆布袋一只 +- AOSCC 2024 贴纸集 2 张(A4*2) +- LUG@JLU 贴纸集 2 张(A5+A6) +- 安安/同同亚克力钥匙扣一枚(注意撕膜) +- 胸牌和挂绳一套(可用签到处记号笔涂鸦) +- 您订购的纪念衫(如选择了会场领取) +- 拼房入住附赠耳塞(其他与会者可按需索要) diff --git a/content/news/2024-07-12-aoscc-2024-arrival-tips.zh-cn.md b/content/news/2024-07-12-aoscc-2024-arrival-tips.zh-cn.md new file mode 100644 index 00000000..3ae25989 --- /dev/null +++ b/content/news/2024-07-12-aoscc-2024-arrival-tips.zh-cn.md @@ -0,0 +1,23 @@ +--- +categories: + - news +title: "AOSCC 到达和签到小贴士" +date: 2024-07-12T23:00:00+08:00 +important: false + +--- +![](/assets/news/coffee-break/20240623/imgs/aoscc-2024-jlu.png) + +请各位与会者适时查阅[参会实用信息](https://wiki.aosc.io/zh/community/aoscc/2024-guide/),以获取交通、住宿、餐饮、文旅指南。 + +我们已在协议酒店「如家酒店 (长春高新吉林大学店)」大堂设置了签到处,今日协议酒店的与会者可先行签到并领取材料。 + +您收到的材料应包括以下内容,如有缺失、错误,或需要调换款式,请询问签到处志愿者。 + +- 帆布袋一只 +- AOSCC 2024 贴纸集 2 张(A4*2) +- LUG@JLU 贴纸集 2 张(A5+A6) +- 安安/同同亚克力钥匙扣一枚(注意撕膜) +- 胸牌和挂绳一套(可用签到处记号笔涂鸦) +- 您订购的纪念衫(如选择了会场领取) +- 拼房入住附赠耳塞(其他与会者可按需索要) diff --git a/content/news/2024-07-16-mesa-llvmpipe-orcjit-and-risc-v-support-merged.md b/content/news/2024-07-16-mesa-llvmpipe-orcjit-and-risc-v-support-merged.md new file mode 100644 index 00000000..2d93ee9d --- /dev/null +++ b/content/news/2024-07-16-mesa-llvmpipe-orcjit-and-risc-v-support-merged.md @@ -0,0 +1,18 @@ +--- +categories: + - news + - advisories +title: "Mesa 上游合并 llvmpipe OrcJIT 及 RISC-V 支持" +date: 2024-07-16T23:00:00+08:00 +important: true + +--- +![](/assets/news/2024-07-16-mesa-llvmpipe-orcjit-and-risc-v-merged.png) + +经过接近两年的审阅、修订及测试工作,图形加速套件 Mesa 的 llvmpipe OrcJIT 及 RISC-V 支持终于成功合并上游。该支持合并后,RISC-V 将可以正常使用由 OrcJIT 加持的软渲染加速。感谢 [Alex Fan](https://github.com/alexfanqi) 及 [Yukari Chiba](https://github.com/YukariChiba) 等贡献者为此上游补丁付出的努力!在此过程中,我社率先在安同 OS 的 Mesa 组件中集成、测试了该支持,并多次提供反馈。 + +此外,由我社贡献者 [Icenowy Zheng](https://github.com/Icenowy) 实现的[龙架构 llvmpipe OrcJIT 适配](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30197)及[盘上(on-disk)着色器缓存支持](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30036)也紧随其后进入上游审阅流程,后续也将为更多发行版长期提供支持(安同 OS 的 Mesa 组件已在过去一段时间对这部分功能进行测试了测试验证)。 + +如下是 CNRV 发布的新闻稿,点击原文即可了解详情。 + +[CNRV 新闻稿 >> ](https://mp.weixin.qq.com/s/mlgZcAVUD8BGIGyA500sEg) diff --git a/content/news/2024-07-16-mesa-llvmpipe-orcjit-and-risc-v-support-merged.zh-cn.md b/content/news/2024-07-16-mesa-llvmpipe-orcjit-and-risc-v-support-merged.zh-cn.md new file mode 100644 index 00000000..f63737f4 --- /dev/null +++ b/content/news/2024-07-16-mesa-llvmpipe-orcjit-and-risc-v-support-merged.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - news + - advisories +title: "Mesa 上游合并 llvmpipe OrcJIT 及 RISC-V 支持" +date: 2024-07-16T23:00:00+08:00 +important: true + +--- +![](/assets/news/2024-07-16-mesa-llvmpipe-orcjit-and-risc-v-support-merged.png) + +经过接近两年的审阅、修订及测试工作,图形加速套件 Mesa 的 llvmpipe OrcJIT 及 RISC-V 支持终于成功合并上游。该支持合并后,RISC-V 将可以正常使用由 OrcJIT 加持的软渲染加速。感谢 [Alex Fan](https://github.com/alexfanqi) 及 [Yukari Chiba](https://github.com/YukariChiba) 等贡献者为此上游补丁付出的努力!在此过程中,我社率先在安同 OS 的 Mesa 组件中集成、测试了该支持,并多次提供反馈。 + +此外,由我社贡献者 [Icenowy Zheng](https://github.com/Icenowy) 实现的[龙架构 llvmpipe OrcJIT 适配](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30197)及[盘上(on-disk)着色器缓存支持](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30036)也紧随其后进入上游审阅流程,后续也将为更多发行版长期提供支持(安同 OS 的 Mesa 组件已在过去一段时间对这部分功能进行测试了测试验证)。 + +如下是 CNRV 发布的新闻稿,点击原文即可了解详情。 + +[CNRV 新闻稿 >> ](https://mp.weixin.qq.com/s/mlgZcAVUD8BGIGyA500sEg) diff --git a/content/news/2024-07-18-aoscc-2024-call-for-photos.md b/content/news/2024-07-18-aoscc-2024-call-for-photos.md new file mode 100644 index 00000000..2c96840e --- /dev/null +++ b/content/news/2024-07-18-aoscc-2024-call-for-photos.md @@ -0,0 +1,16 @@ +--- +categories: + - news +title: "AOSCC 2024 会场照片征集" +date: 2024-07-18T23:00:00+08:00 +important: false +--- +![](/assets/news/2024-07-18-aoscc-2024-call-for-photos.jpg) + +7 月 14 日,又一年的 AOSCC 圆满闭幕,我们很高兴能在吉林大学与大家见面!如同往年,我们计划收集一集 AOSCC 现场照片,并将在社区门户上展示留念;如果您有兴趣投稿,请通过如下方式联系白铭骢: + +- Telegram:@JeffBai +- QQ:2879378668 +- 微信:mingcongbai + +感谢各位的支持! diff --git a/content/news/2024-07-18-aoscc-2024-call-for-photos.zh-cn.md b/content/news/2024-07-18-aoscc-2024-call-for-photos.zh-cn.md new file mode 100644 index 00000000..2c96840e --- /dev/null +++ b/content/news/2024-07-18-aoscc-2024-call-for-photos.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - news +title: "AOSCC 2024 会场照片征集" +date: 2024-07-18T23:00:00+08:00 +important: false +--- +![](/assets/news/2024-07-18-aoscc-2024-call-for-photos.jpg) + +7 月 14 日,又一年的 AOSCC 圆满闭幕,我们很高兴能在吉林大学与大家见面!如同往年,我们计划收集一集 AOSCC 现场照片,并将在社区门户上展示留念;如果您有兴趣投稿,请通过如下方式联系白铭骢: + +- Telegram:@JeffBai +- QQ:2879378668 +- 微信:mingcongbai + +感谢各位的支持! diff --git a/content/news/2024-07-18-coffee-break-schedule.md b/content/news/2024-07-18-coffee-break-schedule.md new file mode 100644 index 00000000..16bc25b4 --- /dev/null +++ b/content/news/2024-07-18-coffee-break-schedule.md @@ -0,0 +1,11 @@ +--- +categories: + - journals +title: "《安记冰室》七月发刊计划" +date: 2024-07-18T12:00:00+08:00 +important: false + +--- +由于 AOSCC 会务及后续工作繁忙,我们计划取消《安记冰室》七月上号的发行;我们计划于 7 月 27-28 日发布《安记冰室》七月下号,除日常内容外,本期还将附带社区 2023 年度工作报告及 AOSCC 2024 会务工作报告供各位查阅 + +感谢您的理解! diff --git a/content/news/2024-07-18-coffee-break-schedule.zh-cn.md b/content/news/2024-07-18-coffee-break-schedule.zh-cn.md new file mode 100644 index 00000000..16bc25b4 --- /dev/null +++ b/content/news/2024-07-18-coffee-break-schedule.zh-cn.md @@ -0,0 +1,11 @@ +--- +categories: + - journals +title: "《安记冰室》七月发刊计划" +date: 2024-07-18T12:00:00+08:00 +important: false + +--- +由于 AOSCC 会务及后续工作繁忙,我们计划取消《安记冰室》七月上号的发行;我们计划于 7 月 27-28 日发布《安记冰室》七月下号,除日常内容外,本期还将附带社区 2023 年度工作报告及 AOSCC 2024 会务工作报告供各位查阅 + +感谢您的理解! diff --git a/content/news/2024-07-21-deploykit-update-log.md b/content/news/2024-07-21-deploykit-update-log.md new file mode 100644 index 00000000..ec71f8e8 --- /dev/null +++ b/content/news/2024-07-21-deploykit-update-log.md @@ -0,0 +1,21 @@ +--- +categories: + - advisories +title: "安同 OS 图形安装器(Deploykit)更新日志" +date: 2024-07-21T13:00:00+08:00 +important: false + +--- +![](/assets/news/2024-06-04-aoscos-livekit-pre.jpg) + +Deploykit-GUI v0.7.4: + +- 修复了在磁盘选择界面中点击上一步无法返回的问题(感谢 @GGN_2015 提交 Bug!) +- 修复了没有检查 EFI 分区有多少的问题(感谢 @ziyao233 提交 Bug!) +- 修复了在离线安装模式下的安装所需空间的大小计算 + +Deploykit-Backend v0.6.4: + +- 修复了因 API 设计错误导致返回了 Result wrap 的问题 + +包含以上修复的安装盘将在今明两天发布,敬请期待! diff --git a/content/news/2024-07-21-deploykit-update-log.zh-cn.md b/content/news/2024-07-21-deploykit-update-log.zh-cn.md new file mode 100644 index 00000000..ec71f8e8 --- /dev/null +++ b/content/news/2024-07-21-deploykit-update-log.zh-cn.md @@ -0,0 +1,21 @@ +--- +categories: + - advisories +title: "安同 OS 图形安装器(Deploykit)更新日志" +date: 2024-07-21T13:00:00+08:00 +important: false + +--- +![](/assets/news/2024-06-04-aoscos-livekit-pre.jpg) + +Deploykit-GUI v0.7.4: + +- 修复了在磁盘选择界面中点击上一步无法返回的问题(感谢 @GGN_2015 提交 Bug!) +- 修复了没有检查 EFI 分区有多少的问题(感谢 @ziyao233 提交 Bug!) +- 修复了在离线安装模式下的安装所需空间的大小计算 + +Deploykit-Backend v0.6.4: + +- 修复了因 API 设计错误导致返回了 Result wrap 的问题 + +包含以上修复的安装盘将在今明两天发布,敬请期待! diff --git a/content/news/2024-07-21-new-loongson-mips-build-server.md b/content/news/2024-07-21-new-loongson-mips-build-server.md new file mode 100644 index 00000000..17a504b5 --- /dev/null +++ b/content/news/2024-07-21-new-loongson-mips-build-server.md @@ -0,0 +1,13 @@ +--- +categories: + - news +title: "MIPS 龙芯新构建服务器上线!" +date: 2024-07-21T22:19:13-08:00 +important: false + +--- +![](/assets/news/katyusha-mips.png) + +近日,社区贡献者 KatyushaScarlet 捐赠了一台双路龙芯 3B4000 服务器(搭载 8 个核心及 32GiB 内存),助力我社安同 OS MIPS 龙芯 3 号及星霞 OS 龙芯 2F 版本的移植维护工作;目前该构建服务器已在接收 BuildIt! 构建任务。 + +感谢 KatyushaScarlet 的慷慨捐赠! diff --git a/content/news/2024-07-21-new-loongson-mips-build-server.zh-cn.md b/content/news/2024-07-21-new-loongson-mips-build-server.zh-cn.md new file mode 100644 index 00000000..17a504b5 --- /dev/null +++ b/content/news/2024-07-21-new-loongson-mips-build-server.zh-cn.md @@ -0,0 +1,13 @@ +--- +categories: + - news +title: "MIPS 龙芯新构建服务器上线!" +date: 2024-07-21T22:19:13-08:00 +important: false + +--- +![](/assets/news/katyusha-mips.png) + +近日,社区贡献者 KatyushaScarlet 捐赠了一台双路龙芯 3B4000 服务器(搭载 8 个核心及 32GiB 内存),助力我社安同 OS MIPS 龙芯 3 号及星霞 OS 龙芯 2F 版本的移植维护工作;目前该构建服务器已在接收 BuildIt! 构建任务。 + +感谢 KatyushaScarlet 的慷慨捐赠! diff --git a/content/news/2024-07-21-oma-1.3.29.md b/content/news/2024-07-21-oma-1.3.29.md new file mode 100644 index 00000000..db1529ef --- /dev/null +++ b/content/news/2024-07-21-oma-1.3.29.md @@ -0,0 +1,13 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.3.29 更新日志" +date: 2024-07-21T12:00:00+08:00 +important: false + +--- +![](/assets/news/oma-slim.png) + +- 使用了新版 oma-apt (Rust apt binding),更加多的 C++ 空指针检查,减少崩溃几率 + +- 修复了当历史数据库存在 oma undo 条目时,再执行 oma undo 会发生 undo 列表错位的问题(感谢 @GGN_2015 提交 Bug!) diff --git a/content/news/2024-07-21-oma-1.3.29.zh-cn.md b/content/news/2024-07-21-oma-1.3.29.zh-cn.md new file mode 100644 index 00000000..db1529ef --- /dev/null +++ b/content/news/2024-07-21-oma-1.3.29.zh-cn.md @@ -0,0 +1,13 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.3.29 更新日志" +date: 2024-07-21T12:00:00+08:00 +important: false + +--- +![](/assets/news/oma-slim.png) + +- 使用了新版 oma-apt (Rust apt binding),更加多的 C++ 空指针检查,减少崩溃几率 + +- 修复了当历史数据库存在 oma undo 条目时,再执行 oma undo 会发生 undo 列表错位的问题(感谢 @GGN_2015 提交 Bug!) diff --git a/content/news/2024-07-22-loongarch-oldworld-boot-support.md b/content/news/2024-07-22-loongarch-oldworld-boot-support.md new file mode 100644 index 00000000..9ad8fdef --- /dev/null +++ b/content/news/2024-07-22-loongarch-oldworld-boot-support.md @@ -0,0 +1,55 @@ +--- +categories: + - news + - advisories +title: "世界线“合龙”:龙架构旧世界固件启动新世界系统已成现实!" +date: 2024-07-22T12:00:00+08:00 +important: true + +--- +![](/assets/news/loongarch-oldworld-boot-support.jpg) + + +继“坏人”王邈设计实现的 [libLoL 兼容层](https://liblol.aosc.io/ "libLoL 兼容层")打通新旧世界应用程序兼容性后,坏人再放大招,实现了从 GRUB 系统引导器到内核的旧世界固件启动支持——这意味着新旧世界的隔阂从固件到应用程序均已成为历史! + +龙架构电脑玩家们很可能听说过,3A5000/3C5000 + 7A1000 的主板和笔记本有好几个型号一直没能得到新世界固件更新,因而无缘组件更新、应用更新更频繁、硬件支持更好的各大新世界发行版;如果您的旧世界设备因此吃灰,这一启动支持的实现意味着您可以在任意旧世界固件设备上启动和使用安同 OS 在内的一众新世界发行版了。 + +## 现实意义 + +新世界系统的旧世界固件启动支持将惠及各类龙架构设备用户。 + +不论对于二手设备玩家还是商业、政企用户,该支持将帮助旧世界设备向新世界系统的迁移,也将大大简化设备采购流程(用户及管理员均无需关心设备固件的新世界兼容性)、降低操作系统发行商的支持成本(用户无法启动系统的概率大大降低,且无需比对固件信息进行查错,甚至引导用户获取及刷写固件)。 + +## 支持设备 + +我们已在如下设备使用安同 OS 测试过该启动支持: + +- 联想开天 M540z +- 航天龙梦 ML5A(旧世界商用固件) + +## 实现原理 + +简略地说,GRUB 引导器和内核的旧世界支持主要通过探测旧世界固件独有的启动参数接口(Boot Parameters Interface,简称 BPI)签名调整所需的起始内存地址、内存分段、中断控制器、ACPI 表等的规范及行为实现的;该实现支持目前已知的 BPI01000 及 BPI01001 两种启动参数接口。 + +实现过程中,王邈参考了龙芯为 deepin 内核提交的[旧世界固件 BPI 支持补丁](https://github.com/deepin-community/kernel/pull/130 "旧世界固件 BPI 支持补丁")并对其内容进行了大幅度精简及修缮。 + +[查阅补丁集 >> ](https://gist.github.com/shankerwangmiao/a15e17fc5c1c1dfb883490862107fcbb "查阅补丁 >> ") + +## 已知问题 + +目前已通过测试的旧世界设备各项基本功能均正常,但我们发现目前 ACPI 关机 (poweroff) 行为存在问题:在关机流程结束后,systemd 提供的 poweroff 命令实现并没有正确切断机器的电源,转而提示用户切断电源。 + +如果您通过串口查阅内核日志,您可能会看到如下几行输出: + +``` +systemd-shutdown[1]: Powering off. +reboot: Power off not available: System halted instead + +** You can safely turn off the power now ** +``` + +我们会在近期继续研究解决方案。 + +## 更新计划 + +安同 OS 计划在下一个内核及 GRUB 引导器更新中引入旧世界启动支持,下一版系统安装盘将支持在上述旧世界设备上直接引导和安装安同 OS;我们将在未来数日通知并推荐各新世界系统维护者及厂商评估、测试及集成实现旧世界启动支持的相关补丁。 diff --git a/content/news/2024-07-22-loongarch-oldworld-boot-support.zh-cn.md b/content/news/2024-07-22-loongarch-oldworld-boot-support.zh-cn.md new file mode 100644 index 00000000..9ad8fdef --- /dev/null +++ b/content/news/2024-07-22-loongarch-oldworld-boot-support.zh-cn.md @@ -0,0 +1,55 @@ +--- +categories: + - news + - advisories +title: "世界线“合龙”:龙架构旧世界固件启动新世界系统已成现实!" +date: 2024-07-22T12:00:00+08:00 +important: true + +--- +![](/assets/news/loongarch-oldworld-boot-support.jpg) + + +继“坏人”王邈设计实现的 [libLoL 兼容层](https://liblol.aosc.io/ "libLoL 兼容层")打通新旧世界应用程序兼容性后,坏人再放大招,实现了从 GRUB 系统引导器到内核的旧世界固件启动支持——这意味着新旧世界的隔阂从固件到应用程序均已成为历史! + +龙架构电脑玩家们很可能听说过,3A5000/3C5000 + 7A1000 的主板和笔记本有好几个型号一直没能得到新世界固件更新,因而无缘组件更新、应用更新更频繁、硬件支持更好的各大新世界发行版;如果您的旧世界设备因此吃灰,这一启动支持的实现意味着您可以在任意旧世界固件设备上启动和使用安同 OS 在内的一众新世界发行版了。 + +## 现实意义 + +新世界系统的旧世界固件启动支持将惠及各类龙架构设备用户。 + +不论对于二手设备玩家还是商业、政企用户,该支持将帮助旧世界设备向新世界系统的迁移,也将大大简化设备采购流程(用户及管理员均无需关心设备固件的新世界兼容性)、降低操作系统发行商的支持成本(用户无法启动系统的概率大大降低,且无需比对固件信息进行查错,甚至引导用户获取及刷写固件)。 + +## 支持设备 + +我们已在如下设备使用安同 OS 测试过该启动支持: + +- 联想开天 M540z +- 航天龙梦 ML5A(旧世界商用固件) + +## 实现原理 + +简略地说,GRUB 引导器和内核的旧世界支持主要通过探测旧世界固件独有的启动参数接口(Boot Parameters Interface,简称 BPI)签名调整所需的起始内存地址、内存分段、中断控制器、ACPI 表等的规范及行为实现的;该实现支持目前已知的 BPI01000 及 BPI01001 两种启动参数接口。 + +实现过程中,王邈参考了龙芯为 deepin 内核提交的[旧世界固件 BPI 支持补丁](https://github.com/deepin-community/kernel/pull/130 "旧世界固件 BPI 支持补丁")并对其内容进行了大幅度精简及修缮。 + +[查阅补丁集 >> ](https://gist.github.com/shankerwangmiao/a15e17fc5c1c1dfb883490862107fcbb "查阅补丁 >> ") + +## 已知问题 + +目前已通过测试的旧世界设备各项基本功能均正常,但我们发现目前 ACPI 关机 (poweroff) 行为存在问题:在关机流程结束后,systemd 提供的 poweroff 命令实现并没有正确切断机器的电源,转而提示用户切断电源。 + +如果您通过串口查阅内核日志,您可能会看到如下几行输出: + +``` +systemd-shutdown[1]: Powering off. +reboot: Power off not available: System halted instead + +** You can safely turn off the power now ** +``` + +我们会在近期继续研究解决方案。 + +## 更新计划 + +安同 OS 计划在下一个内核及 GRUB 引导器更新中引入旧世界启动支持,下一版系统安装盘将支持在上述旧世界设备上直接引导和安装安同 OS;我们将在未来数日通知并推荐各新世界系统维护者及厂商评估、测试及集成实现旧世界启动支持的相关补丁。 diff --git a/content/news/2024-07-22-oma-1.3.30.md b/content/news/2024-07-22-oma-1.3.30.md new file mode 100644 index 00000000..99759782 --- /dev/null +++ b/content/news/2024-07-22-oma-1.3.30.md @@ -0,0 +1,13 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.3.30 更新日志" +date: 2024-07-22T12:00:00+08:00 +important: false + +--- +![](/assets/news/oma-slim.png) + +- 修复了卸载软件包名中包含保留字符(如 = 和 / ,oma remove /usr/bin/konsole )时未正确报告软件包名的问题(感谢 @ziyao233 提交的 Bug!) +- 调整了 command-not-found 的字符串相关度参数,优化相关命令的索引结果 +- 调整了 command-not-found 的输出颜色,更加好看了! diff --git a/content/news/2024-07-22-oma-1.3.30.zh-cn.md b/content/news/2024-07-22-oma-1.3.30.zh-cn.md new file mode 100644 index 00000000..99759782 --- /dev/null +++ b/content/news/2024-07-22-oma-1.3.30.zh-cn.md @@ -0,0 +1,13 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.3.30 更新日志" +date: 2024-07-22T12:00:00+08:00 +important: false + +--- +![](/assets/news/oma-slim.png) + +- 修复了卸载软件包名中包含保留字符(如 = 和 / ,oma remove /usr/bin/konsole )时未正确报告软件包名的问题(感谢 @ziyao233 提交的 Bug!) +- 调整了 command-not-found 的字符串相关度参数,优化相关命令的索引结果 +- 调整了 command-not-found 的输出颜色,更加好看了! diff --git a/content/news/2024-07-24-deploykit-update-log.md b/content/news/2024-07-24-deploykit-update-log.md new file mode 100644 index 00000000..1f2ef2ff --- /dev/null +++ b/content/news/2024-07-24-deploykit-update-log.md @@ -0,0 +1,16 @@ +--- +categories: + - advisories +title: "安同 OS 图形安装器(Deploykit)更新日志" +date: 2024-07-24T13:00:00+08:00 +important: true + +--- +![](/assets/news/deploykit-banner.png) + +- 修复离线模式下安装确认界面错误显示“从 下载 AOSC OS”的问题 +- 前端部分代码使用 TypeScript 重构,增强代码健壮性 +- 删除无用代码并整理逻辑 +- 更新所有组件依赖 + +包含以上修复的安装盘将在近期发布,敬请期待! diff --git a/content/news/2024-07-24-deploykit-update-log.zh-cn.md b/content/news/2024-07-24-deploykit-update-log.zh-cn.md new file mode 100644 index 00000000..1f2ef2ff --- /dev/null +++ b/content/news/2024-07-24-deploykit-update-log.zh-cn.md @@ -0,0 +1,16 @@ +--- +categories: + - advisories +title: "安同 OS 图形安装器(Deploykit)更新日志" +date: 2024-07-24T13:00:00+08:00 +important: true + +--- +![](/assets/news/deploykit-banner.png) + +- 修复离线模式下安装确认界面错误显示“从 下载 AOSC OS”的问题 +- 前端部分代码使用 TypeScript 重构,增强代码健壮性 +- 删除无用代码并整理逻辑 +- 更新所有组件依赖 + +包含以上修复的安装盘将在近期发布,敬请期待! diff --git a/content/news/2024-07-24-oma-1.3.31.md b/content/news/2024-07-24-oma-1.3.31.md new file mode 100644 index 00000000..4fc2ee9f --- /dev/null +++ b/content/news/2024-07-24-oma-1.3.31.md @@ -0,0 +1,18 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.3.31 更新日志" +date: 2024-07-24T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +- 添加 oma refresh 执行过程中的读取数据库操作时的进度条 +- 添加在 /etc/apt/sources.list 中使用 file:/ 的支持,现在可以使用 file:/ 或 file:/// 指定本地源了 +- 修复在 Debian/Ubuntu 及其衍生发行版中打开 multiarch 支持时 oma search 输出中不显示架构名的问题 +- 修复在 Debian/Ubuntu 及其衍生发行版中 oma show PKG 中输出 APT-Source 一栏显示不正确的问题 +- 修复在 Debian/Ubuntu 及其衍生发行版中,计算出的依赖错误输出中不显示软件包架构的问题 +- 修复非 Flat Repo 格式本地软件源的支持 + +以上修复已推送至稳定源! diff --git a/content/news/2024-07-24-oma-1.3.31.zh-cn.md b/content/news/2024-07-24-oma-1.3.31.zh-cn.md new file mode 100644 index 00000000..4fc2ee9f --- /dev/null +++ b/content/news/2024-07-24-oma-1.3.31.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.3.31 更新日志" +date: 2024-07-24T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +- 添加 oma refresh 执行过程中的读取数据库操作时的进度条 +- 添加在 /etc/apt/sources.list 中使用 file:/ 的支持,现在可以使用 file:/ 或 file:/// 指定本地源了 +- 修复在 Debian/Ubuntu 及其衍生发行版中打开 multiarch 支持时 oma search 输出中不显示架构名的问题 +- 修复在 Debian/Ubuntu 及其衍生发行版中 oma show PKG 中输出 APT-Source 一栏显示不正确的问题 +- 修复在 Debian/Ubuntu 及其衍生发行版中,计算出的依赖错误输出中不显示软件包架构的问题 +- 修复非 Flat Repo 格式本地软件源的支持 + +以上修复已推送至稳定源! diff --git a/content/news/2024-07-26-oma-1.3.32.md b/content/news/2024-07-26-oma-1.3.32.md new file mode 100644 index 00000000..65000628 --- /dev/null +++ b/content/news/2024-07-26-oma-1.3.32.md @@ -0,0 +1,18 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.3.32 更新日志" +date: 2024-07-26T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +- 修复了 oma topics 命令修改过后的 atm.list 文件头注释末尾不带换行符的问题(感谢 @JeffBai 修复!) +- 修复了 oma refresh 刷新非安同 OS 源时刷新信息显示不正确的问题 +- 修复了仅 Release 源不指定 trusted=yes ,也能刷新成功的问题 +- 修复了当使用 oma install 安装软件包时,若指定软件包不存在只打印错误信息,oma 仍继续执行的问题(感谢 @GGN_2015 提交的 Bug!) +- 调整了 oma topics 列表的输出格式与颜色,让界面更加简洁明了(感谢 @JeffBai 修复!) +- 修复了在 Wayland 环境下审阅界面不提示可以用鼠标滚动的问题(感谢 @Smasnug 修复!) + +以上修复已推送至稳定源! diff --git a/content/news/2024-07-26-oma-1.3.32.zh-cn.md b/content/news/2024-07-26-oma-1.3.32.zh-cn.md new file mode 100644 index 00000000..65000628 --- /dev/null +++ b/content/news/2024-07-26-oma-1.3.32.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.3.32 更新日志" +date: 2024-07-26T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +- 修复了 oma topics 命令修改过后的 atm.list 文件头注释末尾不带换行符的问题(感谢 @JeffBai 修复!) +- 修复了 oma refresh 刷新非安同 OS 源时刷新信息显示不正确的问题 +- 修复了仅 Release 源不指定 trusted=yes ,也能刷新成功的问题 +- 修复了当使用 oma install 安装软件包时,若指定软件包不存在只打印错误信息,oma 仍继续执行的问题(感谢 @GGN_2015 提交的 Bug!) +- 调整了 oma topics 列表的输出格式与颜色,让界面更加简洁明了(感谢 @JeffBai 修复!) +- 修复了在 Wayland 环境下审阅界面不提示可以用鼠标滚动的问题(感谢 @Smasnug 修复!) + +以上修复已推送至稳定源! diff --git a/content/news/2024-07-28-oma-1.3.33.md b/content/news/2024-07-28-oma-1.3.33.md new file mode 100644 index 00000000..a02c3173 --- /dev/null +++ b/content/news/2024-07-28-oma-1.3.33.md @@ -0,0 +1,17 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.3.33 更新日志" +date: 2024-07-28T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +- 添加使用 SHA-512/MD5 校验的 APT 软件源支持,oma 可搭配更多第三方源使用了 +- 添加 sources.list 中使用 $(ARCH) 变量的支持(感谢 Arkadi Shishlov 的特性请求!) +- 修复 oma list 输出给 less 时,如输出未完成时中途退出 less 界面则 oma 会崩溃的问题(感谢 Arkadi Shishlov 的问题报告!) +- 在无图形环境的情况下禁用 PolicyKit 交互提权,以适应 TTY/SSH/WSL 等环境下 pkexec 无法提权的问题(感谢 @ziyao233 的问题报告!) +- 修复 oma topics 界面的样式(1.3.32 调整样式时未给分支名加括号) + +以上修复已推送至稳定源! diff --git a/content/news/2024-07-28-oma-1.3.33.zh-cn.md b/content/news/2024-07-28-oma-1.3.33.zh-cn.md new file mode 100644 index 00000000..a02c3173 --- /dev/null +++ b/content/news/2024-07-28-oma-1.3.33.zh-cn.md @@ -0,0 +1,17 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.3.33 更新日志" +date: 2024-07-28T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +- 添加使用 SHA-512/MD5 校验的 APT 软件源支持,oma 可搭配更多第三方源使用了 +- 添加 sources.list 中使用 $(ARCH) 变量的支持(感谢 Arkadi Shishlov 的特性请求!) +- 修复 oma list 输出给 less 时,如输出未完成时中途退出 less 界面则 oma 会崩溃的问题(感谢 Arkadi Shishlov 的问题报告!) +- 在无图形环境的情况下禁用 PolicyKit 交互提权,以适应 TTY/SSH/WSL 等环境下 pkexec 无法提权的问题(感谢 @ziyao233 的问题报告!) +- 修复 oma topics 界面的样式(1.3.32 调整样式时未给分支名加括号) + +以上修复已推送至稳定源! diff --git a/content/news/2024-07-29-flac-break.md b/content/news/2024-07-29-flac-break.md new file mode 100644 index 00000000..33e78314 --- /dev/null +++ b/content/news/2024-07-29-flac-break.md @@ -0,0 +1,23 @@ +--- +categories: + - advisories +title: "【已解决】FLAC 1.4.3 更新可能导致桌面启动失败" +date: 2024-07-29T12:00:00+08:00 +important: true + +--- + +根据用户反馈,更新 FLAC 1.4.3 后龙架构系统无法进入桌面,症状为登录后短暂黑屏并返回登录界面。 + +经查,先前更新 FLAC 1.4.3 重构过程中的构建环境存在问题,更新后的系统组件未正确链接到更新后的 FLAC 动态库 (libFLAC.so.12) ;而 KDE 桌面基础组件也在此列,因而无法正确载入,导致桌面启动失败。 + +如果您尚未更新系统,请暂时不要更新系统,以免影响您的正常使用;如果您已经更新系统且遇到问题,请在进入登录界面后使用 Ctrl-Alt-F3 组合键进入终端界面,使用用户名密码登录后,运行如下命令: +``` +sudo oma undo +``` + +并选中最近一次包含 FLAC 更新的条目后回滚系统更新,重启后方可进入桌面。 + +我们为此带来的不便表示歉意! + +> 该问题已通过推送 libsndfile 版本 1.2.0-2 修复,请您在更新时确保该组件版本大于或等于此版本(如 1.2.0-3 或 1.3.0 则可判定为大于,而 1.2.0-1 则小于),否则请勿更新并耐心等待推送 diff --git a/content/news/2024-07-29-flac-break.zh-cn.md b/content/news/2024-07-29-flac-break.zh-cn.md new file mode 100644 index 00000000..33e78314 --- /dev/null +++ b/content/news/2024-07-29-flac-break.zh-cn.md @@ -0,0 +1,23 @@ +--- +categories: + - advisories +title: "【已解决】FLAC 1.4.3 更新可能导致桌面启动失败" +date: 2024-07-29T12:00:00+08:00 +important: true + +--- + +根据用户反馈,更新 FLAC 1.4.3 后龙架构系统无法进入桌面,症状为登录后短暂黑屏并返回登录界面。 + +经查,先前更新 FLAC 1.4.3 重构过程中的构建环境存在问题,更新后的系统组件未正确链接到更新后的 FLAC 动态库 (libFLAC.so.12) ;而 KDE 桌面基础组件也在此列,因而无法正确载入,导致桌面启动失败。 + +如果您尚未更新系统,请暂时不要更新系统,以免影响您的正常使用;如果您已经更新系统且遇到问题,请在进入登录界面后使用 Ctrl-Alt-F3 组合键进入终端界面,使用用户名密码登录后,运行如下命令: +``` +sudo oma undo +``` + +并选中最近一次包含 FLAC 更新的条目后回滚系统更新,重启后方可进入桌面。 + +我们为此带来的不便表示歉意! + +> 该问题已通过推送 libsndfile 版本 1.2.0-2 修复,请您在更新时确保该组件版本大于或等于此版本(如 1.2.0-3 或 1.3.0 则可判定为大于,而 1.2.0-1 则小于),否则请勿更新并耐心等待推送 diff --git a/content/news/2024-07-29-mips-r6-closing-time.md b/content/news/2024-07-29-mips-r6-closing-time.md new file mode 100644 index 00000000..335bdb99 --- /dev/null +++ b/content/news/2024-07-29-mips-r6-closing-time.md @@ -0,0 +1,19 @@ +--- +categories: + - news + - advisories +title: "紫华不再:安同 OS MIPS64 Release 6 移植停止维护" +date: 2024-07-29T12:00:00+08:00 +important: true +home: true +--- +![](/assets/news/mips-r6-closing-time.png) +紫华不再:安同 OS MIPS64 Release 6 移植停止维护 + +在数年间一次又一次的期待和失落后,我们决定即日起停止 MIPS64 Release 6 的一切维护工作。 + +2022 年底,我社数名安同 OS 维护者响应芯联芯 (CIP United) 关于 MIPS64 Release 6 开发板需要社区发行版的需求,推动了社区与企业合作维护安同 OS 移植的第一次尝试。2024 年夏末,芯联芯的 MIPS 芯片研发路线愈发模糊,硬件架构的未来飘渺,已经维护近两年的安同 OS MIPS64 Release 6 移植 (mips64r6el) 依然以三级(实验性)架构的形式存在着。 + +考虑到长久以来,该移植的硬件资源基本由我社志愿提供、维护效率极低,已难以为继。更不用说多名社区贡献者在长期投入业余时间维持和维护,且如今已对该移植缺乏维护热情,继续推动 MIPS64 Release 6 的维护工作无疑会造成不成比例的时间和精力成本。因此,我们决定即日起结束对安同 OS MIPS64 Release 6 移植的维护,将更多精力投入到其他未来更明朗、用户呼声更高的架构移植的维护工作中。 + +感谢各位社区贡献者、芯联芯同事们一直以来为 MIPS64 Release 6 系统乃至开源生态的维护付出的努力!也许有朝一日,我们能再次看到 MIPS 的一抹紫华重现眼前。 diff --git a/content/news/2024-07-29-mips-r6-closing-time.zh-cn.md b/content/news/2024-07-29-mips-r6-closing-time.zh-cn.md new file mode 100644 index 00000000..335bdb99 --- /dev/null +++ b/content/news/2024-07-29-mips-r6-closing-time.zh-cn.md @@ -0,0 +1,19 @@ +--- +categories: + - news + - advisories +title: "紫华不再:安同 OS MIPS64 Release 6 移植停止维护" +date: 2024-07-29T12:00:00+08:00 +important: true +home: true +--- +![](/assets/news/mips-r6-closing-time.png) +紫华不再:安同 OS MIPS64 Release 6 移植停止维护 + +在数年间一次又一次的期待和失落后,我们决定即日起停止 MIPS64 Release 6 的一切维护工作。 + +2022 年底,我社数名安同 OS 维护者响应芯联芯 (CIP United) 关于 MIPS64 Release 6 开发板需要社区发行版的需求,推动了社区与企业合作维护安同 OS 移植的第一次尝试。2024 年夏末,芯联芯的 MIPS 芯片研发路线愈发模糊,硬件架构的未来飘渺,已经维护近两年的安同 OS MIPS64 Release 6 移植 (mips64r6el) 依然以三级(实验性)架构的形式存在着。 + +考虑到长久以来,该移植的硬件资源基本由我社志愿提供、维护效率极低,已难以为继。更不用说多名社区贡献者在长期投入业余时间维持和维护,且如今已对该移植缺乏维护热情,继续推动 MIPS64 Release 6 的维护工作无疑会造成不成比例的时间和精力成本。因此,我们决定即日起结束对安同 OS MIPS64 Release 6 移植的维护,将更多精力投入到其他未来更明朗、用户呼声更高的架构移植的维护工作中。 + +感谢各位社区贡献者、芯联芯同事们一直以来为 MIPS64 Release 6 系统乃至开源生态的维护付出的努力!也许有朝一日,我们能再次看到 MIPS 的一抹紫华重现眼前。 diff --git a/content/news/2024-07-29-oma-1.3.34.md b/content/news/2024-07-29-oma-1.3.34.md new file mode 100644 index 00000000..eb562c3a --- /dev/null +++ b/content/news/2024-07-29-oma-1.3.34.md @@ -0,0 +1,17 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.3.34 更新日志" +date: 2024-07-29T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +— 修复了使用 oma mirror 添加或删除源时会清空测试源列表的问题,并改进了错误输出 +— 修复当元数据缓存中有软件包被删除时 command-not-found 可能会崩溃的问题(感谢 @OriginCode 提交问题报告!) +— 修复通过 PolicyKit 提权安装本地 .deb 文件时无法将本地包加入缓存的问题(感谢 @JeffBai 提交问题报告!) +— 修复 oma topics 会把该不可用的测试源条目写入到 sources.list 的问题 +— 改进 date_hack 函数的错误处理逻辑 + +以上修复已推送至稳定源! diff --git a/content/news/2024-07-29-oma-1.3.34.zh-cn.md b/content/news/2024-07-29-oma-1.3.34.zh-cn.md new file mode 100644 index 00000000..eb562c3a --- /dev/null +++ b/content/news/2024-07-29-oma-1.3.34.zh-cn.md @@ -0,0 +1,17 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.3.34 更新日志" +date: 2024-07-29T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +— 修复了使用 oma mirror 添加或删除源时会清空测试源列表的问题,并改进了错误输出 +— 修复当元数据缓存中有软件包被删除时 command-not-found 可能会崩溃的问题(感谢 @OriginCode 提交问题报告!) +— 修复通过 PolicyKit 提权安装本地 .deb 文件时无法将本地包加入缓存的问题(感谢 @JeffBai 提交问题报告!) +— 修复 oma topics 会把该不可用的测试源条目写入到 sources.list 的问题 +— 改进 date_hack 函数的错误处理逻辑 + +以上修复已推送至稳定源! diff --git a/content/news/2024-07-29-postgresql-break.md b/content/news/2024-07-29-postgresql-break.md new file mode 100644 index 00000000..ceab719e --- /dev/null +++ b/content/news/2024-07-29-postgresql-break.md @@ -0,0 +1,26 @@ +--- +categories: + - advisories +title: "【已解决】PostgreSQL 推送事故说明" +date: 2024-07-29T12:00:00+08:00 +important: true +--- + +由于维护者疏忽,在约两周前(7 月 17 日)手动合并 ICU 74.2 更新相关软件包时,我们误将 x86-64 (amd64) 及 AArch64 (arm64) 两个架构中本已于开发分支撤回的 postgresql 版本 16.3 的软件包推送至了稳定源。 + +发现此事后,我们已将这两个软件包撤回,并将于大约明日推送修复。 + +如果您使用 PostgreSQL 16.3 创建了数据库,我们建议您及早导出数据并妥善备份,并于修复推送后重新导入数据;查验该问题的流程如下: + +使用数据库管理员账户通过 psql 工具访问数据库时,如果发现类似如下输出: + +``` +psql (16.3, server 13.15) +Type "help" for help. +``` + +请立即备份数据并等候修复推送的通知!此外,如果您尚未使用 PostgreSQL 16.3 创建数据库,请等待修复通知! + +>我们已推送再版的 PostgreSQL 13.15 并重构了受波及的软件,您在片刻后即可更新系统;在安同 OS 使用 PostgreSQL 管理数据库的用户朋友请留意上文内容 + +我们为此带来的不便表示歉意,并将在后续维护工作中更严格地控制软件包合并的流程! diff --git a/content/news/2024-07-29-postgresql-break.zh-cn.md b/content/news/2024-07-29-postgresql-break.zh-cn.md new file mode 100644 index 00000000..ceab719e --- /dev/null +++ b/content/news/2024-07-29-postgresql-break.zh-cn.md @@ -0,0 +1,26 @@ +--- +categories: + - advisories +title: "【已解决】PostgreSQL 推送事故说明" +date: 2024-07-29T12:00:00+08:00 +important: true +--- + +由于维护者疏忽,在约两周前(7 月 17 日)手动合并 ICU 74.2 更新相关软件包时,我们误将 x86-64 (amd64) 及 AArch64 (arm64) 两个架构中本已于开发分支撤回的 postgresql 版本 16.3 的软件包推送至了稳定源。 + +发现此事后,我们已将这两个软件包撤回,并将于大约明日推送修复。 + +如果您使用 PostgreSQL 16.3 创建了数据库,我们建议您及早导出数据并妥善备份,并于修复推送后重新导入数据;查验该问题的流程如下: + +使用数据库管理员账户通过 psql 工具访问数据库时,如果发现类似如下输出: + +``` +psql (16.3, server 13.15) +Type "help" for help. +``` + +请立即备份数据并等候修复推送的通知!此外,如果您尚未使用 PostgreSQL 16.3 创建数据库,请等待修复通知! + +>我们已推送再版的 PostgreSQL 13.15 并重构了受波及的软件,您在片刻后即可更新系统;在安同 OS 使用 PostgreSQL 管理数据库的用户朋友请留意上文内容 + +我们为此带来的不便表示歉意,并将在后续维护工作中更严格地控制软件包合并的流程! diff --git a/content/news/2024-07-30-chromium-update-log.md b/content/news/2024-07-30-chromium-update-log.md new file mode 100644 index 00000000..3f0ca9a8 --- /dev/null +++ b/content/news/2024-07-30-chromium-update-log.md @@ -0,0 +1,38 @@ +--- +categories: + - advisories +title: "安同 OS 测试源现已推送 Chromium 127.0.6533.72" +date: 2024-07-30T12:00:00+08:00 +important: true + +--- + + + +社区贡献者 @KexyBiscuit 整理了 @jiegec 维护的 Chromium 126 补丁集,移除了过期的补丁、并将其余的补丁和上游新增的补丁适配至 Chromium 127 上。 + +考虑到 LLVM 18 已支持龙架构的 LSX 向量扩展指令集,本次生成中为龙架构(LoongArch64,下同)上的 Clang 开启了 LSX 优化,由此发现了[上游一处生成脚本中的缺陷](https://issues.chromium.org/issues/356038456),其修复补丁也包含在本次的测试版本中,并已交由上游[审阅](https://chromium-review.googlesource.com/c/chromium/src/+/5740787)。 + +更改日志 + +- chromium: 升级至 127.0.6533.72 + - 使用系统提供的 rust-bindgen 以修复 AArch64 及 LoongArch64 上的生成 + - 从生成依赖中移除不再需要的 OpenJDK + - 移除不再需要的 OpenJDK 相关补丁 + - 移除生成脚本中的部分绕过逻辑 + - 移除了 appdata.xml 中一个多余的字符 + - 在 LoongArch64 上启用 libpng 的 LSX 优化 + - AOSC OS 所使用的 Chromium 补丁现可在[此处](https://dev.azure.com/AOSC-Tracking/chromium/_git/chromium/commits?itemVersion=GBaosc%2Fv127.0.6533.72)追踪 + - 为大部分补丁补全了署名信息 +- chromium: 现依赖 libyuv +- libyuv: 升级至 Chromium 所需的 2024-02-15 日提交版本 +- autobuild4: 升级至 4.3.10 以修复 GCC 生成 +- gcc: 为 LoongArch64 重新生成,以调整为 medium code model + +如果您有兴趣测试安同 OS 上的 Chromium 127.0.6533.72,请通过如下命令打开测试源并安装 Chromium。需注意,目前安同 OS 上的 Chromium 仅支持 AMD64 (x86-64) 、AArch64 和龙架构。 + +``` +sudo oma topics --opt-in chromium-127.0.6533.72 && sudo oma install chromium +``` + +如果您在使用 Chromium 127.0.6533.72 测试版的过程中遇到问题或有疑问及反馈,请通过安同社区各聊天群组或社区论坛以联系我们,或直接前往[拉取请求](https://github.com/AOSC-Dev/aosc-os-abbs/pull/7270)下方留言。 diff --git a/content/news/2024-07-30-chromium-update-log.zh-cn.md b/content/news/2024-07-30-chromium-update-log.zh-cn.md new file mode 100644 index 00000000..3f0ca9a8 --- /dev/null +++ b/content/news/2024-07-30-chromium-update-log.zh-cn.md @@ -0,0 +1,38 @@ +--- +categories: + - advisories +title: "安同 OS 测试源现已推送 Chromium 127.0.6533.72" +date: 2024-07-30T12:00:00+08:00 +important: true + +--- + + + +社区贡献者 @KexyBiscuit 整理了 @jiegec 维护的 Chromium 126 补丁集,移除了过期的补丁、并将其余的补丁和上游新增的补丁适配至 Chromium 127 上。 + +考虑到 LLVM 18 已支持龙架构的 LSX 向量扩展指令集,本次生成中为龙架构(LoongArch64,下同)上的 Clang 开启了 LSX 优化,由此发现了[上游一处生成脚本中的缺陷](https://issues.chromium.org/issues/356038456),其修复补丁也包含在本次的测试版本中,并已交由上游[审阅](https://chromium-review.googlesource.com/c/chromium/src/+/5740787)。 + +更改日志 + +- chromium: 升级至 127.0.6533.72 + - 使用系统提供的 rust-bindgen 以修复 AArch64 及 LoongArch64 上的生成 + - 从生成依赖中移除不再需要的 OpenJDK + - 移除不再需要的 OpenJDK 相关补丁 + - 移除生成脚本中的部分绕过逻辑 + - 移除了 appdata.xml 中一个多余的字符 + - 在 LoongArch64 上启用 libpng 的 LSX 优化 + - AOSC OS 所使用的 Chromium 补丁现可在[此处](https://dev.azure.com/AOSC-Tracking/chromium/_git/chromium/commits?itemVersion=GBaosc%2Fv127.0.6533.72)追踪 + - 为大部分补丁补全了署名信息 +- chromium: 现依赖 libyuv +- libyuv: 升级至 Chromium 所需的 2024-02-15 日提交版本 +- autobuild4: 升级至 4.3.10 以修复 GCC 生成 +- gcc: 为 LoongArch64 重新生成,以调整为 medium code model + +如果您有兴趣测试安同 OS 上的 Chromium 127.0.6533.72,请通过如下命令打开测试源并安装 Chromium。需注意,目前安同 OS 上的 Chromium 仅支持 AMD64 (x86-64) 、AArch64 和龙架构。 + +``` +sudo oma topics --opt-in chromium-127.0.6533.72 && sudo oma install chromium +``` + +如果您在使用 Chromium 127.0.6533.72 测试版的过程中遇到问题或有疑问及反馈,请通过安同社区各聊天群组或社区论坛以联系我们,或直接前往[拉取请求](https://github.com/AOSC-Dev/aosc-os-abbs/pull/7270)下方留言。 diff --git a/content/news/2024-08-01-oma-update-log.md b/content/news/2024-08-01-oma-update-log.md new file mode 100644 index 00000000..68cabe11 --- /dev/null +++ b/content/news/2024-08-01-oma-update-log.md @@ -0,0 +1,14 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.3.36 更新日志" +date: 2024-08-01T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +- 为保证测试源更新时效和测试沟通效率, oma topic 不再支持使用用户指定的镜像源,限定 repo.aosc.io 作为测试包来源 +- 修复了 oma search 对 Provides(“提供”,或软件包别名)依赖关系的索引,现在可以通过 oma search build-essential 搜索到开发套件了(感谢 @JeffBai 提交问题报告!) + +以上修复已推送至稳定源! diff --git a/content/news/2024-08-01-oma-update-log.zh-cn.md b/content/news/2024-08-01-oma-update-log.zh-cn.md new file mode 100644 index 00000000..68cabe11 --- /dev/null +++ b/content/news/2024-08-01-oma-update-log.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.3.36 更新日志" +date: 2024-08-01T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +- 为保证测试源更新时效和测试沟通效率, oma topic 不再支持使用用户指定的镜像源,限定 repo.aosc.io 作为测试包来源 +- 修复了 oma search 对 Provides(“提供”,或软件包别名)依赖关系的索引,现在可以通过 oma search build-essential 搜索到开发套件了(感谢 @JeffBai 提交问题报告!) + +以上修复已推送至稳定源! diff --git a/content/news/2024-08-04-coffee-break.md b/content/news/2024-08-04-coffee-break.md new file mode 100644 index 00000000..71238ea2 --- /dev/null +++ b/content/news/2024-08-04-coffee-break.md @@ -0,0 +1,385 @@ +--- +categories: + - journals +title: "安记冰室・七月下" +date: 2024-08-04T23:00:00+08:00 +important: false + +--- + +[afterglow]: https://website-2023.aosc.io/afterglow +[amd64-installer]: https://releases.aosc.io/os-amd64/installer/aosc-os_installer_20240801_amd64.iso +[aoscbootstrap]: https://github.com/AOSC-Dev/aoscbootstrap +[aosc-os-abbs]: https://github.com/AOSC-Dev/aosc-os-abbs +[arm64-installer]: https://releases.aosc.io/os-arm64/installer/aosc-os_installer_20240801_arm64.iso +[ciel]: https://github.com/AOSC-Dev/ciel-rs +[cyanoxygen]: https://github.com/Cyanoxygen +[deepin-osc]: https://www.deepin.org/index/zh +[dkcli]: https://github.com/AOSC-Dev/dkcli +[eatradish]: https://github.com/eatradish +[jiegec]: https://github.com/jiegec +[katyushascarlet]: https://github.com/KatyushaScarlet +[kexybiscuit]: https://github.com/KexyBiscuit +[la64-installer]: https://releases.aosc.io/os-loongarch64/installer/aosc-os_installer_20240801_loongarch64.iso +[liblol]: https://liblol.aosc.io/ +[mascot]: https://website-2023.aosc.io/mascot +[mingcongbai]: https://github.com/MingcongBai +[p-vector-rs]: https://github.com/AOSC-Dev/p-vector-rs +[reworkit]: https://github.com/AOSC-Dev/reworkit +[shankerwangmiao]: https://github.com/shankerwangmiao +[uniontech]: https://www.uniontech.com/ +[zhaxia]: https://www.mihuashi.com/profiles/571437 +[zstd]: https://github.com/facebook/zstd + + + + +> “食个糯米鸡咯!” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +用户公告 +-------- + +近期,由于我们的疏忽,推送了两轮存在问题的更新。至发稿时所有问题更新均已得到修复,下面转发两则公告供各位用户朋友参考。 + +### FLAC 1.4.3 更新可能导致桌面启动失败 + +根据用户反馈,更新 FLAC 1.4.3 后龙架构系统无法进入桌面,症状为登录后短暂黑屏并返回登录界面。 + +经查,先前更新 FLAC 1.4.3 重构过程中的构建环境存在问题,更新后的系统组件未正确链接到更新后的 FLAC 动态库 (`libFLAC.so.12`) 。而 KDE 桌面基础组件也在此列,因而无法正确载入,导致桌面启动失败。 + +该问题已通过推送 `libsndfile` 版本 1.2.0-2 修复,请您在更新时确保该组件版本大于或等于此版本(如 1.2.0-3 或 1.3.0 则可判定为大于,而 1.2.0-1 则小于),否则请勿更新并耐心等待推送。 + +### PostgreSQL 推送事故 + +由于维护者疏忽,在约两周前(7 月 17 日)手动合并 ICU 74.2 更新相关软件包时,我们误将 x86-64 (`amd64`) 及 AArch64 (`arm64`) 两个架构中本已于开发分支撤回的 `postgresql` 版本 16.3 的软件包推送至了稳定源。目前我们已推送再版的 13.15 版软件包并重构了受波及的软件。 + +如果您使用 PostgreSQL 16.3 创建了数据库,我们建议您及早导出数据并妥善备份。如需查验该问题,请使用数据库管理员账户通过 psql 工具访问数据库时,如果发现类似如下输出: + +``` +psql (16.3, server 13.15) +Type "help" for help. +``` + +请立即备份数据并重新使用 13.15 版本的 PostgreSQL 重新导入数据。 + +重新打包的 PostgreSQL 13.15 已经推送,如果您并未使用该数据库,放心更新系统即可;如果您升级后并未执行迁移,您也可以放心更新,更新后请通过如下命令检查 PostgreSQL 服务运行情况: + +``` +systemctl status postgresqld +``` + +### Chromium 127.0 浏览器更新测试征集 + +[KexyBiscuit][kexybiscuit] 整理了由[陈嘉杰][jiegec]维护的 Chromium 126 补丁集,移除了过期的补丁、并将其余的补丁和上游新增的补丁适配至 Chromium 127 上。 + +同时,考虑到 LLVM 18 已支持龙架构的 LSX 向量扩展指令集,本次生成中为龙架构(LoongArch64,下同)上的 Clang 开启了 LSX 优化,由此发现了上游一处生成脚本中的[缺陷](https://issues.chromium.org/issues/356038456),其修复补丁也包含在本次的测试版本中,并已交由上游[审阅](https://chromium-review.googlesource.com/c/chromium/src/+/5740787)。 + +如果您有兴趣测试安同 OS 上的 Chromium 127.0.6533.88,请通过如下命令打开测试源并安装 Chromium。需注意,目前安同 OS 上的 Chromium 仅支持 AMD64 (x86-64) 、AArch64 和龙架构。需注意,命令中的测试源名称是准确的: + +```shell +sudo oma topics --opt-in chromium-127.0.6533.72 && sudo oma install chromium +``` + +如果您在使用 Chromium 127.0.6533.88 测试版的过程中遇到问题或有疑问及反馈,请通过安同社区各聊天群组或社区论坛以联系我们,或直接前往[拉取请求](https://github.com/AOSC-Dev/aosc-os-abbs/pull/7270)下方留言。感谢各位参与! + + +社区脉动 +-------- + +### 不虚此行:AOSCC 2024 后记 + +![AOSCC 2024 与会者合照](/coffee-break/20240803/imgs/aoscc-2024-group-photo.jpg) + +2024 年 7 月 14 日,又一年的 AOSCC 圆满落幕,社区好友们在吉林大学王湘浩楼 B108 报告厅度过了一个充实的周末。18 位讲者带来的 17 场演讲,覆盖了社区报告、个人经历、技术分享、运营和发行版维护经验,干货多多。本届 AOSCC 也突破了参与者人数新高,达到了 130 余人。由于本届参与人数众多,为了更好地维持执行、服务各位参会者,本届 AOSCC 首次动员社区贡献者及校方人员组织了 16 人的志愿者团队。他们在会议前整理了周边物品,来接待各位与会者,并在会议期间引导入场、维持秩序;直播组的同事们也一如既往地给力和专业,自发搬运超过 50 公斤的设备和物资支持 AOSCC 的直播、互动与录制工作。 + +AOSCC 一直以来致力于为一线工作者提供展示与交流的平台,为新人及对参与开源社区工作跃跃欲试的朋友们破除信息差、缩短沟通距离。因此,希望 AOSCC 乃至安同开源社区能成为推进扩大化、公众化和草根化开源参与的积极力量,也希望能在各地看到更多地方性的开源社区集会;更重要地,希望 AOSCC 能够证明草根社区的专业、热情及积极作用。明年,我们会积极推动 AOSCC 的再次成功筹备和举办,也希望有兴趣提供会场资源及支持的各位积极联系我们,提供宝贵线索。在此之前,我们会继续组织“安同校园行”活动,让更多院校社团和组织接触开源社区的最新动向。 + +AOSCC 是由安同开源社区诸多社区好友、赞助方的慷慨解囊,以及社区志愿者和贡献者们的日夜操劳实现的——感谢各位的支持与努力,让 AOSCC 继续保持志愿性、独立性和社区驱动。最后,再次感谢各位与会者、讲者与工作人员,在未来的一年,让我们一起进步,一起安同! + +### AOSCC 2024 纪念品与社区周边发售说明 + +今年的 AOSCC 周边包含贴纸、帆布袋、T 恤和钥匙扣,融合了诸多社区文化元素,其中包括社区长久以来形成的梗(众人拾柴火焰高)、社区维护龙架构发行期间遇到的轶事(高负载下 AMD 显卡会重置的问题),以及画师[五十根炸虾][zhaxia]基于[社区吉祥物][mascot]“安安”和“同同”设计的贴纸和表情包。 + +由于社区好友们订购社区周边的呼声甚高,我们决定将今年除编织袋外的所有纪念品和周边再版,并以成本价及运费为标准开放订购。 + +如果您有意订购再版周边,敬请关注我们后续发布的订购问卷! + +### 山东大学上线社区软件源服务器镜像 + +![山东大学(青岛)镜像源上线我社软件仓库服务器镜像](/coffee-break/20240803/imgs/new-mirror-sdu-oops.png) + +日前,山东大学(青岛)镜像源上线了我社软件仓库服务器镜像。 + +该镜像源由山东大学镜像站运营团队负责维护,是在山东大学(青岛)信息化工作办公室指导下立项,由山东大学(青岛)网管会镜像站学生运营团队运营的开源镜像站平台。衷心感谢各位同学的大力支持! + +### 持续维护:社区上线多台 MIPS 龙芯三号构建服务器 + +![社区上线多台 MIPS 龙芯三号构建服务器](/coffee-break/20240803/imgs/new-3b4000-servers.jpg) + +日前,[王翔 (KatyushaScarlet)][katyushascarlet] 向社区捐赠了一台 MIPS 架构的双路龙芯 3B4000 构建服务器。该服务器搭载 8 个核心及 32GiB 内存,并已开始接收社区自动化设施 BuildIt! 的构建任务。 + +此外,社区还计划上线由[统信软件技术有限公司][uniontech]及 [deepin 社区][deepin-osc]联合捐赠的两台双路 3B4000 构建服务器。这些服务器将助力我社安同 OS MIPS 龙芯 3 号发行的维护工作。同时,在星霞 OS 维护重启后,这些服务器还将承载星霞 OS 的龙芯 2F 版本的维护工作。 + +衷心感谢各位慷慨捐赠和大力支持! + +系统快讯 +-------- + +### localhost:安同 OS 核心包第 12 版代号出炉 + +![localhost 成为新一代安同 OS 核心包代号!](/coffee-break/20240803/imgs/core-12-localhost.jpg) + +经过又一轮紧张刺激的投票,“localhost”以 73 票领先于其他六十余个代号提名,成为 2024 - 2025 年度的系统核心包代号。 + +### 将塞爆进行到底:安同 OS 离线安装盘发布 + +![安同 OS 安装介质:一站式、全功能、方便快捷](/coffee-break/20240803/imgs/installation-media-slim.png) + +一直以来,由于安同 OS 依赖树齐全及功能全开的设计导向,系统大小与其他操作系统相比明显偏大。这一特征加之以安装盘需要从互联网拖取(大小相当可观的)系统包的设计广受用户诟病——一个超过 3GiB 大小的安装盘,居然还需要下载系统数据! + +为解决这一问题,我们实现了一款基于 OverlayFS 差分文件系统组装的离线系统安装盘。该安装盘集成了所有系统镜像并对共用组件进行了去重,这样一来,用户朋友们不但不需要在安装过程中等待下载,还可以: + +- 直接从 U 盘或光盘启动试用安同 OS 的桌面版 +- 在搭载 NVIDIA 显卡的设备上正常启动安装和试用环境 + +可谓一石三鸟!虽然系统大小直奔 8GiB,双层 DVD 都要塞不下了,但您就说功能全不全吧—— + +此外,离线安装盘还包含重新设计的命令行安装器 [dkcli][dkcli],支持在线、离线安装,更有无人值守配置支持,欢迎试用。 + +#### 发行说明 + +安装盘维护者[杨欣辉][cyanoxygen]为该安装盘的功能细节和使用流程编写了一份详尽的[发行说明](offline-installer-release-notes.md),欢迎查阅。 + +#### 下载安装盘 + +欢迎各位用户朋友下载试用,您的反馈和建议是我们工作的动力: + +- [x86-64](https://releases.aosc.io/os-amd64/installer/aosc-os_installer_20240801_amd64.iso) +- [AArch64](https://releases.aosc.io/os-arm64/installer/aosc-os_installer_20240801_arm64.iso) +- [龙架构 (LoongArch)](https://releases.aosc.io/os-loongarch64/installer/aosc-os_installer_20240801_loongarch64.iso) + +### 世界线“合龙”:龙架构旧世界固件启动新世界系统已成现实! + +![新引导器及内核补丁助您打破世界线隔阂!](/coffee-break/20240803/imgs/breaking-the-world-boundary.jpg) + +继“坏人”王邈设计实现的 [libLoL 兼容层][liblol]打通新旧世界应用程序兼容性后,坏人再放大招,实现了从 GRUB 系统引导器到内核的旧世界固件启动支持——这意味着新旧世界的隔阂从固件到应用程序均已成为历史! + +龙架构电脑玩家们很可能听说过,3A5000/3C5000L + 7A1000 的主板和笔记本有好几个型号一直没能得到新世界固件更新,因而无缘组件更新、应用更新更频繁、硬件支持更好的各大新世界发行版。如果您的旧世界设备因此吃灰,这一启动支持的实现意味着您可以在任意旧世界固件设备上启动和使用安同 OS 在内的一众新世界发行版了。 + +#### 现实意义 + +新世界系统的旧世界固件启动支持将惠及各类龙架构设备用户。 + +不论对于二手设备玩家还是商业、政企用户,该支持将帮助旧世界设备向新世界系统的迁移,也将大大简化设备采购流程(用户及管理员均无需关心设备固件的新世界兼容性)、降低操作系统发行商的支持成本(用户无法启动系统的概率大大降低,且无需比对固件信息进行查错,甚至引导用户获取及刷写固件)。 + +#### 支持设备 + +我们已在如下设备使用安同 OS 测试过该启动支持: + +- 联想开天 M540z +- 航天龙梦 ML5A(旧世界商用固件) +- 清华同方 超锐 L860-T2(卓怡恒通 L71) + +#### 实现原理 + +简略地说,GRUB 引导器和内核的旧世界支持主要通过探测旧世界固件独有的启动参数接口(Boot Parameters Interface,简称 BPI)签名调整所需的起始内存地址、内存分段、中断控制器、ACPI 表等的规范及行为实现的。该实现支持目前已知的 BPI01000 及 BPI01001 两种启动参数接口。 + +实现过程中,王邈参考了龙芯为 deepin 内核提交的[旧世界固件 BPI 支持补丁](https://github.com/deepin-community/kernel/pull/130)并对其内容进行了大幅度精简及修缮。感兴趣的读者朋友们可以查阅王邈编写的[补丁草稿](https://gist.github.com/shankerwangmiao/a15e17fc5c1c1dfb883490862107fcbb)。 + +#### 更新计划 + +安同 OS 计划近期为内核及 GRUB 引导器更新引入旧世界启动支持,下一版系统安装盘也将支持在上述旧世界设备上直接引导和安装安同 OS。我们将在未来数日通知并推荐各新世界系统维护者及厂商评估、测试及集成实现旧世界启动支持的相关补丁。 + +### 稳定、兼容、界面三重升级:oma 1.3 发布多版更新 + +![oma 1.3 助您轻松管理系统组件](/coffee-break/20240803/imgs/oma-slim.png) + +随着安同 OS 用户群体日益壮大,作为一线系统管理项目的小熊猫包管理 (oma) 也收到了越来越多的用户反馈。在过去一个月中,oma 发布了多个 1.3 修复版本,在修缮使用问题的至于,大幅度改善了 Debian/Ubuntu 兼容性,还优化了诸如测试源 (topic) 设置界面的清晰度。如下是 oma 近期发布版本的更改日志,欲知 oma 近期的开发进展,请参阅下列发布公告: + +- [v1.3.36 更新日志](oma-1.3.36-release-notes.md) +- [v1.3.34 更新日志](oma-1.3.34-release-notes.md) +- [v1.3.33 更新日志](oma-1.3.33-release-notes.md) +- [v1.3.32 更新日志](oma-1.3.32-release-notes.md) +- [v1.3.31 更新日志](oma-1.3.31-release-notes.md) +- [v1.3.30 更新日志](oma-1.3.30-release-notes.md) +- [v1.3.29 更新日志](oma-1.3.29-release-notes.md) + +您对小熊猫包管理的使用体验满意吗?欢迎来我社群组和论坛分享您的体会! + +### 快上加快:安同 OS 换用 Zstd 压缩软件包 + +近日,[王邈][shankerwangmiao]发现安同 OS 的软件包若改用 [Zstd][zstd] 压缩算法(原为 LZMA)可大幅缩短打包时的压缩耗时,在性能较低且线程较少的机器上,解压速度也显著更快。 + +我们已于上周开始将所有新推送的软件包改为 Zstd 压缩,您发现软件安装速度变快了吗? + +### 紫华不再:安同 OS MIPS64 Release 6 移植停止维护 + +![安同 OS 不再维护 MIPS64 Release 6 版本](/coffee-break/20240803/imgs/mips-r6-closing-time-slim.png) + +在数年间一次又一次的期待和失落后,我们决定即日起停止 MIPS64 Release 6 的一切维护工作。 + +2022 年底,我社数名安同 OS 维护者响应芯联芯 (CIP United) 关于 MIPS64 Release 6 开发板需要社区发行版的需求,推动了社区与企业合作维护安同 OS 移植的第一次尝试。2024 年夏末,芯联芯的 MIPS 芯片研发路线愈发模糊,硬件架构的未来飘渺,已经维护近两年的安同 OS MIPS64 Release 6 移植 (`mips64r6el`) 依然以三级(实验性)架构的形式存在着。 + +考虑到长久以来,该移植的硬件资源基本由我社志愿提供、维护效率极低,已难以为继。更不用说多名社区贡献者在长期投入业余时间维持和维护,且如今已对该移植缺乏维护热情,继续推动 MIPS64 Release 6 的维护工作无疑会造成不成比例的时间和精力成本。因此,我们决定即日起结束对安同 OS MIPS64 Release 6 移植的维护,将更多精力投入到其他未来更明朗、用户呼声更高的架构移植的维护工作中。 + +感谢各位社区贡献者、芯联芯同事们一直以来为 MIPS64 Release 6 系统乃至开源生态的维护付出的努力!也许有朝一日,我们能再次看到 MIPS 的一抹紫华重现眼前。 + +### 星霞初现:星霞 OS 开发正式重启 + +[星霞 OS(英文名 Afterglow,原 AOSC OS/Retro)][afterglow]是社区为老旧设备(又称 Retro 设备)定制的系统发行。星霞 OS 基于安同 OS 开发,采用精简特性集、配置调优和软件精选等手段,持续维护良好体验和性能,让老旧设备焕发新生、让用户们“重拾旧爱”。 + +但由于近年社区事务繁忙,以及龙架构“合龙”等工作带来的维护压力,星霞 OS 的开发工作已经停滞一年之久。社区的古董电脑兴趣小组近年来也涌入了大批古董电脑爱好者,因此星霞 OS 的关注度逐渐升高,需要尽快重启星霞 OS 的维护工作。 + +在 AOSCC 2024 期间,白铭骢就发布了星霞 OS 移植重启的计划,并于近日发起了重启工作。目前社区正在重新推动 Intel 80486 版本移植,并计划在未来按批次重启针对其他架构的移植。目前计划第一批移植对象包含 Intel 80486 (`i486`)、龙芯 2F (`loongson2f`) 和搭载 32 位 PowerPC 处理器的 Macintosh 及 IBM RS/6000 系列主机 (`powerpc`)。 + +同时,社区好友轮子妈为这些移植贡献了数个工具链优化补丁,并根据基于 OpenWrt 开发维护的经验,针对各架构提出了有关编译器优化参数的建议。相信有了轮子妈的贡献,重启后星霞 OS 的性能会比当前的版本更好。 + +星霞 OS 维护重启完毕后,将推出数个针对不同用途的版本: + +- 最小系统:搭载命令行界面的最小化系统发行 +- 桌面版:预装经美化调优的基于 KDE 3 的 Trinity Desktop Environment 桌面环境 +- 个人服务器版:与安同 OS 一样,在最小系统的基础上预装常用的服务器软件 + +同时,社区还计划发布星霞 OS 的盒装实体版,供社区好友订购。敬请期待! + +### Mesa 上游合并 llvmpipe OrcJIT 及 RISC-V 支持 + +![正在使用 llvmpipe 的 RISC-V 设备示意图](/coffee-break/20240803/imgs/riscv64-orcjit.png) + +经过接近两年的审阅、修订及测试工作,图形加速套件 Mesa 的 llvmpipe OrcJIT 及 RISC-V 支持终于成功合并上游。该支持合并后,RISC-V 将可以正常使用由 OrcJIT 加持的软渲染加速。感谢 [Alex Fan](https://github.com/alexfanqi) 及 [Yukari Chiba](https://github.com/YukariChiba) 等贡献者为此上游补丁付出的努力!在此过程中,我社率先在安同 OS 的 Mesa 组件中集成、测试了该支持,并多次提供反馈。 + +此外,由我社贡献者 [Icenowy Zheng](https://github.com/Icenowy) 实现的[龙架构 llvmpipe OrcJIT 适配](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30197)及[盘上着色器缓存支持](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30036)也已合并上游,预计将随 Mesa 24.3 一同发布(安同 OS 的 Mesa 组件已在过去一段时间对这部分功能进行测试了测试验证)。 + +开发者角 +-------- + +### abbs-update-checksum 工具发布:便捷刷新软件包校验和信息 + +自 BuildIt! 上线后,安同 OS 维护正式实现自动化。为了方便各位贡献者提交软件包更新,[傅孝元][eatradish]开发了一个用于刷新软件包校验和的小工具 [abbs-update-checksum](https://github.com/AOSC-Dev/abbs-update-checksum)。这款小工具取代了之前需要进入维护容器、需要 ACBS 才能执行的刷新源码包校验和的操作,使得各位安同 OS 维护者无需在自己的机器上部署 ACBS 即可刷新软件包信息,进而提交软件包更新。 + +同时,相比于传统的 `acbs-build -gw` 命令,这款小工具支持多线程下载,并能更好地处理架构特定源码包配置。相信这款小工具将大大方便各位软件包的日常更新维护工作。 + +### p-vector-rs, Ciel, aoscbootstrap 发布:适配 Zstd 压缩格式 + +早前,[王邈][shankerwangmiao]提出将安同 OS 的软件包压缩算法由 LZMA (xz) 更换为 ZStandatd (zstd),以争取更快的压缩和解压缩时间。近日,安同 OS 的维护基础设施套件陆续实现了 Zstd 压缩算法的支持,并将安同 OS 的默认软件包压缩算法更改为 Zstd: + +- [aoscbootstrap][aoscbootstrap]: 安同 OS 系统发行生成器 +- [Ciel][ciel]: 安同 OS 构建容器管理器 +- [p-vector-rs][p-vector-rs]: 安同 OS 软件仓库元数据生成器 + +由于 Zstd 解压缩速率的显著优势,我们预期用户在更新系统及批量安装软件包的耗时将明显降低。但由于 Zstd 压缩格式的改动是最近才引入的,因此绝大部分软件包依旧是以 xz 格式压缩的。使用 Zstd 压缩的软件包将陆续进入安同 OS 软件仓库。 + +### Kaboom 系统自举套件更新:适配最新基础包 + +[Kaboom](https://github.com/AOSC-Dev/kaboom)(安同 OS 系统移植自举工具)能够从头构建出带有包管理器及 Autobuild 基础设施的安同 OS 基础开发环境,因此常用于引入安同 OS 的新移植及重启现有移植。 + +日前,[白铭骢](mingcongbai)对 Kaboom 进行了翻修: + +- 适配了安同 OS 核心包第 11 版 (Core 11) +- 修复了自举期间的构建错误 +- 与[安同 OS 软件包树][aosc-os-abbs]对齐了各核心组件版本 + +翻修后的 Kaboom 将承载首批星霞 OS 移植重启工作。后续,社区将定期利用 Kaboom 全盘重构系统,以期验证工具链可用性并及时维护核心组件的构建脚本。 + +### ReworkIt! 发布:覆盖式测试安同 OS 软件包构建情况 + +由于缺少人手及兴趣,部分安同 OS 的软件包经常陷入无人看管和维护的状态。为了缓解此类情况,[傅孝元][eatradish]开发了 [ReworkIt!][reworkit],用于覆盖式测试软件包构建脚本。该工具可检查安同 OS 软件仓库的软件包质量,后续还将实现针对仓库内的构建通过情况的统计与呈现,以帮助维护者们及时发现过期无法构建的软件包。 + +长久来说,我们希望通过部署 ReworkIt! 和提高维护意识,以便整体性提高安同 OS 的维护质量。 + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [Arkadi Shishlov](https://github.com/arkadijs) +- [salieri](https://github.com/BC204) +- [Henry Chen](https://github.com/chenx97) +- [柴天浩](https://github.com/cthbleachbit) +- [杨欣辉](https://github.com/Cyanoxygen) +- [diredocks](https://github.com/diredocks) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [王翔 (KatyushaScarlet)](https://github.com/KatyushaScarlet) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [leavelet](https://github.com/leavelet) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [ouankou](https://github.com/ouankou) +- [Outvi V](https://github.com/outloudvi) +- [bubu](https://github.com/p3psi-boo) +- [SignKirigami](https://github.com/prcups) +- [王江津](https://github.com/RedL0tus) +- [rickliu2000](https://github.com/rickliu2000) +- [王邈](https://github.com/shankerwangmiao) +- [shatian114](https://github.com/shatian114) +- [skybird](https://github.com/SkyBird233) +- [Student Main](https://github.com/stdmnpkg) +- [StephDC](https://github.com/StephDC) +- [Suyun](https://github.com/Suyun114) +- [Zamir SUN](https://github.com/sztsian) +- [温柔](https://github.com/xunpod) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [A1ca7raz](https://github.com/A1ca7raz) +- [韩于惟](https://github.com/hanyuwei70) +- [Harry Chen](https://github.com/Harry-Chen) +- [Chris Su](https://github.com/slchris) +- [TechCiel](https://github.com/TechCiel) +- [xtex](https://github.com/xtexChooser) + +一起吹水 +-------- + +
+ 点此查看进群说明,一起吹水玩耍吧~ + +互联网是我社的主要活动场所,欢迎来社区各群聊及语音频道交流玩耍: + +### 微信群 + +请扫描此二维码添加好友**并说明来意:申请加入 AOSC 社区频道。** + +![wechat](/assets/wechat.png) + +### QQ 群 + +![qq](/assets/qq.jpg) + +### Telegram 群组 + +![telegram](/assets/telegram.png) + +### Discord 语音频道 + +![discord](/assets/discord.png) +
+ +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-08-04-coffee-break.zh-cn.md b/content/news/2024-08-04-coffee-break.zh-cn.md new file mode 100644 index 00000000..71238ea2 --- /dev/null +++ b/content/news/2024-08-04-coffee-break.zh-cn.md @@ -0,0 +1,385 @@ +--- +categories: + - journals +title: "安记冰室・七月下" +date: 2024-08-04T23:00:00+08:00 +important: false + +--- + +[afterglow]: https://website-2023.aosc.io/afterglow +[amd64-installer]: https://releases.aosc.io/os-amd64/installer/aosc-os_installer_20240801_amd64.iso +[aoscbootstrap]: https://github.com/AOSC-Dev/aoscbootstrap +[aosc-os-abbs]: https://github.com/AOSC-Dev/aosc-os-abbs +[arm64-installer]: https://releases.aosc.io/os-arm64/installer/aosc-os_installer_20240801_arm64.iso +[ciel]: https://github.com/AOSC-Dev/ciel-rs +[cyanoxygen]: https://github.com/Cyanoxygen +[deepin-osc]: https://www.deepin.org/index/zh +[dkcli]: https://github.com/AOSC-Dev/dkcli +[eatradish]: https://github.com/eatradish +[jiegec]: https://github.com/jiegec +[katyushascarlet]: https://github.com/KatyushaScarlet +[kexybiscuit]: https://github.com/KexyBiscuit +[la64-installer]: https://releases.aosc.io/os-loongarch64/installer/aosc-os_installer_20240801_loongarch64.iso +[liblol]: https://liblol.aosc.io/ +[mascot]: https://website-2023.aosc.io/mascot +[mingcongbai]: https://github.com/MingcongBai +[p-vector-rs]: https://github.com/AOSC-Dev/p-vector-rs +[reworkit]: https://github.com/AOSC-Dev/reworkit +[shankerwangmiao]: https://github.com/shankerwangmiao +[uniontech]: https://www.uniontech.com/ +[zhaxia]: https://www.mihuashi.com/profiles/571437 +[zstd]: https://github.com/facebook/zstd + + + + +> “食个糯米鸡咯!” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +用户公告 +-------- + +近期,由于我们的疏忽,推送了两轮存在问题的更新。至发稿时所有问题更新均已得到修复,下面转发两则公告供各位用户朋友参考。 + +### FLAC 1.4.3 更新可能导致桌面启动失败 + +根据用户反馈,更新 FLAC 1.4.3 后龙架构系统无法进入桌面,症状为登录后短暂黑屏并返回登录界面。 + +经查,先前更新 FLAC 1.4.3 重构过程中的构建环境存在问题,更新后的系统组件未正确链接到更新后的 FLAC 动态库 (`libFLAC.so.12`) 。而 KDE 桌面基础组件也在此列,因而无法正确载入,导致桌面启动失败。 + +该问题已通过推送 `libsndfile` 版本 1.2.0-2 修复,请您在更新时确保该组件版本大于或等于此版本(如 1.2.0-3 或 1.3.0 则可判定为大于,而 1.2.0-1 则小于),否则请勿更新并耐心等待推送。 + +### PostgreSQL 推送事故 + +由于维护者疏忽,在约两周前(7 月 17 日)手动合并 ICU 74.2 更新相关软件包时,我们误将 x86-64 (`amd64`) 及 AArch64 (`arm64`) 两个架构中本已于开发分支撤回的 `postgresql` 版本 16.3 的软件包推送至了稳定源。目前我们已推送再版的 13.15 版软件包并重构了受波及的软件。 + +如果您使用 PostgreSQL 16.3 创建了数据库,我们建议您及早导出数据并妥善备份。如需查验该问题,请使用数据库管理员账户通过 psql 工具访问数据库时,如果发现类似如下输出: + +``` +psql (16.3, server 13.15) +Type "help" for help. +``` + +请立即备份数据并重新使用 13.15 版本的 PostgreSQL 重新导入数据。 + +重新打包的 PostgreSQL 13.15 已经推送,如果您并未使用该数据库,放心更新系统即可;如果您升级后并未执行迁移,您也可以放心更新,更新后请通过如下命令检查 PostgreSQL 服务运行情况: + +``` +systemctl status postgresqld +``` + +### Chromium 127.0 浏览器更新测试征集 + +[KexyBiscuit][kexybiscuit] 整理了由[陈嘉杰][jiegec]维护的 Chromium 126 补丁集,移除了过期的补丁、并将其余的补丁和上游新增的补丁适配至 Chromium 127 上。 + +同时,考虑到 LLVM 18 已支持龙架构的 LSX 向量扩展指令集,本次生成中为龙架构(LoongArch64,下同)上的 Clang 开启了 LSX 优化,由此发现了上游一处生成脚本中的[缺陷](https://issues.chromium.org/issues/356038456),其修复补丁也包含在本次的测试版本中,并已交由上游[审阅](https://chromium-review.googlesource.com/c/chromium/src/+/5740787)。 + +如果您有兴趣测试安同 OS 上的 Chromium 127.0.6533.88,请通过如下命令打开测试源并安装 Chromium。需注意,目前安同 OS 上的 Chromium 仅支持 AMD64 (x86-64) 、AArch64 和龙架构。需注意,命令中的测试源名称是准确的: + +```shell +sudo oma topics --opt-in chromium-127.0.6533.72 && sudo oma install chromium +``` + +如果您在使用 Chromium 127.0.6533.88 测试版的过程中遇到问题或有疑问及反馈,请通过安同社区各聊天群组或社区论坛以联系我们,或直接前往[拉取请求](https://github.com/AOSC-Dev/aosc-os-abbs/pull/7270)下方留言。感谢各位参与! + + +社区脉动 +-------- + +### 不虚此行:AOSCC 2024 后记 + +![AOSCC 2024 与会者合照](/coffee-break/20240803/imgs/aoscc-2024-group-photo.jpg) + +2024 年 7 月 14 日,又一年的 AOSCC 圆满落幕,社区好友们在吉林大学王湘浩楼 B108 报告厅度过了一个充实的周末。18 位讲者带来的 17 场演讲,覆盖了社区报告、个人经历、技术分享、运营和发行版维护经验,干货多多。本届 AOSCC 也突破了参与者人数新高,达到了 130 余人。由于本届参与人数众多,为了更好地维持执行、服务各位参会者,本届 AOSCC 首次动员社区贡献者及校方人员组织了 16 人的志愿者团队。他们在会议前整理了周边物品,来接待各位与会者,并在会议期间引导入场、维持秩序;直播组的同事们也一如既往地给力和专业,自发搬运超过 50 公斤的设备和物资支持 AOSCC 的直播、互动与录制工作。 + +AOSCC 一直以来致力于为一线工作者提供展示与交流的平台,为新人及对参与开源社区工作跃跃欲试的朋友们破除信息差、缩短沟通距离。因此,希望 AOSCC 乃至安同开源社区能成为推进扩大化、公众化和草根化开源参与的积极力量,也希望能在各地看到更多地方性的开源社区集会;更重要地,希望 AOSCC 能够证明草根社区的专业、热情及积极作用。明年,我们会积极推动 AOSCC 的再次成功筹备和举办,也希望有兴趣提供会场资源及支持的各位积极联系我们,提供宝贵线索。在此之前,我们会继续组织“安同校园行”活动,让更多院校社团和组织接触开源社区的最新动向。 + +AOSCC 是由安同开源社区诸多社区好友、赞助方的慷慨解囊,以及社区志愿者和贡献者们的日夜操劳实现的——感谢各位的支持与努力,让 AOSCC 继续保持志愿性、独立性和社区驱动。最后,再次感谢各位与会者、讲者与工作人员,在未来的一年,让我们一起进步,一起安同! + +### AOSCC 2024 纪念品与社区周边发售说明 + +今年的 AOSCC 周边包含贴纸、帆布袋、T 恤和钥匙扣,融合了诸多社区文化元素,其中包括社区长久以来形成的梗(众人拾柴火焰高)、社区维护龙架构发行期间遇到的轶事(高负载下 AMD 显卡会重置的问题),以及画师[五十根炸虾][zhaxia]基于[社区吉祥物][mascot]“安安”和“同同”设计的贴纸和表情包。 + +由于社区好友们订购社区周边的呼声甚高,我们决定将今年除编织袋外的所有纪念品和周边再版,并以成本价及运费为标准开放订购。 + +如果您有意订购再版周边,敬请关注我们后续发布的订购问卷! + +### 山东大学上线社区软件源服务器镜像 + +![山东大学(青岛)镜像源上线我社软件仓库服务器镜像](/coffee-break/20240803/imgs/new-mirror-sdu-oops.png) + +日前,山东大学(青岛)镜像源上线了我社软件仓库服务器镜像。 + +该镜像源由山东大学镜像站运营团队负责维护,是在山东大学(青岛)信息化工作办公室指导下立项,由山东大学(青岛)网管会镜像站学生运营团队运营的开源镜像站平台。衷心感谢各位同学的大力支持! + +### 持续维护:社区上线多台 MIPS 龙芯三号构建服务器 + +![社区上线多台 MIPS 龙芯三号构建服务器](/coffee-break/20240803/imgs/new-3b4000-servers.jpg) + +日前,[王翔 (KatyushaScarlet)][katyushascarlet] 向社区捐赠了一台 MIPS 架构的双路龙芯 3B4000 构建服务器。该服务器搭载 8 个核心及 32GiB 内存,并已开始接收社区自动化设施 BuildIt! 的构建任务。 + +此外,社区还计划上线由[统信软件技术有限公司][uniontech]及 [deepin 社区][deepin-osc]联合捐赠的两台双路 3B4000 构建服务器。这些服务器将助力我社安同 OS MIPS 龙芯 3 号发行的维护工作。同时,在星霞 OS 维护重启后,这些服务器还将承载星霞 OS 的龙芯 2F 版本的维护工作。 + +衷心感谢各位慷慨捐赠和大力支持! + +系统快讯 +-------- + +### localhost:安同 OS 核心包第 12 版代号出炉 + +![localhost 成为新一代安同 OS 核心包代号!](/coffee-break/20240803/imgs/core-12-localhost.jpg) + +经过又一轮紧张刺激的投票,“localhost”以 73 票领先于其他六十余个代号提名,成为 2024 - 2025 年度的系统核心包代号。 + +### 将塞爆进行到底:安同 OS 离线安装盘发布 + +![安同 OS 安装介质:一站式、全功能、方便快捷](/coffee-break/20240803/imgs/installation-media-slim.png) + +一直以来,由于安同 OS 依赖树齐全及功能全开的设计导向,系统大小与其他操作系统相比明显偏大。这一特征加之以安装盘需要从互联网拖取(大小相当可观的)系统包的设计广受用户诟病——一个超过 3GiB 大小的安装盘,居然还需要下载系统数据! + +为解决这一问题,我们实现了一款基于 OverlayFS 差分文件系统组装的离线系统安装盘。该安装盘集成了所有系统镜像并对共用组件进行了去重,这样一来,用户朋友们不但不需要在安装过程中等待下载,还可以: + +- 直接从 U 盘或光盘启动试用安同 OS 的桌面版 +- 在搭载 NVIDIA 显卡的设备上正常启动安装和试用环境 + +可谓一石三鸟!虽然系统大小直奔 8GiB,双层 DVD 都要塞不下了,但您就说功能全不全吧—— + +此外,离线安装盘还包含重新设计的命令行安装器 [dkcli][dkcli],支持在线、离线安装,更有无人值守配置支持,欢迎试用。 + +#### 发行说明 + +安装盘维护者[杨欣辉][cyanoxygen]为该安装盘的功能细节和使用流程编写了一份详尽的[发行说明](offline-installer-release-notes.md),欢迎查阅。 + +#### 下载安装盘 + +欢迎各位用户朋友下载试用,您的反馈和建议是我们工作的动力: + +- [x86-64](https://releases.aosc.io/os-amd64/installer/aosc-os_installer_20240801_amd64.iso) +- [AArch64](https://releases.aosc.io/os-arm64/installer/aosc-os_installer_20240801_arm64.iso) +- [龙架构 (LoongArch)](https://releases.aosc.io/os-loongarch64/installer/aosc-os_installer_20240801_loongarch64.iso) + +### 世界线“合龙”:龙架构旧世界固件启动新世界系统已成现实! + +![新引导器及内核补丁助您打破世界线隔阂!](/coffee-break/20240803/imgs/breaking-the-world-boundary.jpg) + +继“坏人”王邈设计实现的 [libLoL 兼容层][liblol]打通新旧世界应用程序兼容性后,坏人再放大招,实现了从 GRUB 系统引导器到内核的旧世界固件启动支持——这意味着新旧世界的隔阂从固件到应用程序均已成为历史! + +龙架构电脑玩家们很可能听说过,3A5000/3C5000L + 7A1000 的主板和笔记本有好几个型号一直没能得到新世界固件更新,因而无缘组件更新、应用更新更频繁、硬件支持更好的各大新世界发行版。如果您的旧世界设备因此吃灰,这一启动支持的实现意味着您可以在任意旧世界固件设备上启动和使用安同 OS 在内的一众新世界发行版了。 + +#### 现实意义 + +新世界系统的旧世界固件启动支持将惠及各类龙架构设备用户。 + +不论对于二手设备玩家还是商业、政企用户,该支持将帮助旧世界设备向新世界系统的迁移,也将大大简化设备采购流程(用户及管理员均无需关心设备固件的新世界兼容性)、降低操作系统发行商的支持成本(用户无法启动系统的概率大大降低,且无需比对固件信息进行查错,甚至引导用户获取及刷写固件)。 + +#### 支持设备 + +我们已在如下设备使用安同 OS 测试过该启动支持: + +- 联想开天 M540z +- 航天龙梦 ML5A(旧世界商用固件) +- 清华同方 超锐 L860-T2(卓怡恒通 L71) + +#### 实现原理 + +简略地说,GRUB 引导器和内核的旧世界支持主要通过探测旧世界固件独有的启动参数接口(Boot Parameters Interface,简称 BPI)签名调整所需的起始内存地址、内存分段、中断控制器、ACPI 表等的规范及行为实现的。该实现支持目前已知的 BPI01000 及 BPI01001 两种启动参数接口。 + +实现过程中,王邈参考了龙芯为 deepin 内核提交的[旧世界固件 BPI 支持补丁](https://github.com/deepin-community/kernel/pull/130)并对其内容进行了大幅度精简及修缮。感兴趣的读者朋友们可以查阅王邈编写的[补丁草稿](https://gist.github.com/shankerwangmiao/a15e17fc5c1c1dfb883490862107fcbb)。 + +#### 更新计划 + +安同 OS 计划近期为内核及 GRUB 引导器更新引入旧世界启动支持,下一版系统安装盘也将支持在上述旧世界设备上直接引导和安装安同 OS。我们将在未来数日通知并推荐各新世界系统维护者及厂商评估、测试及集成实现旧世界启动支持的相关补丁。 + +### 稳定、兼容、界面三重升级:oma 1.3 发布多版更新 + +![oma 1.3 助您轻松管理系统组件](/coffee-break/20240803/imgs/oma-slim.png) + +随着安同 OS 用户群体日益壮大,作为一线系统管理项目的小熊猫包管理 (oma) 也收到了越来越多的用户反馈。在过去一个月中,oma 发布了多个 1.3 修复版本,在修缮使用问题的至于,大幅度改善了 Debian/Ubuntu 兼容性,还优化了诸如测试源 (topic) 设置界面的清晰度。如下是 oma 近期发布版本的更改日志,欲知 oma 近期的开发进展,请参阅下列发布公告: + +- [v1.3.36 更新日志](oma-1.3.36-release-notes.md) +- [v1.3.34 更新日志](oma-1.3.34-release-notes.md) +- [v1.3.33 更新日志](oma-1.3.33-release-notes.md) +- [v1.3.32 更新日志](oma-1.3.32-release-notes.md) +- [v1.3.31 更新日志](oma-1.3.31-release-notes.md) +- [v1.3.30 更新日志](oma-1.3.30-release-notes.md) +- [v1.3.29 更新日志](oma-1.3.29-release-notes.md) + +您对小熊猫包管理的使用体验满意吗?欢迎来我社群组和论坛分享您的体会! + +### 快上加快:安同 OS 换用 Zstd 压缩软件包 + +近日,[王邈][shankerwangmiao]发现安同 OS 的软件包若改用 [Zstd][zstd] 压缩算法(原为 LZMA)可大幅缩短打包时的压缩耗时,在性能较低且线程较少的机器上,解压速度也显著更快。 + +我们已于上周开始将所有新推送的软件包改为 Zstd 压缩,您发现软件安装速度变快了吗? + +### 紫华不再:安同 OS MIPS64 Release 6 移植停止维护 + +![安同 OS 不再维护 MIPS64 Release 6 版本](/coffee-break/20240803/imgs/mips-r6-closing-time-slim.png) + +在数年间一次又一次的期待和失落后,我们决定即日起停止 MIPS64 Release 6 的一切维护工作。 + +2022 年底,我社数名安同 OS 维护者响应芯联芯 (CIP United) 关于 MIPS64 Release 6 开发板需要社区发行版的需求,推动了社区与企业合作维护安同 OS 移植的第一次尝试。2024 年夏末,芯联芯的 MIPS 芯片研发路线愈发模糊,硬件架构的未来飘渺,已经维护近两年的安同 OS MIPS64 Release 6 移植 (`mips64r6el`) 依然以三级(实验性)架构的形式存在着。 + +考虑到长久以来,该移植的硬件资源基本由我社志愿提供、维护效率极低,已难以为继。更不用说多名社区贡献者在长期投入业余时间维持和维护,且如今已对该移植缺乏维护热情,继续推动 MIPS64 Release 6 的维护工作无疑会造成不成比例的时间和精力成本。因此,我们决定即日起结束对安同 OS MIPS64 Release 6 移植的维护,将更多精力投入到其他未来更明朗、用户呼声更高的架构移植的维护工作中。 + +感谢各位社区贡献者、芯联芯同事们一直以来为 MIPS64 Release 6 系统乃至开源生态的维护付出的努力!也许有朝一日,我们能再次看到 MIPS 的一抹紫华重现眼前。 + +### 星霞初现:星霞 OS 开发正式重启 + +[星霞 OS(英文名 Afterglow,原 AOSC OS/Retro)][afterglow]是社区为老旧设备(又称 Retro 设备)定制的系统发行。星霞 OS 基于安同 OS 开发,采用精简特性集、配置调优和软件精选等手段,持续维护良好体验和性能,让老旧设备焕发新生、让用户们“重拾旧爱”。 + +但由于近年社区事务繁忙,以及龙架构“合龙”等工作带来的维护压力,星霞 OS 的开发工作已经停滞一年之久。社区的古董电脑兴趣小组近年来也涌入了大批古董电脑爱好者,因此星霞 OS 的关注度逐渐升高,需要尽快重启星霞 OS 的维护工作。 + +在 AOSCC 2024 期间,白铭骢就发布了星霞 OS 移植重启的计划,并于近日发起了重启工作。目前社区正在重新推动 Intel 80486 版本移植,并计划在未来按批次重启针对其他架构的移植。目前计划第一批移植对象包含 Intel 80486 (`i486`)、龙芯 2F (`loongson2f`) 和搭载 32 位 PowerPC 处理器的 Macintosh 及 IBM RS/6000 系列主机 (`powerpc`)。 + +同时,社区好友轮子妈为这些移植贡献了数个工具链优化补丁,并根据基于 OpenWrt 开发维护的经验,针对各架构提出了有关编译器优化参数的建议。相信有了轮子妈的贡献,重启后星霞 OS 的性能会比当前的版本更好。 + +星霞 OS 维护重启完毕后,将推出数个针对不同用途的版本: + +- 最小系统:搭载命令行界面的最小化系统发行 +- 桌面版:预装经美化调优的基于 KDE 3 的 Trinity Desktop Environment 桌面环境 +- 个人服务器版:与安同 OS 一样,在最小系统的基础上预装常用的服务器软件 + +同时,社区还计划发布星霞 OS 的盒装实体版,供社区好友订购。敬请期待! + +### Mesa 上游合并 llvmpipe OrcJIT 及 RISC-V 支持 + +![正在使用 llvmpipe 的 RISC-V 设备示意图](/coffee-break/20240803/imgs/riscv64-orcjit.png) + +经过接近两年的审阅、修订及测试工作,图形加速套件 Mesa 的 llvmpipe OrcJIT 及 RISC-V 支持终于成功合并上游。该支持合并后,RISC-V 将可以正常使用由 OrcJIT 加持的软渲染加速。感谢 [Alex Fan](https://github.com/alexfanqi) 及 [Yukari Chiba](https://github.com/YukariChiba) 等贡献者为此上游补丁付出的努力!在此过程中,我社率先在安同 OS 的 Mesa 组件中集成、测试了该支持,并多次提供反馈。 + +此外,由我社贡献者 [Icenowy Zheng](https://github.com/Icenowy) 实现的[龙架构 llvmpipe OrcJIT 适配](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30197)及[盘上着色器缓存支持](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30036)也已合并上游,预计将随 Mesa 24.3 一同发布(安同 OS 的 Mesa 组件已在过去一段时间对这部分功能进行测试了测试验证)。 + +开发者角 +-------- + +### abbs-update-checksum 工具发布:便捷刷新软件包校验和信息 + +自 BuildIt! 上线后,安同 OS 维护正式实现自动化。为了方便各位贡献者提交软件包更新,[傅孝元][eatradish]开发了一个用于刷新软件包校验和的小工具 [abbs-update-checksum](https://github.com/AOSC-Dev/abbs-update-checksum)。这款小工具取代了之前需要进入维护容器、需要 ACBS 才能执行的刷新源码包校验和的操作,使得各位安同 OS 维护者无需在自己的机器上部署 ACBS 即可刷新软件包信息,进而提交软件包更新。 + +同时,相比于传统的 `acbs-build -gw` 命令,这款小工具支持多线程下载,并能更好地处理架构特定源码包配置。相信这款小工具将大大方便各位软件包的日常更新维护工作。 + +### p-vector-rs, Ciel, aoscbootstrap 发布:适配 Zstd 压缩格式 + +早前,[王邈][shankerwangmiao]提出将安同 OS 的软件包压缩算法由 LZMA (xz) 更换为 ZStandatd (zstd),以争取更快的压缩和解压缩时间。近日,安同 OS 的维护基础设施套件陆续实现了 Zstd 压缩算法的支持,并将安同 OS 的默认软件包压缩算法更改为 Zstd: + +- [aoscbootstrap][aoscbootstrap]: 安同 OS 系统发行生成器 +- [Ciel][ciel]: 安同 OS 构建容器管理器 +- [p-vector-rs][p-vector-rs]: 安同 OS 软件仓库元数据生成器 + +由于 Zstd 解压缩速率的显著优势,我们预期用户在更新系统及批量安装软件包的耗时将明显降低。但由于 Zstd 压缩格式的改动是最近才引入的,因此绝大部分软件包依旧是以 xz 格式压缩的。使用 Zstd 压缩的软件包将陆续进入安同 OS 软件仓库。 + +### Kaboom 系统自举套件更新:适配最新基础包 + +[Kaboom](https://github.com/AOSC-Dev/kaboom)(安同 OS 系统移植自举工具)能够从头构建出带有包管理器及 Autobuild 基础设施的安同 OS 基础开发环境,因此常用于引入安同 OS 的新移植及重启现有移植。 + +日前,[白铭骢](mingcongbai)对 Kaboom 进行了翻修: + +- 适配了安同 OS 核心包第 11 版 (Core 11) +- 修复了自举期间的构建错误 +- 与[安同 OS 软件包树][aosc-os-abbs]对齐了各核心组件版本 + +翻修后的 Kaboom 将承载首批星霞 OS 移植重启工作。后续,社区将定期利用 Kaboom 全盘重构系统,以期验证工具链可用性并及时维护核心组件的构建脚本。 + +### ReworkIt! 发布:覆盖式测试安同 OS 软件包构建情况 + +由于缺少人手及兴趣,部分安同 OS 的软件包经常陷入无人看管和维护的状态。为了缓解此类情况,[傅孝元][eatradish]开发了 [ReworkIt!][reworkit],用于覆盖式测试软件包构建脚本。该工具可检查安同 OS 软件仓库的软件包质量,后续还将实现针对仓库内的构建通过情况的统计与呈现,以帮助维护者们及时发现过期无法构建的软件包。 + +长久来说,我们希望通过部署 ReworkIt! 和提高维护意识,以便整体性提高安同 OS 的维护质量。 + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [Arkadi Shishlov](https://github.com/arkadijs) +- [salieri](https://github.com/BC204) +- [Henry Chen](https://github.com/chenx97) +- [柴天浩](https://github.com/cthbleachbit) +- [杨欣辉](https://github.com/Cyanoxygen) +- [diredocks](https://github.com/diredocks) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [王翔 (KatyushaScarlet)](https://github.com/KatyushaScarlet) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [leavelet](https://github.com/leavelet) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [ouankou](https://github.com/ouankou) +- [Outvi V](https://github.com/outloudvi) +- [bubu](https://github.com/p3psi-boo) +- [SignKirigami](https://github.com/prcups) +- [王江津](https://github.com/RedL0tus) +- [rickliu2000](https://github.com/rickliu2000) +- [王邈](https://github.com/shankerwangmiao) +- [shatian114](https://github.com/shatian114) +- [skybird](https://github.com/SkyBird233) +- [Student Main](https://github.com/stdmnpkg) +- [StephDC](https://github.com/StephDC) +- [Suyun](https://github.com/Suyun114) +- [Zamir SUN](https://github.com/sztsian) +- [温柔](https://github.com/xunpod) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [A1ca7raz](https://github.com/A1ca7raz) +- [韩于惟](https://github.com/hanyuwei70) +- [Harry Chen](https://github.com/Harry-Chen) +- [Chris Su](https://github.com/slchris) +- [TechCiel](https://github.com/TechCiel) +- [xtex](https://github.com/xtexChooser) + +一起吹水 +-------- + +
+ 点此查看进群说明,一起吹水玩耍吧~ + +互联网是我社的主要活动场所,欢迎来社区各群聊及语音频道交流玩耍: + +### 微信群 + +请扫描此二维码添加好友**并说明来意:申请加入 AOSC 社区频道。** + +![wechat](/assets/wechat.png) + +### QQ 群 + +![qq](/assets/qq.jpg) + +### Telegram 群组 + +![telegram](/assets/telegram.png) + +### Discord 语音频道 + +![discord](/assets/discord.png) +
+ +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-08-04-offline-installer-release-notes.md b/content/news/2024-08-04-offline-installer-release-notes.md new file mode 100644 index 00000000..37953831 --- /dev/null +++ b/content/news/2024-08-04-offline-installer-release-notes.md @@ -0,0 +1,193 @@ +--- +categories: + - advisories +title: "安同 OS 离线安装盘发布说明" +date: 2024-08-04T23:00:00+08:00 +important: false +--- + +[media-writer]: https://releases.aosc.io/writer/ +[download]: https://website-2023.aosc.io/download/ +[all-downloads]: https://releases.aosc.io/ +[contact]: https://website-2023.aosc.io/contact + + +大家久等了!备受期待的安同 OS 离线安装盘现已发布,可供大家下载使用。新的离线安装盘比之前的安装盘体积增加了近两倍,附带了系统包,因此安装期间无需联网,免去多余的下载量。除此之外,您现在可以从离线安装盘启动试用环境,一睹为快。 + +架构支持 +-------- + +目前离线安装盘支持所有一级架构: + +- x86-64 (Intel, AMD 等) +- AArch64 [^1] +- 龙架构 (LoongArch64) + +[^1]: ARM64 仅支持 ServerReady (SBSA) ,如鲲鹏、飞腾等提供了 EFI 环境的设备。 + +特性说明 +-------- + +新的安装盘引入了诸多特性,在此说明: + +- 离线安装:整个安装过程无需联网,极大提升安装体验。 +- 试用环境:您可以在启动菜单选择 “Try AOSC OS Desktop” 选项,现场试用安同 OS 的桌面版。 +- 多版本支持:离线安装盘带有多个版本,随您挑选。 +- NVIDIA 支持:带了 NVIDIA 独显就开进不了图形界面?试试带着 N 卡驱动启动安装环境! +- 经过改进的命令行安装程序:新的命令行安装程序支持离线及在线安装,更有无人值守配置文件支持。 + +### 离线安装包 + +不用再担心下载完 3GB 的安装环境后还要下载 9GB 系统数据的情况了!本次发布的安装盘完全内置桌面版、服务器版的系统包,并将安装盘大小控制在 9GB 以下。安装期间无需联网,简便快捷。 + +由于安装盘大小过大,您无法将其刻录在双层 DVD 光盘上。您可以刻录至蓝光光盘中,但非常不推荐用光盘启动安装环境,因为受制于光盘的局限性,随机读取性能会大幅降低。 + +### 试用环境 + +不知道安同 OS 的桌面默认长啥样?想看看安同 OS 的桌面被微调到了什么程度?您可以进入试用环境,试着用 oma 安装软件包,或者体验一下开箱即用的 KDE Plasma 桌面环境! + +体验试用环境期间所做的更改均保留在内存中,并且不会挂载您的硬盘。如有需要,请挂载您的硬盘,然后将需要保存的内容复制其中。 + +附带系统版本 +-------- + +所有架构的离线安装盘均附带以下系统发行: + +- 基础版:仅安装基本软件、SSH 和管理工具等,没有图形界面。 +- 桌面版:带有配置经过微调的安同 OS KDE Plasma 桌面环境。 +- 服务器版:由基础版加上服务器常见软件而来。包含 LNMP 栈、httpd、PostgreSQL 等常用服务端软件。 + +取决于所选设备的架构,安同 OS 离线安装盘带有不同预装组件的系统。 + +- x86-64 和 AArch64 可选附带 NVIDIA 驱动的桌面版。安装期间就帮您装好 NVIDIA 驱动,免去安装后的烦恼。同时,也可以使用 NVIDIA 驱动启动安装环境。 +- 龙架构可选带有 LATX + Wine 的桌面版,一键满足您的需要。 + +下载地址 +-------- + +最新发布的安同 OS 离线安装盘可以在[官网下载页面][download]中找到。如果您需要预览版或旧版本的安装盘,请前往[AOSC OS 软件仓库下载页面][all-downloads]下载。 + +推荐您使用 AOSC 启动盘制作向导写入安装盘。您可以[在此处获取][media-writer] AOSC OS 安装盘制作向导。您无需提前下载 ISO,制作向导会自动选择合适的版本下载。 + +如果您使用 Ventoy,请在安装盘下载完毕后,先阅读下文的使用方法,了解注意事项。 + +使用方法 +-------- + +您可以通过如下几种方式写入或启动离线安装盘,每种方式的使用方法将在下文介绍: + +- 通过 AOSC 启动盘制作向导写入 (Windows 及 macOS) +- 通过 Rufus 写入 (Windows) +- 通过 Ventoy 启动 +- 通过 `dd` 命令写入(Linux 及 macOS,不推荐) + +请注意,安装盘暂不支持直接解压 ISO 至存储设备的写入方式。 + +### 通过 AOSC 启动盘制作向导写入(适用于 Windows 及 macOS) + +使用专门的程序写入方便快捷,出错点较少,因此通过 AOSC 启动盘制作器写入是最推荐的方式。您可以[在此处下载][media-writer] AOSC OS 启动盘制作向导。启动盘制作器安装完毕后,根据向导的提示选择架构和版本,点击写入即可。请注意选择正确的存储设备。 + +### 通过 Rufus 写入(适用于 Windows) + +从 [Rufus 官网](https://rufus.ie/)下载 Rufus 并运行。选择好存储设备和 ISO 之后,点击 “开始”。 + +- Rufus 会询问您使用哪种方式写入 ISO。请选择 “使用 DD 模式写入”,以保证写入的安装盘能够启动。 +- 如果您写入的是龙架构的安装盘,Rufus 会自动选择 DD 模式。 + +### 使用 Ventoy 启动 + +如果您有写入了 Ventoy 的存储设备,可以直接将下载的 ISO 复制到 U 盘中。 + +在用 Ventoy 启动离线安装盘时,请注意避免以下问题: + +- 由于安装盘的引导器使用了自有的组件,因此在使用 Ventoy 启动安装盘时使用 GRUB2 模式引导会出现错误。请使用普通模式 (Normal mode) 引导安装盘,而非 GRUB2 模式。 +- 安装盘体积较大,请确保 Ventoy 分区的文件系统不是 FAT32。 + +### 通过 `dd` 命令写入(不推荐) + +**注意:由于本方式出错率极高,因此仅适用于专业 Linux 用户。请尽量使用其他方法。** 因此,本节内容仅供参考。 + +下载安装盘之后,确定您的移动存储设备所在位置(如 `/dev/sdb`),然后使用 `dd` 命令写入 ISO: + +```shell +# dd if=aosc-os_installer_20240728_amd64.iso of=您的移动存储设备路径 bs=1M status=progress +``` + +注意事项及常见问题 +-------- + +### 搭载 NVIDIA 独显的笔记本电脑 + +如果您的笔记本电脑搭载 NVIDIA 独立显卡,请谨慎使用附带 NVIDIA 显卡驱动的安装或试用环境: + +- 如果您的笔记本没有在固件中启用显卡直通(或 Advanced Optimus),您可能需要启动标准安装环境。您可以继续安装带 NVIDIA 驱动的桌面版系统。 +- 如果您的笔记本在固件中启用了显卡直通(或 Advanced Optimus),您需要启动附带 NVIDIA 驱动的安装或试用环境,并安装附带 NVIDIA 驱动的桌面版系。统 + +### 搭载 NVIDIA 显卡的台式机 + +- 如果您的台式机没有内置显卡,请启动附带 NVIDIA 驱动的安装或试用环境,安装附带 NVIDIA 驱动的桌面版系统。 +- 如果您的台式机有内置显卡,且显示器连接在主板上,请启动标准安装或试用环境,在安装系统时选择附带 NVIDIA 驱动的桌面版系统。 +- 如果您的台式机有内置显卡,且显示器连接在显卡上,请启动附带 NVIDIA 驱动的安装或试用环境,在安装系统时选择附带 NVIDIA 驱动的桌面版系统。 + +### 带有高刷屏的笔记本电脑 + +先前有用户报告带有高刷屏的笔记本电脑无法正常启动安装环境。我们已将此问题修复,如果您的笔记本电脑搭载高刷新率的内置屏幕,且依旧在启动安装环境时出现黑屏、无法进入安装界面的情况,请立即通过[社区各聊天群组][contact]报告。 + +### 分辨率高于 1080p 的屏幕或显示器 + +如果您的笔记本屏幕或显示器的分辨率超过 1920×1080,启动桌面版试用环境时可能会被错误地设置缩放。您可以打开 “系统设置”,依次点击 “显卡与显示器” → “显示器配置”,并将缩放调整至您需要的缩放。 + +调整完毕后,请立即注销,系统将为您自动重新登录试用环境。 + +### NVIDIA 驱动的硬件支持情况 + +安同 OS 附带的 NVIDIA 显卡驱动的设备支持有限,因此过旧的 NVIDIA 显卡会无法启动或使用附带 NVIDIA 驱动程序的安同 OS 及安装环境。 + +现版本的 NVIDIA 显卡驱动程序最低支持 Maxwell 架构的显卡,其中比较常见的显卡型号如下: + +- NVIDIA GeForce GTX 750, GTX 750 Ti(其他 700 系列的型号均不支持) +- NVIDIA GeForce GTX 950,960, 970, 980, 980 Ti +- NVIDIA GeForce GTX 800M, 900M 系列 + +自 Maxwell 架构的显卡均受现版本 NVIDIA 驱动程序支持。如果您不确定您的显卡能否被当前版本所驱动,可以前往 [NVIDIA 发布的过旧显卡及驱动程序支持列表](https://www.nvidia.com/en-us/drivers/unix/legacy-gpu/)查询。在这则列表中的显卡均不受当前版本的 NVIDIA 驱动支持。 + +### 有些笔记本或电脑会在启动时掉盘,导致无法进入系统 + +如果您启动安装盘时屏幕显示如下字样: + +``` +[ 35.124581] I/O error: dev loop0, sector 12345 op 0x0:(READ) flags 0x800 phys_seg 3 prio class 0 +[ 35.131045] SQUASHFS error: Failed to read block 0x410972da: -5 +[ 35.134694] SQUASHFS error: Unable to read page, block aafe274, size 4980 +``` + +则说明安装盘启动时遭遇了 USB 控制器重置或 U 盘掉盘。 + +我们暂时无法解决该问题,您可以尝试更换 USB 设备或 USB 接口。如果有雷雳 (Thunderbolt) 接口,请尝试将 Type-C 接口的 USB 存储设备接入其中。 + +如果上述方法均不起作用,请等待整合了内核更新的新版离线安装盘。我们为此带来的不便表示抱歉。 + +反馈渠道 +-------- + +如您在使用离线安装盘期间遇到任何问题,欢迎通过如下渠道联系: + +- 安同开源社区论坛:https://bbs.aosc.io/ +- 安同开源社区 QQ 群:875059676 +- 安同开源社区微信群(请联系公众号 “安同开源” 获取加群方式) +- 安同开源社区 Discord 群组:https://discord.gg/VYPHgt9 +- 更多请参见[社区联系方式][contact] + +更新发布渠道 +-------- + +如有后续更新,我们会在以下平台发布更新说明: +- 安同开源社区门户 https://website-2023.aosc.io/ +- 安同开源社区的各个聊天群组 +- 安同开源社区公众号 “安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博 “@安同开源” +- X (Twitter) @aosc_dev 及 @aosc_dev_cn + +请遇到问题的各位关注上述渠道,及时获取安装盘、安同 OS 及周边项目的修复和更新。 diff --git a/content/news/2024-08-04-offline-installer-release-notes.zh-cn.md b/content/news/2024-08-04-offline-installer-release-notes.zh-cn.md new file mode 100644 index 00000000..37953831 --- /dev/null +++ b/content/news/2024-08-04-offline-installer-release-notes.zh-cn.md @@ -0,0 +1,193 @@ +--- +categories: + - advisories +title: "安同 OS 离线安装盘发布说明" +date: 2024-08-04T23:00:00+08:00 +important: false +--- + +[media-writer]: https://releases.aosc.io/writer/ +[download]: https://website-2023.aosc.io/download/ +[all-downloads]: https://releases.aosc.io/ +[contact]: https://website-2023.aosc.io/contact + + +大家久等了!备受期待的安同 OS 离线安装盘现已发布,可供大家下载使用。新的离线安装盘比之前的安装盘体积增加了近两倍,附带了系统包,因此安装期间无需联网,免去多余的下载量。除此之外,您现在可以从离线安装盘启动试用环境,一睹为快。 + +架构支持 +-------- + +目前离线安装盘支持所有一级架构: + +- x86-64 (Intel, AMD 等) +- AArch64 [^1] +- 龙架构 (LoongArch64) + +[^1]: ARM64 仅支持 ServerReady (SBSA) ,如鲲鹏、飞腾等提供了 EFI 环境的设备。 + +特性说明 +-------- + +新的安装盘引入了诸多特性,在此说明: + +- 离线安装:整个安装过程无需联网,极大提升安装体验。 +- 试用环境:您可以在启动菜单选择 “Try AOSC OS Desktop” 选项,现场试用安同 OS 的桌面版。 +- 多版本支持:离线安装盘带有多个版本,随您挑选。 +- NVIDIA 支持:带了 NVIDIA 独显就开进不了图形界面?试试带着 N 卡驱动启动安装环境! +- 经过改进的命令行安装程序:新的命令行安装程序支持离线及在线安装,更有无人值守配置文件支持。 + +### 离线安装包 + +不用再担心下载完 3GB 的安装环境后还要下载 9GB 系统数据的情况了!本次发布的安装盘完全内置桌面版、服务器版的系统包,并将安装盘大小控制在 9GB 以下。安装期间无需联网,简便快捷。 + +由于安装盘大小过大,您无法将其刻录在双层 DVD 光盘上。您可以刻录至蓝光光盘中,但非常不推荐用光盘启动安装环境,因为受制于光盘的局限性,随机读取性能会大幅降低。 + +### 试用环境 + +不知道安同 OS 的桌面默认长啥样?想看看安同 OS 的桌面被微调到了什么程度?您可以进入试用环境,试着用 oma 安装软件包,或者体验一下开箱即用的 KDE Plasma 桌面环境! + +体验试用环境期间所做的更改均保留在内存中,并且不会挂载您的硬盘。如有需要,请挂载您的硬盘,然后将需要保存的内容复制其中。 + +附带系统版本 +-------- + +所有架构的离线安装盘均附带以下系统发行: + +- 基础版:仅安装基本软件、SSH 和管理工具等,没有图形界面。 +- 桌面版:带有配置经过微调的安同 OS KDE Plasma 桌面环境。 +- 服务器版:由基础版加上服务器常见软件而来。包含 LNMP 栈、httpd、PostgreSQL 等常用服务端软件。 + +取决于所选设备的架构,安同 OS 离线安装盘带有不同预装组件的系统。 + +- x86-64 和 AArch64 可选附带 NVIDIA 驱动的桌面版。安装期间就帮您装好 NVIDIA 驱动,免去安装后的烦恼。同时,也可以使用 NVIDIA 驱动启动安装环境。 +- 龙架构可选带有 LATX + Wine 的桌面版,一键满足您的需要。 + +下载地址 +-------- + +最新发布的安同 OS 离线安装盘可以在[官网下载页面][download]中找到。如果您需要预览版或旧版本的安装盘,请前往[AOSC OS 软件仓库下载页面][all-downloads]下载。 + +推荐您使用 AOSC 启动盘制作向导写入安装盘。您可以[在此处获取][media-writer] AOSC OS 安装盘制作向导。您无需提前下载 ISO,制作向导会自动选择合适的版本下载。 + +如果您使用 Ventoy,请在安装盘下载完毕后,先阅读下文的使用方法,了解注意事项。 + +使用方法 +-------- + +您可以通过如下几种方式写入或启动离线安装盘,每种方式的使用方法将在下文介绍: + +- 通过 AOSC 启动盘制作向导写入 (Windows 及 macOS) +- 通过 Rufus 写入 (Windows) +- 通过 Ventoy 启动 +- 通过 `dd` 命令写入(Linux 及 macOS,不推荐) + +请注意,安装盘暂不支持直接解压 ISO 至存储设备的写入方式。 + +### 通过 AOSC 启动盘制作向导写入(适用于 Windows 及 macOS) + +使用专门的程序写入方便快捷,出错点较少,因此通过 AOSC 启动盘制作器写入是最推荐的方式。您可以[在此处下载][media-writer] AOSC OS 启动盘制作向导。启动盘制作器安装完毕后,根据向导的提示选择架构和版本,点击写入即可。请注意选择正确的存储设备。 + +### 通过 Rufus 写入(适用于 Windows) + +从 [Rufus 官网](https://rufus.ie/)下载 Rufus 并运行。选择好存储设备和 ISO 之后,点击 “开始”。 + +- Rufus 会询问您使用哪种方式写入 ISO。请选择 “使用 DD 模式写入”,以保证写入的安装盘能够启动。 +- 如果您写入的是龙架构的安装盘,Rufus 会自动选择 DD 模式。 + +### 使用 Ventoy 启动 + +如果您有写入了 Ventoy 的存储设备,可以直接将下载的 ISO 复制到 U 盘中。 + +在用 Ventoy 启动离线安装盘时,请注意避免以下问题: + +- 由于安装盘的引导器使用了自有的组件,因此在使用 Ventoy 启动安装盘时使用 GRUB2 模式引导会出现错误。请使用普通模式 (Normal mode) 引导安装盘,而非 GRUB2 模式。 +- 安装盘体积较大,请确保 Ventoy 分区的文件系统不是 FAT32。 + +### 通过 `dd` 命令写入(不推荐) + +**注意:由于本方式出错率极高,因此仅适用于专业 Linux 用户。请尽量使用其他方法。** 因此,本节内容仅供参考。 + +下载安装盘之后,确定您的移动存储设备所在位置(如 `/dev/sdb`),然后使用 `dd` 命令写入 ISO: + +```shell +# dd if=aosc-os_installer_20240728_amd64.iso of=您的移动存储设备路径 bs=1M status=progress +``` + +注意事项及常见问题 +-------- + +### 搭载 NVIDIA 独显的笔记本电脑 + +如果您的笔记本电脑搭载 NVIDIA 独立显卡,请谨慎使用附带 NVIDIA 显卡驱动的安装或试用环境: + +- 如果您的笔记本没有在固件中启用显卡直通(或 Advanced Optimus),您可能需要启动标准安装环境。您可以继续安装带 NVIDIA 驱动的桌面版系统。 +- 如果您的笔记本在固件中启用了显卡直通(或 Advanced Optimus),您需要启动附带 NVIDIA 驱动的安装或试用环境,并安装附带 NVIDIA 驱动的桌面版系。统 + +### 搭载 NVIDIA 显卡的台式机 + +- 如果您的台式机没有内置显卡,请启动附带 NVIDIA 驱动的安装或试用环境,安装附带 NVIDIA 驱动的桌面版系统。 +- 如果您的台式机有内置显卡,且显示器连接在主板上,请启动标准安装或试用环境,在安装系统时选择附带 NVIDIA 驱动的桌面版系统。 +- 如果您的台式机有内置显卡,且显示器连接在显卡上,请启动附带 NVIDIA 驱动的安装或试用环境,在安装系统时选择附带 NVIDIA 驱动的桌面版系统。 + +### 带有高刷屏的笔记本电脑 + +先前有用户报告带有高刷屏的笔记本电脑无法正常启动安装环境。我们已将此问题修复,如果您的笔记本电脑搭载高刷新率的内置屏幕,且依旧在启动安装环境时出现黑屏、无法进入安装界面的情况,请立即通过[社区各聊天群组][contact]报告。 + +### 分辨率高于 1080p 的屏幕或显示器 + +如果您的笔记本屏幕或显示器的分辨率超过 1920×1080,启动桌面版试用环境时可能会被错误地设置缩放。您可以打开 “系统设置”,依次点击 “显卡与显示器” → “显示器配置”,并将缩放调整至您需要的缩放。 + +调整完毕后,请立即注销,系统将为您自动重新登录试用环境。 + +### NVIDIA 驱动的硬件支持情况 + +安同 OS 附带的 NVIDIA 显卡驱动的设备支持有限,因此过旧的 NVIDIA 显卡会无法启动或使用附带 NVIDIA 驱动程序的安同 OS 及安装环境。 + +现版本的 NVIDIA 显卡驱动程序最低支持 Maxwell 架构的显卡,其中比较常见的显卡型号如下: + +- NVIDIA GeForce GTX 750, GTX 750 Ti(其他 700 系列的型号均不支持) +- NVIDIA GeForce GTX 950,960, 970, 980, 980 Ti +- NVIDIA GeForce GTX 800M, 900M 系列 + +自 Maxwell 架构的显卡均受现版本 NVIDIA 驱动程序支持。如果您不确定您的显卡能否被当前版本所驱动,可以前往 [NVIDIA 发布的过旧显卡及驱动程序支持列表](https://www.nvidia.com/en-us/drivers/unix/legacy-gpu/)查询。在这则列表中的显卡均不受当前版本的 NVIDIA 驱动支持。 + +### 有些笔记本或电脑会在启动时掉盘,导致无法进入系统 + +如果您启动安装盘时屏幕显示如下字样: + +``` +[ 35.124581] I/O error: dev loop0, sector 12345 op 0x0:(READ) flags 0x800 phys_seg 3 prio class 0 +[ 35.131045] SQUASHFS error: Failed to read block 0x410972da: -5 +[ 35.134694] SQUASHFS error: Unable to read page, block aafe274, size 4980 +``` + +则说明安装盘启动时遭遇了 USB 控制器重置或 U 盘掉盘。 + +我们暂时无法解决该问题,您可以尝试更换 USB 设备或 USB 接口。如果有雷雳 (Thunderbolt) 接口,请尝试将 Type-C 接口的 USB 存储设备接入其中。 + +如果上述方法均不起作用,请等待整合了内核更新的新版离线安装盘。我们为此带来的不便表示抱歉。 + +反馈渠道 +-------- + +如您在使用离线安装盘期间遇到任何问题,欢迎通过如下渠道联系: + +- 安同开源社区论坛:https://bbs.aosc.io/ +- 安同开源社区 QQ 群:875059676 +- 安同开源社区微信群(请联系公众号 “安同开源” 获取加群方式) +- 安同开源社区 Discord 群组:https://discord.gg/VYPHgt9 +- 更多请参见[社区联系方式][contact] + +更新发布渠道 +-------- + +如有后续更新,我们会在以下平台发布更新说明: +- 安同开源社区门户 https://website-2023.aosc.io/ +- 安同开源社区的各个聊天群组 +- 安同开源社区公众号 “安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博 “@安同开源” +- X (Twitter) @aosc_dev 及 @aosc_dev_cn + +请遇到问题的各位关注上述渠道,及时获取安装盘、安同 OS 及周边项目的修复和更新。 diff --git a/content/news/2024-08-06-oma-1.4.1.md b/content/news/2024-08-06-oma-1.4.1.md new file mode 100644 index 00000000..0f6fab7c --- /dev/null +++ b/content/news/2024-08-06-oma-1.4.1.md @@ -0,0 +1,28 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.4.1 更新日志" +date: 2024-08-06T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +- 由于近期多个大洲均有部分地区访问社区软件源服务器存在连通性问题,我们暂时回退了 v1.3.36 引入的测试源仅允许使用社区主源的设计,允许用户们使用镜像源获取测试源更新 +- 为 oma refresh 刷新测试源信息时添加进度条,避免不必要的界面停顿 +- 添加 --no-refresh-topics 选项并在配置文件中添加 no_refresh_topic 选项,允许在刷新软件源元数据时不刷新测试源信息 + +分支及版本号策略变更 + +为更清晰地标记和管理 oma 的版本更新,我们决定更改版本号规则,在继续沿用 x.y.z 三段式版本号的基础上,重新定义各版本位的意义: + +- x:重大特性更新(如功能重构、新界面设计等) +- y:特性更新(小范围界面修缮、行为变化等,如此次修改的测试源刷新逻辑、进度条和 --no-refresh-topics 参数) +- z:问题修复 + +此外,我们决定将 oma 先前的双分支开发策略改为双分支 + 多特性分支模式(类似安同 OS 的测试主题制): + +- master 分支承接同一 x 版本系列的更新,任何新特性都以单独的“主题”分支提交合并 +- next 面向下一 x 版本系列的更新,其余与 master 同理 + +[详见 oma 贡献者指南>>](https://github.com/AOSC-Dev/oma/blob/master/CONTRIBUTING.md) diff --git a/content/news/2024-08-06-oma-1.4.1.zh-cn.md b/content/news/2024-08-06-oma-1.4.1.zh-cn.md new file mode 100644 index 00000000..0f6fab7c --- /dev/null +++ b/content/news/2024-08-06-oma-1.4.1.zh-cn.md @@ -0,0 +1,28 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.4.1 更新日志" +date: 2024-08-06T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +- 由于近期多个大洲均有部分地区访问社区软件源服务器存在连通性问题,我们暂时回退了 v1.3.36 引入的测试源仅允许使用社区主源的设计,允许用户们使用镜像源获取测试源更新 +- 为 oma refresh 刷新测试源信息时添加进度条,避免不必要的界面停顿 +- 添加 --no-refresh-topics 选项并在配置文件中添加 no_refresh_topic 选项,允许在刷新软件源元数据时不刷新测试源信息 + +分支及版本号策略变更 + +为更清晰地标记和管理 oma 的版本更新,我们决定更改版本号规则,在继续沿用 x.y.z 三段式版本号的基础上,重新定义各版本位的意义: + +- x:重大特性更新(如功能重构、新界面设计等) +- y:特性更新(小范围界面修缮、行为变化等,如此次修改的测试源刷新逻辑、进度条和 --no-refresh-topics 参数) +- z:问题修复 + +此外,我们决定将 oma 先前的双分支开发策略改为双分支 + 多特性分支模式(类似安同 OS 的测试主题制): + +- master 分支承接同一 x 版本系列的更新,任何新特性都以单独的“主题”分支提交合并 +- next 面向下一 x 版本系列的更新,其余与 master 同理 + +[详见 oma 贡献者指南>>](https://github.com/AOSC-Dev/oma/blob/master/CONTRIBUTING.md) diff --git a/content/news/2024-08-08-oma-1.4.2.md b/content/news/2024-08-08-oma-1.4.2.md new file mode 100644 index 00000000..e5505897 --- /dev/null +++ b/content/news/2024-08-08-oma-1.4.2.md @@ -0,0 +1,12 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.4.2 更新日志" +date: 2024-08-08T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +- 添加了 oma 测试源管理器 (oma topics) 对 file:/// 及 file:/ 协议本地源的支持 +- 修复了简单软件源 (flat repository) 的刷新行为 diff --git a/content/news/2024-08-08-oma-1.4.2.zh-cn.md b/content/news/2024-08-08-oma-1.4.2.zh-cn.md new file mode 100644 index 00000000..e5505897 --- /dev/null +++ b/content/news/2024-08-08-oma-1.4.2.zh-cn.md @@ -0,0 +1,12 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.4.2 更新日志" +date: 2024-08-08T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +- 添加了 oma 测试源管理器 (oma topics) 对 file:/// 及 file:/ 协议本地源的支持 +- 修复了简单软件源 (flat repository) 的刷新行为 diff --git a/content/news/2024-08-12-aosc-os-abbs-100000-commits.md b/content/news/2024-08-12-aosc-os-abbs-100000-commits.md new file mode 100644 index 00000000..c9e7732d --- /dev/null +++ b/content/news/2024-08-12-aosc-os-abbs-100000-commits.md @@ -0,0 +1,13 @@ +--- +categories: + - news +title: "安同 OS 软件包树 (aosc-os-abbs) 喜迎第十万个提交!" +date: 2024-08-12T12:00:00+08:00 +important: true +home: true +--- +![](/assets/news/hundred-thousandth.png) + +安同 OS 使用 Git 管理软件包源码配置已有近十年历史,今天,随着 VSCode 1.92.1 的合入,软件包树 [aosc-os-abbs](https://github.com/AOSC-Dev/aosc-os-abbs) 迎来了第十万个提交 (https://github.com/AOSC-Dev/aosc-os-abbs/commit/d56c6d0636193b2f48ba9f573393c0467c58806c) + +一步一脚印,安同 OS 始终坚持为用户提供简明、可靠和舒心的工作环境 diff --git a/content/news/2024-08-12-aosc-os-abbs-100000-commits.zh-cn.md b/content/news/2024-08-12-aosc-os-abbs-100000-commits.zh-cn.md new file mode 100644 index 00000000..c9e7732d --- /dev/null +++ b/content/news/2024-08-12-aosc-os-abbs-100000-commits.zh-cn.md @@ -0,0 +1,13 @@ +--- +categories: + - news +title: "安同 OS 软件包树 (aosc-os-abbs) 喜迎第十万个提交!" +date: 2024-08-12T12:00:00+08:00 +important: true +home: true +--- +![](/assets/news/hundred-thousandth.png) + +安同 OS 使用 Git 管理软件包源码配置已有近十年历史,今天,随着 VSCode 1.92.1 的合入,软件包树 [aosc-os-abbs](https://github.com/AOSC-Dev/aosc-os-abbs) 迎来了第十万个提交 (https://github.com/AOSC-Dev/aosc-os-abbs/commit/d56c6d0636193b2f48ba9f573393c0467c58806c) + +一步一脚印,安同 OS 始终坚持为用户提供简明、可靠和舒心的工作环境 diff --git a/content/news/2024-08-12-aosc-os-base-and-essential-package.md b/content/news/2024-08-12-aosc-os-base-and-essential-package.md new file mode 100644 index 00000000..4c2e4e5c --- /dev/null +++ b/content/news/2024-08-12-aosc-os-base-and-essential-package.md @@ -0,0 +1,21 @@ +--- +categories: + - advisories +title: "测试公告:系统套件与关键组件调整" +date: 2024-08-12T12:00:00+08:00 +important: true + +--- + + +根据先前用户反馈的安同 OS 依赖绑定过死、容易“卸穿”系统等问题,我们对系统预装的套件包 (*-base) 依赖进行了全面排查和调整并标记了一系列关键 (Essential) 组件包 + +经过调整,我们将绝大多数套件包的依赖关系降级为了“推荐 (Recommends)”,即默认安装但可以卸载的“软依赖”,用户可自行卸载不需要的软件而不用担心套件包被卸载,进而引发连锁反应;必要的软件包,如 oma、sudo 和 Bash 等均已标记为关键组件,使用 oma 卸载时将有如下报错: +``` +软件包 sudo 是不允许删除的关键组件。 +``` +我们计划在未来一周就这些调整收集用户反馈,欢迎您打开测试源试用: +``` +oma topics --opt-in base-package-rework-survey-20240716 +``` +安装后,建议您观察是否有任何不需要的软件包在卸载时报错、引发连锁反应或造成困扰,并将情况反馈给我们,谢谢! diff --git a/content/news/2024-08-12-aosc-os-base-and-essential-package.zh-cn.md b/content/news/2024-08-12-aosc-os-base-and-essential-package.zh-cn.md new file mode 100644 index 00000000..4c2e4e5c --- /dev/null +++ b/content/news/2024-08-12-aosc-os-base-and-essential-package.zh-cn.md @@ -0,0 +1,21 @@ +--- +categories: + - advisories +title: "测试公告:系统套件与关键组件调整" +date: 2024-08-12T12:00:00+08:00 +important: true + +--- + + +根据先前用户反馈的安同 OS 依赖绑定过死、容易“卸穿”系统等问题,我们对系统预装的套件包 (*-base) 依赖进行了全面排查和调整并标记了一系列关键 (Essential) 组件包 + +经过调整,我们将绝大多数套件包的依赖关系降级为了“推荐 (Recommends)”,即默认安装但可以卸载的“软依赖”,用户可自行卸载不需要的软件而不用担心套件包被卸载,进而引发连锁反应;必要的软件包,如 oma、sudo 和 Bash 等均已标记为关键组件,使用 oma 卸载时将有如下报错: +``` +软件包 sudo 是不允许删除的关键组件。 +``` +我们计划在未来一周就这些调整收集用户反馈,欢迎您打开测试源试用: +``` +oma topics --opt-in base-package-rework-survey-20240716 +``` +安装后,建议您观察是否有任何不需要的软件包在卸载时报错、引发连锁反应或造成困扰,并将情况反馈给我们,谢谢! diff --git a/content/news/2024-08-12-oma-1.4.3.md b/content/news/2024-08-12-oma-1.4.3.md new file mode 100644 index 00000000..2d66c363 --- /dev/null +++ b/content/news/2024-08-12-oma-1.4.3.md @@ -0,0 +1,12 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.4.3 更新日志" +date: 2024-08-12T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +- 修复删除关键组件 (Essential) 软件包时未正确阻止用户的问题(感谢 @JeffBai 提交的问题报告) +- 修复 oma topics 进度条与提示信息显示不正确的问题 diff --git a/content/news/2024-08-12-oma-1.4.3.zh-cn.md b/content/news/2024-08-12-oma-1.4.3.zh-cn.md new file mode 100644 index 00000000..2d66c363 --- /dev/null +++ b/content/news/2024-08-12-oma-1.4.3.zh-cn.md @@ -0,0 +1,12 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.4.3 更新日志" +date: 2024-08-12T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +- 修复删除关键组件 (Essential) 软件包时未正确阻止用户的问题(感谢 @JeffBai 提交的问题报告) +- 修复 oma topics 进度条与提示信息显示不正确的问题 diff --git a/content/news/2024-08-12-oma-for-debian-and-ubuntu.md b/content/news/2024-08-12-oma-for-debian-and-ubuntu.md new file mode 100644 index 00000000..090cf2b5 --- /dev/null +++ b/content/news/2024-08-12-oma-for-debian-and-ubuntu.md @@ -0,0 +1,24 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) Debian 及 Ubuntu 版安装包发布" +date: 2024-08-12T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + + +自小熊猫包管理 (oma) 发布 1.3 版以来,结合安同 OS 方面引入 Spiral 兼容性标记的需要,我们一直致力于改善 oma 对 Debian 及 Ubuntu 软件源的支持;近期,我们也针对 Debian 系发行版有关 multiarch、软件源布局及签名算法方面的需要进行了针对性优化,如今的 oma 对这些发行版的支持已初步成熟 + +为方便使用 Debian 系发行版的朋友们安装 oma,我们从 1.4.3 版开始提供适用于如下发行版(及衍生版)的 .deb 包: + +- Debian 12 +- Debian 11 +- Ubuntu 24.04 LTS +- Ubuntu 22.04 LTS +- Ubuntu 20.04 LTS + +欢迎各位试用、反馈意见! + +[下载 oma 1.4.3 版 >> ](https://github.com/AOSC-Dev/oma/releases/tag/v1.4.3-with-deb-ci) diff --git a/content/news/2024-08-12-oma-for-debian-and-ubuntu.zh-cn.md b/content/news/2024-08-12-oma-for-debian-and-ubuntu.zh-cn.md new file mode 100644 index 00000000..090cf2b5 --- /dev/null +++ b/content/news/2024-08-12-oma-for-debian-and-ubuntu.zh-cn.md @@ -0,0 +1,24 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) Debian 及 Ubuntu 版安装包发布" +date: 2024-08-12T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + + +自小熊猫包管理 (oma) 发布 1.3 版以来,结合安同 OS 方面引入 Spiral 兼容性标记的需要,我们一直致力于改善 oma 对 Debian 及 Ubuntu 软件源的支持;近期,我们也针对 Debian 系发行版有关 multiarch、软件源布局及签名算法方面的需要进行了针对性优化,如今的 oma 对这些发行版的支持已初步成熟 + +为方便使用 Debian 系发行版的朋友们安装 oma,我们从 1.4.3 版开始提供适用于如下发行版(及衍生版)的 .deb 包: + +- Debian 12 +- Debian 11 +- Ubuntu 24.04 LTS +- Ubuntu 22.04 LTS +- Ubuntu 20.04 LTS + +欢迎各位试用、反馈意见! + +[下载 oma 1.4.3 版 >> ](https://github.com/AOSC-Dev/oma/releases/tag/v1.4.3-with-deb-ci) diff --git a/content/news/2024-08-15-aosc-os-for-loongarch-old-world.md b/content/news/2024-08-15-aosc-os-for-loongarch-old-world.md new file mode 100644 index 00000000..c41e7411 --- /dev/null +++ b/content/news/2024-08-15-aosc-os-for-loongarch-old-world.md @@ -0,0 +1,81 @@ +--- +categories: + - news + - advisories +title: "安同 OS 龙架构“旧世界”设备兼容方案正式发布" +date: 2024-08-15T12:00:00+08:00 +important: true +home: true +--- +![](/assets/news/breaking-the-world-boundary.jpg) +七月底,我们初步实现了在龙架构“旧世界”固件设备上启动新世界系统(如安同 OS)的引导器 (GRUB) 及内核方案,初步支持联想开天 M540z 及航天龙梦 ML5A 两款设备;在过去半个多月,我们继续对这一方案进行了验证测试、完善及规范化,并对四路 3C5000L 服务器(国光 GS6000L-4C5L)及卓宜恒通 L71 笔记本等“旧世界”设备进行了测试验证,实现了所有板载设备及外设的支持。 + +除正式支持在“旧世界”设备上正常启动、安装和使用外,安同 OS 还实现了“新世界”(如安同 OS、Loong Arch Linux、Yongbao 和 deepin)及“旧世界”(如 Loongnix 及 UOS)系统的多启动支持;结合 libLoL,两个“世界”的软硬件隔阂已被彻底打破,真正为用户实现了“新世界”与“旧世界”系统的选用及组合自由。 + +这一兼容方案的实现证明了“新世界”系统在软硬件兼容性上的显著优势,更是“新世界”系统用户友好性、用途兼容性和行业适用性的又一例证。 + +## 功能概览 + +上述方案通过三个方面增强了对“旧世界”软硬件生态的兼容性: + +- GRUB 引导器:新增从旧世界固件引导的支持 +- os-prober 多系统探测器:os-prober 新增对旧世界系统的探测功能,通过二段启动(链式启动,即 chainloading)载入旧世界引导器 +- Linux 内核:新增对“旧世界”固件内存映射、ACPI 表及中断控制器行为及参数的兼容性 + +## 硬件支持概览 + +经测试验证,本兼容方案支持如下设备: + +- 台式机:联想开天 M540z(龙芯 3A5000) +- 台式机:航天龙梦 ML5A(龙芯 3A5000) +- 笔记本:卓宜恒通 L71(龙芯 3A5000M) +- 笔记本:清华同方超锐 L860-T2(龙芯 3A5000M) +- 服务器:国光 GS6000L-4C5L(龙芯 3C5000L,四路) + +从技术指标上说,我们的引导器及内核兼容补丁支持 BPI01000 及 BPI01001 两版引导参数接口规范的支持,理论上可支持所有已知的、基于龙架构的“旧世界”龙芯三号设备;如果您持有其他型号的“旧世界”设备,欢迎您下载文末的安同 OS 安装盘并反馈测试结果。 + +目前,我们尚未验证基于“旧世界”EFI 固件的龙芯 2K2000 设备的支持。 + +## 系统支持概览 + +目前已有如下系统集成了引导器及内核的“旧世界”固件兼容补丁: + +- [安同 OS](https://website-2023.aosc.io/download) +- [deepin V23](https://www.deepin.org/zh/download/)(服务器支持将随后续更新提供) + +## 补丁下载 + +我们欢迎且强烈推荐各龙架构“新世界”系统维护者及开发商集成这一兼容方案,以期为龙架构用户提供入门及迁移的便利;该兼容方案通过对 GRUB、os-prober 及内核的修改实现,我们基于常用的主线版本整理了补丁,并确保了补丁内容规范整洁,达到准上游标准(但考虑到该实现的长期支持必要性尚不明确,暂无推进上游的计划,但对就推动这一工作进行协商讨论持开放态度) + +如下补丁一律可通过 git format-patch 命令,基于最近一个(分支)发布标签 (tag) 生成;如需基于 Linux 内核 6.11 分支生“旧世界”兼容补丁,按如下方法基于当前最新的 v6.11-rc3 标签操作生成即可(其他组件同理): +``` +git format-patch v6.11-rc3 +``` +### Linux 内核 + +- [6.11 测试分支](https://github.com/AOSC-Tracking/linux/tree/v6.11-ow) +- [6.10 稳定分支](https://github.com/AOSC-Tracking/linux/tree/v6.10-ow) +- [6.6 分支](https://github.com/AOSC-Tracking/linux/tree/v6.6-ow)(适用于需符合版本兼容规范的国产“新世界”系统) + +注:国产“新世界”系统需先剔除龙芯提交的 BPI 相关补丁,具体剔除列表可参考 deepin V23 近期合并该组补丁时的[修改列表](https://github.com/deepin-community/kernel/pull/356) + +### GRUB 引导器 + +- [2.12 版(上游源码)](https://github.com/AOSC-Tracking/grub/tree/grub-2.12-ow) +- [2.12 版(Debian 源码)](https://github.com/AOSC-Tracking/grub/tree/grub-2.12-ow-debian),适用于 deepin 及麒麟等国产桌面系统 + +注:Debian 源码版本为 [2.12-5](https://sources.debian.org/src/grub2/2.12-5/) + +### os-prober 多系统探测器 + +- [1.82 版](https://github.com/AOSC-Tracking/os-prober/tree/1.82-ow) + +## 参考资料 + +有关“新世界”与“旧世界”固件引导协议相关的技术性细节,我们推荐您阅读《咱龙了吗?》站点上的[《旧世界与新世界(底层细节)》](https://areweloongyet.com/docs/world-compat-details/)一文。 + +## 系统下载 + +近日发布的安同 OS 安装盘 (20240814) 已包含上述所有兼容特性,欢迎下载试用! + +[下载安装盘 >> ](https://releases.aosc.io/os-loongarch64/installer/aosc-os_installer_20240814_loongarch64.iso) diff --git a/content/news/2024-08-15-aosc-os-for-loongarch-old-world.zh-cn.md b/content/news/2024-08-15-aosc-os-for-loongarch-old-world.zh-cn.md new file mode 100644 index 00000000..c41e7411 --- /dev/null +++ b/content/news/2024-08-15-aosc-os-for-loongarch-old-world.zh-cn.md @@ -0,0 +1,81 @@ +--- +categories: + - news + - advisories +title: "安同 OS 龙架构“旧世界”设备兼容方案正式发布" +date: 2024-08-15T12:00:00+08:00 +important: true +home: true +--- +![](/assets/news/breaking-the-world-boundary.jpg) +七月底,我们初步实现了在龙架构“旧世界”固件设备上启动新世界系统(如安同 OS)的引导器 (GRUB) 及内核方案,初步支持联想开天 M540z 及航天龙梦 ML5A 两款设备;在过去半个多月,我们继续对这一方案进行了验证测试、完善及规范化,并对四路 3C5000L 服务器(国光 GS6000L-4C5L)及卓宜恒通 L71 笔记本等“旧世界”设备进行了测试验证,实现了所有板载设备及外设的支持。 + +除正式支持在“旧世界”设备上正常启动、安装和使用外,安同 OS 还实现了“新世界”(如安同 OS、Loong Arch Linux、Yongbao 和 deepin)及“旧世界”(如 Loongnix 及 UOS)系统的多启动支持;结合 libLoL,两个“世界”的软硬件隔阂已被彻底打破,真正为用户实现了“新世界”与“旧世界”系统的选用及组合自由。 + +这一兼容方案的实现证明了“新世界”系统在软硬件兼容性上的显著优势,更是“新世界”系统用户友好性、用途兼容性和行业适用性的又一例证。 + +## 功能概览 + +上述方案通过三个方面增强了对“旧世界”软硬件生态的兼容性: + +- GRUB 引导器:新增从旧世界固件引导的支持 +- os-prober 多系统探测器:os-prober 新增对旧世界系统的探测功能,通过二段启动(链式启动,即 chainloading)载入旧世界引导器 +- Linux 内核:新增对“旧世界”固件内存映射、ACPI 表及中断控制器行为及参数的兼容性 + +## 硬件支持概览 + +经测试验证,本兼容方案支持如下设备: + +- 台式机:联想开天 M540z(龙芯 3A5000) +- 台式机:航天龙梦 ML5A(龙芯 3A5000) +- 笔记本:卓宜恒通 L71(龙芯 3A5000M) +- 笔记本:清华同方超锐 L860-T2(龙芯 3A5000M) +- 服务器:国光 GS6000L-4C5L(龙芯 3C5000L,四路) + +从技术指标上说,我们的引导器及内核兼容补丁支持 BPI01000 及 BPI01001 两版引导参数接口规范的支持,理论上可支持所有已知的、基于龙架构的“旧世界”龙芯三号设备;如果您持有其他型号的“旧世界”设备,欢迎您下载文末的安同 OS 安装盘并反馈测试结果。 + +目前,我们尚未验证基于“旧世界”EFI 固件的龙芯 2K2000 设备的支持。 + +## 系统支持概览 + +目前已有如下系统集成了引导器及内核的“旧世界”固件兼容补丁: + +- [安同 OS](https://website-2023.aosc.io/download) +- [deepin V23](https://www.deepin.org/zh/download/)(服务器支持将随后续更新提供) + +## 补丁下载 + +我们欢迎且强烈推荐各龙架构“新世界”系统维护者及开发商集成这一兼容方案,以期为龙架构用户提供入门及迁移的便利;该兼容方案通过对 GRUB、os-prober 及内核的修改实现,我们基于常用的主线版本整理了补丁,并确保了补丁内容规范整洁,达到准上游标准(但考虑到该实现的长期支持必要性尚不明确,暂无推进上游的计划,但对就推动这一工作进行协商讨论持开放态度) + +如下补丁一律可通过 git format-patch 命令,基于最近一个(分支)发布标签 (tag) 生成;如需基于 Linux 内核 6.11 分支生“旧世界”兼容补丁,按如下方法基于当前最新的 v6.11-rc3 标签操作生成即可(其他组件同理): +``` +git format-patch v6.11-rc3 +``` +### Linux 内核 + +- [6.11 测试分支](https://github.com/AOSC-Tracking/linux/tree/v6.11-ow) +- [6.10 稳定分支](https://github.com/AOSC-Tracking/linux/tree/v6.10-ow) +- [6.6 分支](https://github.com/AOSC-Tracking/linux/tree/v6.6-ow)(适用于需符合版本兼容规范的国产“新世界”系统) + +注:国产“新世界”系统需先剔除龙芯提交的 BPI 相关补丁,具体剔除列表可参考 deepin V23 近期合并该组补丁时的[修改列表](https://github.com/deepin-community/kernel/pull/356) + +### GRUB 引导器 + +- [2.12 版(上游源码)](https://github.com/AOSC-Tracking/grub/tree/grub-2.12-ow) +- [2.12 版(Debian 源码)](https://github.com/AOSC-Tracking/grub/tree/grub-2.12-ow-debian),适用于 deepin 及麒麟等国产桌面系统 + +注:Debian 源码版本为 [2.12-5](https://sources.debian.org/src/grub2/2.12-5/) + +### os-prober 多系统探测器 + +- [1.82 版](https://github.com/AOSC-Tracking/os-prober/tree/1.82-ow) + +## 参考资料 + +有关“新世界”与“旧世界”固件引导协议相关的技术性细节,我们推荐您阅读《咱龙了吗?》站点上的[《旧世界与新世界(底层细节)》](https://areweloongyet.com/docs/world-compat-details/)一文。 + +## 系统下载 + +近日发布的安同 OS 安装盘 (20240814) 已包含上述所有兼容特性,欢迎下载试用! + +[下载安装盘 >> ](https://releases.aosc.io/os-loongarch64/installer/aosc-os_installer_20240814_loongarch64.iso) diff --git a/content/news/2024-08-15-back-to-repology.md b/content/news/2024-08-15-back-to-repology.md new file mode 100644 index 00000000..9380acb1 --- /dev/null +++ b/content/news/2024-08-15-back-to-repology.md @@ -0,0 +1,18 @@ +--- +categories: + - news +title: "安同 OS 重返系统软件包版本监测网站 Repology" +date: 2024-08-15T12:00:00+08:00 +important: true +home: true +--- +![](/assets/news/repology.png) + + +相信关注 Linux 发行版与软件包更新的朋友们对 [Repology](https://repology.org/) 大概不会陌生,但也许您也发现了安同 OS 一直缺席这一网站的监测仓库列表;实际上,安同 OS 曾经在 Repology 的监测列表上,但由于系统软件包信息站年久失修,Repology 决定暂停监测安同 OS 的仓库。 + +虽然近几个月以来,在[陈嘉杰](https://github.com/jiegec)、[杨欣辉](https://github.com/Cyanoxygen)、[傅孝元](https://github.com/eatradish)等人的努力下软件包站重新恢复了服务,但一部分数据库结构并未完成迁移,Repology 上线条件并不充分;为改变这一现状并方便用户和维护者查阅安同 OS 的相对维护与更新状态,近日,[张丙戊](https://github.com/xtexChooser)及[杨欣辉](https://github.com/Cyanoxygen)在修复仓库元数据库收集工具 [abbs-meta-rs](https://github.com/AOSC-Dev/abbs-meta-rs) 后,重新向 Repology 提交了监测请求并提交了[监测配置](https://github.com/repology/repology-updater/pull/1418)并已成功受上游接纳;至此,安同 OS 正式重返 Repology 的监测列表。 + +欢迎感兴趣的朋友们关注 Repology 上安同 OS 的更新维护状态数据,并向我们反馈潜在问题与关切。 + +[Repology 上的安同 OS 主页 >>](https://repology.org/repository/aosc) diff --git a/content/news/2024-08-15-back-to-repology.zh-cn.md b/content/news/2024-08-15-back-to-repology.zh-cn.md new file mode 100644 index 00000000..9380acb1 --- /dev/null +++ b/content/news/2024-08-15-back-to-repology.zh-cn.md @@ -0,0 +1,18 @@ +--- +categories: + - news +title: "安同 OS 重返系统软件包版本监测网站 Repology" +date: 2024-08-15T12:00:00+08:00 +important: true +home: true +--- +![](/assets/news/repology.png) + + +相信关注 Linux 发行版与软件包更新的朋友们对 [Repology](https://repology.org/) 大概不会陌生,但也许您也发现了安同 OS 一直缺席这一网站的监测仓库列表;实际上,安同 OS 曾经在 Repology 的监测列表上,但由于系统软件包信息站年久失修,Repology 决定暂停监测安同 OS 的仓库。 + +虽然近几个月以来,在[陈嘉杰](https://github.com/jiegec)、[杨欣辉](https://github.com/Cyanoxygen)、[傅孝元](https://github.com/eatradish)等人的努力下软件包站重新恢复了服务,但一部分数据库结构并未完成迁移,Repology 上线条件并不充分;为改变这一现状并方便用户和维护者查阅安同 OS 的相对维护与更新状态,近日,[张丙戊](https://github.com/xtexChooser)及[杨欣辉](https://github.com/Cyanoxygen)在修复仓库元数据库收集工具 [abbs-meta-rs](https://github.com/AOSC-Dev/abbs-meta-rs) 后,重新向 Repology 提交了监测请求并提交了[监测配置](https://github.com/repology/repology-updater/pull/1418)并已成功受上游接纳;至此,安同 OS 正式重返 Repology 的监测列表。 + +欢迎感兴趣的朋友们关注 Repology 上安同 OS 的更新维护状态数据,并向我们反馈潜在问题与关切。 + +[Repology 上的安同 OS 主页 >>](https://repology.org/repository/aosc) diff --git a/content/news/2024-08-15-oma-1.5.2.md b/content/news/2024-08-15-oma-1.5.2.md new file mode 100644 index 00000000..74814c95 --- /dev/null +++ b/content/news/2024-08-15-oma-1.5.2.md @@ -0,0 +1,22 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.5.2 更新日志" +date: 2024-08-15T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +- 新增通过检测终端背景色自动调整 oma 输出配色的功能,修复在亮色主题下显示对比度不足的问题 +- 重新设计了 command-not-found(未知命令提示)的输出 +- 修复在未支持语言环境下运行 oma,某些界面打开时会崩溃的问题 +- 修复 oma remove 审阅界面中“大小” 误写为 “版本号” 的问题(感谢 @OriginCode 提交修复!) +- 修复当测试源数据同步不完整(如测试源文件夹存在,但内容不存在)时,oma 会误认为测试源可用的问题 +- 在主配置文件 oma.toml 中添加了 follow_terminal_color 参数:当该值设置为 true 时,oma 的彩色输出显示跟随终端主题配色 + +安同 OS 用户可通过更新系统获取 oma 1.5.2 版,Debian、Ubuntu 及衍生版用户亦可通过下方链接下载 1.5.2 版的安装包 + +[下载 Debian/Ubuntu 版 oma >>](https://github.com/AOSC-Dev/oma/releases/tag/v1.5.2) + +![演示:根据终端背景自动调节配色](/assets/news/oma-1.5-termbg.mp4) diff --git a/content/news/2024-08-15-oma-1.5.2.zh-cn.md b/content/news/2024-08-15-oma-1.5.2.zh-cn.md new file mode 100644 index 00000000..74814c95 --- /dev/null +++ b/content/news/2024-08-15-oma-1.5.2.zh-cn.md @@ -0,0 +1,22 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.5.2 更新日志" +date: 2024-08-15T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +- 新增通过检测终端背景色自动调整 oma 输出配色的功能,修复在亮色主题下显示对比度不足的问题 +- 重新设计了 command-not-found(未知命令提示)的输出 +- 修复在未支持语言环境下运行 oma,某些界面打开时会崩溃的问题 +- 修复 oma remove 审阅界面中“大小” 误写为 “版本号” 的问题(感谢 @OriginCode 提交修复!) +- 修复当测试源数据同步不完整(如测试源文件夹存在,但内容不存在)时,oma 会误认为测试源可用的问题 +- 在主配置文件 oma.toml 中添加了 follow_terminal_color 参数:当该值设置为 true 时,oma 的彩色输出显示跟随终端主题配色 + +安同 OS 用户可通过更新系统获取 oma 1.5.2 版,Debian、Ubuntu 及衍生版用户亦可通过下方链接下载 1.5.2 版的安装包 + +[下载 Debian/Ubuntu 版 oma >>](https://github.com/AOSC-Dev/oma/releases/tag/v1.5.2) + +![演示:根据终端背景自动调节配色](/assets/news/oma-1.5-termbg.mp4) diff --git a/content/news/2024-08-20-coffee-break.md b/content/news/2024-08-20-coffee-break.md new file mode 100644 index 00000000..a90d564d --- /dev/null +++ b/content/news/2024-08-20-coffee-break.md @@ -0,0 +1,271 @@ +--- +categories: + - journals +title: "安记冰室・八月上 | 一周年特辑" +date: 2024-08-20T23:00:00+08:00 +important: false + +--- + + + +> “蜂蜜春砂仁!” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +《安记冰室》开业一周年! +-------- + +![《安记冰室》是我社的主要外宣工程之一](/assets/news/coffee-break/20240818/imgs/biweeklys-slim.png) + +一年前,社区恢复外宣的主要工程之一《安记冰室》发布了创刊号。此后,《冰室》以半月刊的形式,对社区工作、活动及项目进展等进行概括性的报道,以多栏目板块的形式帮助用户索引其所关注的内容。年初改版时,又特别引入了“开发者角”栏目,面向开发者,尤其是社区贡献者群体提供信息参考,以便新老人员尽快了解工作流及工具链方面的变化。从信息呈现策略上说,《冰室》着重于在介绍“发生了什么”之余,向读者介绍和解释其与每条新闻和各工具使用、活动参与等方面的具体联系。 + +从创刊至今,《冰室》已报道过百条社区新闻,在此过程中,愈发多的读者和用户了解到了社区的工作方式和成果;在转发传阅的过程中,不仅让我们收获了更多关注、吸引到了更多贡献者,在用户及贡献者群体不断扩大的过程中,我们也吸收到了许多新信息、新想法和新批评。因此,《冰室》不只是社区的主要外宣窗口,也是社区与尚未熟悉的朋友们接触的主要界面之一。 + +此外,通过展示各项工作背后具体鲜活的个人,《冰室》还希望在扩大社区知名度和行业认可的同时,为各位贡献者辛勤劳动的历程与成果提供展示平台,并留下具体记录。相信这在贡献者们体现个人价值、扩展人脉和就业发展等方面都会有具体和切实的积极意义。 + +总而言之,《冰室》是改善我社内外沟通透明度、扩展影响力和协助贡献者专业发展的工具与平台。在一周年之际,感谢各位社区同事不厌其烦地参与供稿、审稿与发布工作,在丰富社区工作内容与参与途径之余,为社区的发展留下清晰的印记,为埋头苦干的志愿者们欢呼鼓舞。 + +— 白铭骢,2024 年 8 月 18 日 + +社区脉动 +-------- + +### AOSCC 2024 会务满意度调查 + +![AOSCC 2024 的顺利举办离不开各位讲者、志愿者和与会者的配合协作](/assets/news/coffee-break/20240818/imgs/aoscc-2024.jpg) + +本届 AOSCC 是安同开源社区自创办以来参与人数最多、讲者最多、主题最丰富的一届。本届 AOSCC 得以顺利举办离不开大家的努力配合,感谢各位! + +为更好地筹备下一届聚会,我们设计了《AOSCC 会务满意度调查》,以收集与会者的感受、意见和匹配,敬请各位填答!问卷包含参会方式、宣传、选址、会场环境、议程、交通等多个方面,以期尽可能多地收集多方面、多视角的与会者反馈。 + +[填写会务满意度调查 >>](https://www.wjx.cn/vm/PVelmw8.aspx) + +### 安同 OS 软件包树 (aosc-os-abbs) 喜迎第十万个提交! + +![十万个提交,十万步脚印](/assets/news/coffee-break/20240818/imgs/hundred-thousandth-slim.png) + +安同 OS 使用 Git 管理软件包源码配置已有近十年历史。今天,随着 Visual Studio Code 1.92.1 的合入,软件包树 [aosc-os-abbs](https://github.com/AOSC-Dev/aosc-os-abbs) 迎来了[第十万个提交](https://github.com/AOSC-Dev/aosc-os-abbs/commit/d56c6d0636193b2f48ba9f573393c0467c58806c)。 + +一步一脚印,安同 OS 始终坚持为用户提供简明、可靠和舒心的工作环境。 + +系统快讯 +-------- + +### oma 1.6 发布:发布 Debian/Ubuntu 安装包,界面、兼容性双升级 + +![oma 1.6 特性更新发布:界面、兼容性双升级](/assets/news/coffee-break/20240818/imgs/oma-slim.png) + +近日,[傅孝元](https://github.com/eatradish)发布了小熊猫包管理 (oma) 的 1.6 版,在修复数个兼容性问题的同时,对一部分界面进行了调优,也改善了诸如 Windows Terminal 及 TTY 等环境下的使用体验。此外,oma 1.6 还发行了针对 Debian 及 Ubuntu 的 .deb 安装包,方便用户安装使用;具体来说,oma 支持如下版本的 Debian 和 Ubuntu: + +- Debian 12 +- Debian 11 +- Ubuntu 24.04 LTS +- Ubuntu 22.04 LTS +- Ubuntu 20.04 LTS + +相对于先前的 oma 1.3 系列,oma 1.6 版包含如下主要特性: + +- 探测终端背景并自动调整界面配色,确保各种终端配色下 oma 界面的对比度 +- 重新设计了 command-not-found 界面,用表格形式更清晰地呈现安装建议 +- 优化 `oma install --reinstall` 行为,在指定 `--reinstall` 参数时自动补全“推荐 (Recommends)”级别的依赖 +- 更改 `oma install` 的默认行为,取消了 `fix-broken`(自动修复依赖问题)行为,修复了安装冲突包时未正确报告依赖错误的问题 +- 修缮简单软件源 (flat repository) 的刷新支持,行为上与 APT 无限接近 +- 新增 oma 测试源管理器 (`oma topics`) 对 `file:/` 与 `file:///` 协议的支持 +- 修整了进度条布局对齐,下载界面更为整洁 +- 新增在无 256 色的终端环境下使用标准终端主题(16 色)配色的支持 + +您也许会对 oma 的版本变化之大有所惊讶,实际上这是我们调整了 oma 版本发布规范的结果,详请见下文[“oma 发布贡献者指南”](#oma-发布贡献者指南)一节。 + +### 安同 OS 重返系统软件包版本监测网站 Repology + +![Repology 上的安同 OS 主页](/assets/news/coffee-break/20240818/imgs/repology-aosc.png) + +相信关注 Linux 发行版与软件包更新的朋友们对 [Repology](https://repology.org/) 大概不会陌生,但也许您也发现了安同 OS 一直缺席这一网站的监测仓库列表;实际上,安同 OS 曾经在 Repology 的监测列表上,但由于系统软件包信息站年久失修,Repology 决定暂停监测安同 OS 的仓库 + +虽然近几个月以来,在[陈嘉杰](https://github.com/jiegec)、[杨欣辉](https://github.com/Cyanoxygen)、[傅孝元](https://github.com/eatradish)等人的努力下软件包站重新恢复了服务,但一部分数据库结构并未完成迁移,Repology 上线条件并不充分;为改变这一现状并方便用户和维护者查阅安同 OS 的相对维护与更新状态,近日,[张丙戊](https://github.com/xtexChooser)及[杨欣辉](https://github.com/Cyanoxygen)在修复仓库元数据库收集工具 [abbs-meta-rs](https://github.com/AOSC-Dev/abbs-meta-rs) 后,重新向 Repology 提交了监测请求并[提交了监测配置](https://github.com/repology/repology-updater/pull/1418)并已成功受上游接纳;至此,安同 OS 正式重返 Repology 的监测列表 + +欢迎感兴趣的朋友们关注 Repology 上安同 OS 的更新维护状态数据,并向我们反馈潜在问题与关切 + +[Repology 上的安同 OS 主页 >>](https://repology.org/repository/aosc) + +### 依赖调优、加强保险:安同 OS 系统套件与关键组件更新发布 + +![系统套件与关键组件更新可大幅度提高安同 OS 的可定制性和可靠性](/assets/news/coffee-break/20240818/imgs/oma-confirm.png) + +作为一个量大料足的“塞爆”发行版,安同 OS 虽然通过充分标记依赖简化了软件包和环境的部署流程,但长久以来在依赖标记上的矫枉过正和僵化也广受用户诟病——用户往往会遇到卸载系统预装软件时连带卸载桌面环境乃至系统组件的问题,造成了较大困扰。 + +日前,我们推送了一大批针对预装软件包和软件包组 (`*-base`) 的更新,将不必要的软件包降级为了“推荐依赖 (Recommends)”(即默认安装但允许删除)。这样一来,用户朋友们就可以随意卸载自己不需要的应用程序而不至于陷入“依赖地狱”了。 + +同时,我们还将一部分基础包标记为“关键组件 (Essential)”,原则上不允许用户卸载。如果用户尝试删除这些包时,oma 将如下例报错,除非用户指定额外选项,oma 将保护这些关键组件: + +``` +ERROR 软件包 networkmanager 是不允许删除的关键组件。 +``` + +降低依赖硬度和标记关键组件两个更改双管齐下,此次的更新为安同 OS 的系统组件提供了基本安全网:用户可更灵活地根据自己的需要和喜好卸载不需要的软件,且在很大程度上杜绝了不可逆的“卸穿”系统的意外(我们标记的关键组件可供用户运行 `oma undo` 等方式,将系统恢复到原先的状态)。 + +### 打破隔阂:安同 OS 正式推出“旧世界”固件兼容性更新 + +![联想开天 M540z(最早的龙芯 3A5000 整机之一)运行安同 OS](/assets/news/coffee-break/20240818/imgs/breaking-the-world-boundary.jpg) + +安同 OS 龙架构 (LoongArch) 版本的一大工作重点便是解决架构专属生态历史性的隔阂:“新世界”和“旧世界”。 + +这一隔阂由固件而上,将 ACPI/DT 外设管理、引导器、内核,乃至桌面应用程序等方面的兼容性一分为二。分裂的生态不仅让初次接触龙架构硬件的用户晕头转向,就算是长期参与龙架构系统与应用开发的朋友和同事们也难免感到无奈。“什么硬件可以用怎样的系统和哪些软件”这样的三向组合问题,便是龙架构用户生态发展的一大难题。 + +年初,[王邈](https://github.com/shankerwangmiao)(“坏人”)发布了 [libLoL](https://liblol.aosc.io/) “旧世界”应用程序兼容层,使得用户可以在“新世界”系统上运行当前依然大量流通的“旧世界”商用应用程序(如 WPS 和 QQ、微信等),打通了应用程序层面上的“世界墙”。在解决应用程序层面的兼容难题后,[王邈](https://github.com/shankerwangmiao)便将目光转向应用生态以下的固件与引导兼容问题。 + +七月底,[王邈](https://github.com/shankerwangmiao)与[白铭骢](https://github.com/MingcongBai)等人从引导器 (GRUB) 及内核层面着手实现了“旧世界”固件兼容性,并调整了管理界面,方便用户们双启动“新世界”(如安同 OS、deepin 和 Loong Arch Linux)和“旧世界”(如 Loongnix 和统信 UOS)操作系统。这兼容性方案已在多款龙芯三号设备验证通过: + +- 台式机:联想开天 M540z(龙芯 3A5000) +- 台式机:航天龙梦 ML5A(龙芯 3A5000) +- 笔记本:卓宜恒通 L71(龙芯 3A5000M) +- 笔记本:清华同方超锐 L860-T2(龙芯 3A5000M) +- 服务器:国光 GS6000L-4C5L(龙芯 3C5000L,四路) + +根据上述测试结果,我们相信所有龙芯三号“旧世界”设备已可以正常启动安同 OS 等新世界操作系统。此外,安同 OS 的 20240801 版安装盘及 deepin V23 正式版已集成该兼容方案。 + +考虑到这一方案可大大降低用户支持成本,并方便用户更自由地选用适合自己经济与性能需要的龙架构设备,我们欢迎且强烈推荐各龙架构“新世界”系统维护者及开发商集成这一兼容方案。为此,[白铭骢](https://github.com/MingcongBai)编写了“旧世界”设备兼容方案的发行注记,欢迎查阅参考。 + +[“旧世界”设备兼容方案发行注记 >>](/assets/news/coffee-break/20240818/loongarch64-ow-support.md) + +开发者角 +-------- + +### 修订记录透明化:《测试源内软件包迭代版本规范》开始实施 + +长期以来,在测试源 (topic) 内修订软件包及从测试源到稳定源 (stable) 推送更新的流程中存在修订历史不清的问题。这一问题也会为参与测试的用户和维护者带来困扰:由于未使用软件包版本标记修订且多次同版本覆盖软件包,用户及开发者往往无法正确接收软件更新推送(因为 APT 更新检查逻辑查验的软件包版本甚至大小都可能未发生变化)。 + +目前的工作流中出现此种同版本覆盖的场景主要有如下两种: + +- 重复推送在测试过程中多次修订的软件包 +- 测试源合并时推送稳定源更新 + +《测试源内软件包迭代版本规范》通过设计一套针对预发布软件包修订版本标注的规范解决上述问题,让测试流程及稳定源推送前后各软件包修订都得到充分标注。 + +[查阅《测试源内软件包迭代版本规范》正文 >>](https://wiki.aosc.io/zh/developer/packaging/topic-version-suffix/) + +### oma 发布《贡献者指南》 + +日前,[傅孝元](https://github.com/eatradish)与[白铭骢](https://github.com/MingcongBai)编写发布了 oma 的贡献者指南,指引社区好友高效参与 oma 开发与测试。 + +同时,该指南为更清晰地标记和管理 oma 的版本更新,重新定义了版本分支规则,在继续沿用 `x.y.z` 三段式版本号的基础上,重新定义各版本位的意义: + +- `x`:重大特性更新(如功能重构、新界面设计等) +- `y`:特性更新(小范围界面修缮、行为变化等,如此次修改的测试源刷新逻辑、进度条和 `--no-refresh-topics` 参数) +- `z`:问题修复 + +此外,贡献者指南还将 oma 先前的双分支开发策略改为双分支 + 多特性分支模式(类似安同 OS 的测试主题制): + +- `master` 分支承接同一 `x` 版本系列的更新,任何新特性都以单独的“主题”分支提交合并 +- `next` 面向下一 `x` 版本系列的更新,其余与 `master` 同理 + +[查阅《oma 贡献者指南》正文 >>](https://github.com/AOSC-Dev/oma/blob/master/CONTRIBUTING.md) + +### 统一界面、优化性能:Ciel 及 ACBS 改用 oma 包管理界面 + +考虑到 oma 目前功能与使用方式已基本成熟,也实现了完整的无交互使用模式,[傅孝元](https://github.com/eatradish)将安同 OS 构建容器管理器 [Ciel](https://github.com/AOSC-Dev/ciel-rs) 及软件包构建脚本管理器 [ACBS](https://github.com/AOSC-Dev/acbs) 中使用的包管理前端更改为 oma。这一更改可提高构建环境的搭建速度,还可以在很大程度上验证 oma 在生产环境中的可用性情况。 + +如果您在使用 oma 管理 Ciel 工作区及使用 ACBS 构建系统软件包时遇到问题或有任何建议,欢迎通过下文“联系我们”中的聊天群组与我们联系,抑或直接向 oma 提交[问题报告](https://github.com/AOSC-Dev/oma/issues/new)。 + +### 数据工程:ACBS 引入 .srcinfo.json 元数据生成功能 + +考虑到[软件包信息站](https://packages.aosc.io)对 Autobuild 软件包信息格式 [APML](https://wiki.aosc.io/developer/automation/apml/) 的解析功能较弱且在解析 Bash 脚本时有实际困难,一些依赖条件较为复杂的软件包信息页会误报不少变量错误,[傅孝元](https://github.com/eatradish)为 [ACBS](https://github.com/AOSC-Dev/acbs) 加入了通过 `autobuild -p` 一键生成 JSON 格式元数据的功能,以期改善与[软件包信息站](https://packages.aosc.io)的互操作性。 + +我们计划在近期对 ABBS 树中的所有软件包进行一次性数据生成,并后续实现 CI 流程,为每一个合并请求 (Pull Request) 自动生成和更新相关数据。 + +### abbs-update-checksum 0.2.1 版发布:调整下载线程数、增强 CHKSUMS 改写功能 + +近日,软件包源码校验和更新工具 [abbs-update-checksum](https://github.com/AOSC-Dev/abbs-update-checksum) 发布了 0.2.1 版,将默认下载线程数改为 4 个(先前无限制,可能造成连通性不可靠的问题),还修复 `SRCS`/`CHKSUMS` 条目数量不一致时未正确报错的问题。 + +### 软件包信息站 (packages-site-rs) 修复软件包 JSON 数据生成器 + +为恢复安同 OS 在 [Repology](https://repology.org/) 上的信息监控,[张丙戊](https://github.com/xtexChooser)修复了[软件包信息站](https://packages.aosc.io/)中全仓库软件包数据 JSON 文件的生成功能,方便各 API 客户端使用。 + +[安同 OS 全仓库软件包 JSON 数据 >>](https://packages.aosc.io/list.json) + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [Arkadi Shishlov](https://github.com/arkadijs) +- [salieri](https://github.com/BC204) +- [Henry Chen](https://github.com/chenx97) +- [柴天浩](https://github.com/cthbleachbit) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [Harry Chen](https://github.com/Harry-Chen) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [王翔 (KatyushaScarlet)](https://github.com/KatyushaScarlet) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [ouankou](https://github.com/ouankou) +- [bubu](https://github.com/p3psi-boo) +- [王江津](https://github.com/RedL0tus) +- [rickliu2000](https://github.com/rickliu2000) +- [王邈](https://github.com/shankerwangmiao) +- [skybird](https://github.com/SkyBird233) +- [Student Main](https://github.com/stdmnpkg) +- [Suyun](https://github.com/Suyun114) +- [温柔](https://github.com/xunpod) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [lwzheng](https://github.com/lwzhenglittle) +- [日落果](https://github.com/purofle) +- [梓瑶](https://github.com/ziyao233) + +一起吹水 +-------- + +
+ 点此查看进群说明,一起吹水玩耍吧~ + +互联网是我社的主要活动场所,欢迎来社区各群聊及语音频道交流玩耍: + +### 微信群 + +请扫描此二维码添加好友**并说明来意:申请加入 AOSC 社区频道。** + +![wechat](/assets/wechat.png) + +### QQ 群 + +![qq](/assets/qq.jpg) + +### Telegram 群组 + +![telegram](/assets/telegram.png) + +### Discord 语音频道 + +![discord](/assets/discord.png) +
+ +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-08-20-coffee-break.zh-cn.md b/content/news/2024-08-20-coffee-break.zh-cn.md new file mode 100644 index 00000000..a90d564d --- /dev/null +++ b/content/news/2024-08-20-coffee-break.zh-cn.md @@ -0,0 +1,271 @@ +--- +categories: + - journals +title: "安记冰室・八月上 | 一周年特辑" +date: 2024-08-20T23:00:00+08:00 +important: false + +--- + + + +> “蜂蜜春砂仁!” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +《安记冰室》开业一周年! +-------- + +![《安记冰室》是我社的主要外宣工程之一](/assets/news/coffee-break/20240818/imgs/biweeklys-slim.png) + +一年前,社区恢复外宣的主要工程之一《安记冰室》发布了创刊号。此后,《冰室》以半月刊的形式,对社区工作、活动及项目进展等进行概括性的报道,以多栏目板块的形式帮助用户索引其所关注的内容。年初改版时,又特别引入了“开发者角”栏目,面向开发者,尤其是社区贡献者群体提供信息参考,以便新老人员尽快了解工作流及工具链方面的变化。从信息呈现策略上说,《冰室》着重于在介绍“发生了什么”之余,向读者介绍和解释其与每条新闻和各工具使用、活动参与等方面的具体联系。 + +从创刊至今,《冰室》已报道过百条社区新闻,在此过程中,愈发多的读者和用户了解到了社区的工作方式和成果;在转发传阅的过程中,不仅让我们收获了更多关注、吸引到了更多贡献者,在用户及贡献者群体不断扩大的过程中,我们也吸收到了许多新信息、新想法和新批评。因此,《冰室》不只是社区的主要外宣窗口,也是社区与尚未熟悉的朋友们接触的主要界面之一。 + +此外,通过展示各项工作背后具体鲜活的个人,《冰室》还希望在扩大社区知名度和行业认可的同时,为各位贡献者辛勤劳动的历程与成果提供展示平台,并留下具体记录。相信这在贡献者们体现个人价值、扩展人脉和就业发展等方面都会有具体和切实的积极意义。 + +总而言之,《冰室》是改善我社内外沟通透明度、扩展影响力和协助贡献者专业发展的工具与平台。在一周年之际,感谢各位社区同事不厌其烦地参与供稿、审稿与发布工作,在丰富社区工作内容与参与途径之余,为社区的发展留下清晰的印记,为埋头苦干的志愿者们欢呼鼓舞。 + +— 白铭骢,2024 年 8 月 18 日 + +社区脉动 +-------- + +### AOSCC 2024 会务满意度调查 + +![AOSCC 2024 的顺利举办离不开各位讲者、志愿者和与会者的配合协作](/assets/news/coffee-break/20240818/imgs/aoscc-2024.jpg) + +本届 AOSCC 是安同开源社区自创办以来参与人数最多、讲者最多、主题最丰富的一届。本届 AOSCC 得以顺利举办离不开大家的努力配合,感谢各位! + +为更好地筹备下一届聚会,我们设计了《AOSCC 会务满意度调查》,以收集与会者的感受、意见和匹配,敬请各位填答!问卷包含参会方式、宣传、选址、会场环境、议程、交通等多个方面,以期尽可能多地收集多方面、多视角的与会者反馈。 + +[填写会务满意度调查 >>](https://www.wjx.cn/vm/PVelmw8.aspx) + +### 安同 OS 软件包树 (aosc-os-abbs) 喜迎第十万个提交! + +![十万个提交,十万步脚印](/assets/news/coffee-break/20240818/imgs/hundred-thousandth-slim.png) + +安同 OS 使用 Git 管理软件包源码配置已有近十年历史。今天,随着 Visual Studio Code 1.92.1 的合入,软件包树 [aosc-os-abbs](https://github.com/AOSC-Dev/aosc-os-abbs) 迎来了[第十万个提交](https://github.com/AOSC-Dev/aosc-os-abbs/commit/d56c6d0636193b2f48ba9f573393c0467c58806c)。 + +一步一脚印,安同 OS 始终坚持为用户提供简明、可靠和舒心的工作环境。 + +系统快讯 +-------- + +### oma 1.6 发布:发布 Debian/Ubuntu 安装包,界面、兼容性双升级 + +![oma 1.6 特性更新发布:界面、兼容性双升级](/assets/news/coffee-break/20240818/imgs/oma-slim.png) + +近日,[傅孝元](https://github.com/eatradish)发布了小熊猫包管理 (oma) 的 1.6 版,在修复数个兼容性问题的同时,对一部分界面进行了调优,也改善了诸如 Windows Terminal 及 TTY 等环境下的使用体验。此外,oma 1.6 还发行了针对 Debian 及 Ubuntu 的 .deb 安装包,方便用户安装使用;具体来说,oma 支持如下版本的 Debian 和 Ubuntu: + +- Debian 12 +- Debian 11 +- Ubuntu 24.04 LTS +- Ubuntu 22.04 LTS +- Ubuntu 20.04 LTS + +相对于先前的 oma 1.3 系列,oma 1.6 版包含如下主要特性: + +- 探测终端背景并自动调整界面配色,确保各种终端配色下 oma 界面的对比度 +- 重新设计了 command-not-found 界面,用表格形式更清晰地呈现安装建议 +- 优化 `oma install --reinstall` 行为,在指定 `--reinstall` 参数时自动补全“推荐 (Recommends)”级别的依赖 +- 更改 `oma install` 的默认行为,取消了 `fix-broken`(自动修复依赖问题)行为,修复了安装冲突包时未正确报告依赖错误的问题 +- 修缮简单软件源 (flat repository) 的刷新支持,行为上与 APT 无限接近 +- 新增 oma 测试源管理器 (`oma topics`) 对 `file:/` 与 `file:///` 协议的支持 +- 修整了进度条布局对齐,下载界面更为整洁 +- 新增在无 256 色的终端环境下使用标准终端主题(16 色)配色的支持 + +您也许会对 oma 的版本变化之大有所惊讶,实际上这是我们调整了 oma 版本发布规范的结果,详请见下文[“oma 发布贡献者指南”](#oma-发布贡献者指南)一节。 + +### 安同 OS 重返系统软件包版本监测网站 Repology + +![Repology 上的安同 OS 主页](/assets/news/coffee-break/20240818/imgs/repology-aosc.png) + +相信关注 Linux 发行版与软件包更新的朋友们对 [Repology](https://repology.org/) 大概不会陌生,但也许您也发现了安同 OS 一直缺席这一网站的监测仓库列表;实际上,安同 OS 曾经在 Repology 的监测列表上,但由于系统软件包信息站年久失修,Repology 决定暂停监测安同 OS 的仓库 + +虽然近几个月以来,在[陈嘉杰](https://github.com/jiegec)、[杨欣辉](https://github.com/Cyanoxygen)、[傅孝元](https://github.com/eatradish)等人的努力下软件包站重新恢复了服务,但一部分数据库结构并未完成迁移,Repology 上线条件并不充分;为改变这一现状并方便用户和维护者查阅安同 OS 的相对维护与更新状态,近日,[张丙戊](https://github.com/xtexChooser)及[杨欣辉](https://github.com/Cyanoxygen)在修复仓库元数据库收集工具 [abbs-meta-rs](https://github.com/AOSC-Dev/abbs-meta-rs) 后,重新向 Repology 提交了监测请求并[提交了监测配置](https://github.com/repology/repology-updater/pull/1418)并已成功受上游接纳;至此,安同 OS 正式重返 Repology 的监测列表 + +欢迎感兴趣的朋友们关注 Repology 上安同 OS 的更新维护状态数据,并向我们反馈潜在问题与关切 + +[Repology 上的安同 OS 主页 >>](https://repology.org/repository/aosc) + +### 依赖调优、加强保险:安同 OS 系统套件与关键组件更新发布 + +![系统套件与关键组件更新可大幅度提高安同 OS 的可定制性和可靠性](/assets/news/coffee-break/20240818/imgs/oma-confirm.png) + +作为一个量大料足的“塞爆”发行版,安同 OS 虽然通过充分标记依赖简化了软件包和环境的部署流程,但长久以来在依赖标记上的矫枉过正和僵化也广受用户诟病——用户往往会遇到卸载系统预装软件时连带卸载桌面环境乃至系统组件的问题,造成了较大困扰。 + +日前,我们推送了一大批针对预装软件包和软件包组 (`*-base`) 的更新,将不必要的软件包降级为了“推荐依赖 (Recommends)”(即默认安装但允许删除)。这样一来,用户朋友们就可以随意卸载自己不需要的应用程序而不至于陷入“依赖地狱”了。 + +同时,我们还将一部分基础包标记为“关键组件 (Essential)”,原则上不允许用户卸载。如果用户尝试删除这些包时,oma 将如下例报错,除非用户指定额外选项,oma 将保护这些关键组件: + +``` +ERROR 软件包 networkmanager 是不允许删除的关键组件。 +``` + +降低依赖硬度和标记关键组件两个更改双管齐下,此次的更新为安同 OS 的系统组件提供了基本安全网:用户可更灵活地根据自己的需要和喜好卸载不需要的软件,且在很大程度上杜绝了不可逆的“卸穿”系统的意外(我们标记的关键组件可供用户运行 `oma undo` 等方式,将系统恢复到原先的状态)。 + +### 打破隔阂:安同 OS 正式推出“旧世界”固件兼容性更新 + +![联想开天 M540z(最早的龙芯 3A5000 整机之一)运行安同 OS](/assets/news/coffee-break/20240818/imgs/breaking-the-world-boundary.jpg) + +安同 OS 龙架构 (LoongArch) 版本的一大工作重点便是解决架构专属生态历史性的隔阂:“新世界”和“旧世界”。 + +这一隔阂由固件而上,将 ACPI/DT 外设管理、引导器、内核,乃至桌面应用程序等方面的兼容性一分为二。分裂的生态不仅让初次接触龙架构硬件的用户晕头转向,就算是长期参与龙架构系统与应用开发的朋友和同事们也难免感到无奈。“什么硬件可以用怎样的系统和哪些软件”这样的三向组合问题,便是龙架构用户生态发展的一大难题。 + +年初,[王邈](https://github.com/shankerwangmiao)(“坏人”)发布了 [libLoL](https://liblol.aosc.io/) “旧世界”应用程序兼容层,使得用户可以在“新世界”系统上运行当前依然大量流通的“旧世界”商用应用程序(如 WPS 和 QQ、微信等),打通了应用程序层面上的“世界墙”。在解决应用程序层面的兼容难题后,[王邈](https://github.com/shankerwangmiao)便将目光转向应用生态以下的固件与引导兼容问题。 + +七月底,[王邈](https://github.com/shankerwangmiao)与[白铭骢](https://github.com/MingcongBai)等人从引导器 (GRUB) 及内核层面着手实现了“旧世界”固件兼容性,并调整了管理界面,方便用户们双启动“新世界”(如安同 OS、deepin 和 Loong Arch Linux)和“旧世界”(如 Loongnix 和统信 UOS)操作系统。这兼容性方案已在多款龙芯三号设备验证通过: + +- 台式机:联想开天 M540z(龙芯 3A5000) +- 台式机:航天龙梦 ML5A(龙芯 3A5000) +- 笔记本:卓宜恒通 L71(龙芯 3A5000M) +- 笔记本:清华同方超锐 L860-T2(龙芯 3A5000M) +- 服务器:国光 GS6000L-4C5L(龙芯 3C5000L,四路) + +根据上述测试结果,我们相信所有龙芯三号“旧世界”设备已可以正常启动安同 OS 等新世界操作系统。此外,安同 OS 的 20240801 版安装盘及 deepin V23 正式版已集成该兼容方案。 + +考虑到这一方案可大大降低用户支持成本,并方便用户更自由地选用适合自己经济与性能需要的龙架构设备,我们欢迎且强烈推荐各龙架构“新世界”系统维护者及开发商集成这一兼容方案。为此,[白铭骢](https://github.com/MingcongBai)编写了“旧世界”设备兼容方案的发行注记,欢迎查阅参考。 + +[“旧世界”设备兼容方案发行注记 >>](/assets/news/coffee-break/20240818/loongarch64-ow-support.md) + +开发者角 +-------- + +### 修订记录透明化:《测试源内软件包迭代版本规范》开始实施 + +长期以来,在测试源 (topic) 内修订软件包及从测试源到稳定源 (stable) 推送更新的流程中存在修订历史不清的问题。这一问题也会为参与测试的用户和维护者带来困扰:由于未使用软件包版本标记修订且多次同版本覆盖软件包,用户及开发者往往无法正确接收软件更新推送(因为 APT 更新检查逻辑查验的软件包版本甚至大小都可能未发生变化)。 + +目前的工作流中出现此种同版本覆盖的场景主要有如下两种: + +- 重复推送在测试过程中多次修订的软件包 +- 测试源合并时推送稳定源更新 + +《测试源内软件包迭代版本规范》通过设计一套针对预发布软件包修订版本标注的规范解决上述问题,让测试流程及稳定源推送前后各软件包修订都得到充分标注。 + +[查阅《测试源内软件包迭代版本规范》正文 >>](https://wiki.aosc.io/zh/developer/packaging/topic-version-suffix/) + +### oma 发布《贡献者指南》 + +日前,[傅孝元](https://github.com/eatradish)与[白铭骢](https://github.com/MingcongBai)编写发布了 oma 的贡献者指南,指引社区好友高效参与 oma 开发与测试。 + +同时,该指南为更清晰地标记和管理 oma 的版本更新,重新定义了版本分支规则,在继续沿用 `x.y.z` 三段式版本号的基础上,重新定义各版本位的意义: + +- `x`:重大特性更新(如功能重构、新界面设计等) +- `y`:特性更新(小范围界面修缮、行为变化等,如此次修改的测试源刷新逻辑、进度条和 `--no-refresh-topics` 参数) +- `z`:问题修复 + +此外,贡献者指南还将 oma 先前的双分支开发策略改为双分支 + 多特性分支模式(类似安同 OS 的测试主题制): + +- `master` 分支承接同一 `x` 版本系列的更新,任何新特性都以单独的“主题”分支提交合并 +- `next` 面向下一 `x` 版本系列的更新,其余与 `master` 同理 + +[查阅《oma 贡献者指南》正文 >>](https://github.com/AOSC-Dev/oma/blob/master/CONTRIBUTING.md) + +### 统一界面、优化性能:Ciel 及 ACBS 改用 oma 包管理界面 + +考虑到 oma 目前功能与使用方式已基本成熟,也实现了完整的无交互使用模式,[傅孝元](https://github.com/eatradish)将安同 OS 构建容器管理器 [Ciel](https://github.com/AOSC-Dev/ciel-rs) 及软件包构建脚本管理器 [ACBS](https://github.com/AOSC-Dev/acbs) 中使用的包管理前端更改为 oma。这一更改可提高构建环境的搭建速度,还可以在很大程度上验证 oma 在生产环境中的可用性情况。 + +如果您在使用 oma 管理 Ciel 工作区及使用 ACBS 构建系统软件包时遇到问题或有任何建议,欢迎通过下文“联系我们”中的聊天群组与我们联系,抑或直接向 oma 提交[问题报告](https://github.com/AOSC-Dev/oma/issues/new)。 + +### 数据工程:ACBS 引入 .srcinfo.json 元数据生成功能 + +考虑到[软件包信息站](https://packages.aosc.io)对 Autobuild 软件包信息格式 [APML](https://wiki.aosc.io/developer/automation/apml/) 的解析功能较弱且在解析 Bash 脚本时有实际困难,一些依赖条件较为复杂的软件包信息页会误报不少变量错误,[傅孝元](https://github.com/eatradish)为 [ACBS](https://github.com/AOSC-Dev/acbs) 加入了通过 `autobuild -p` 一键生成 JSON 格式元数据的功能,以期改善与[软件包信息站](https://packages.aosc.io)的互操作性。 + +我们计划在近期对 ABBS 树中的所有软件包进行一次性数据生成,并后续实现 CI 流程,为每一个合并请求 (Pull Request) 自动生成和更新相关数据。 + +### abbs-update-checksum 0.2.1 版发布:调整下载线程数、增强 CHKSUMS 改写功能 + +近日,软件包源码校验和更新工具 [abbs-update-checksum](https://github.com/AOSC-Dev/abbs-update-checksum) 发布了 0.2.1 版,将默认下载线程数改为 4 个(先前无限制,可能造成连通性不可靠的问题),还修复 `SRCS`/`CHKSUMS` 条目数量不一致时未正确报错的问题。 + +### 软件包信息站 (packages-site-rs) 修复软件包 JSON 数据生成器 + +为恢复安同 OS 在 [Repology](https://repology.org/) 上的信息监控,[张丙戊](https://github.com/xtexChooser)修复了[软件包信息站](https://packages.aosc.io/)中全仓库软件包数据 JSON 文件的生成功能,方便各 API 客户端使用。 + +[安同 OS 全仓库软件包 JSON 数据 >>](https://packages.aosc.io/list.json) + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [Arkadi Shishlov](https://github.com/arkadijs) +- [salieri](https://github.com/BC204) +- [Henry Chen](https://github.com/chenx97) +- [柴天浩](https://github.com/cthbleachbit) +- [杨欣辉](https://github.com/Cyanoxygen) +- [傅孝元](https://github.com/eatradish) +- [Zixuan "Lain" Yang](https://github.com/Fearyncess) +- [Harry Chen](https://github.com/Harry-Chen) +- [德州润华](https://github.com/HouLiXieBuRou) +- [Icenowy Zheng](https://github.com/Icenowy) +- [陈嘉杰 (jiegec)](https://github.com/jiegec) +- [王翔 (KatyushaScarlet)](https://github.com/KatyushaScarlet) +- [Kexy Biscuit](https://github.com/KexyBiscuit) +- [刘子兴](https://github.com/liushuyu) +- [白铭骢](https://github.com/MingcongBai) +- [千须末 (OriginCode)](https://github.com/OriginCode) +- [ouankou](https://github.com/ouankou) +- [bubu](https://github.com/p3psi-boo) +- [王江津](https://github.com/RedL0tus) +- [rickliu2000](https://github.com/rickliu2000) +- [王邈](https://github.com/shankerwangmiao) +- [skybird](https://github.com/SkyBird233) +- [Student Main](https://github.com/stdmnpkg) +- [Suyun](https://github.com/Suyun114) +- [温柔](https://github.com/xunpod) + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [lwzheng](https://github.com/lwzhenglittle) +- [日落果](https://github.com/purofle) +- [梓瑶](https://github.com/ziyao233) + +一起吹水 +-------- + +
+ 点此查看进群说明,一起吹水玩耍吧~ + +互联网是我社的主要活动场所,欢迎来社区各群聊及语音频道交流玩耍: + +### 微信群 + +请扫描此二维码添加好友**并说明来意:申请加入 AOSC 社区频道。** + +![wechat](/assets/wechat.png) + +### QQ 群 + +![qq](/assets/qq.jpg) + +### Telegram 群组 + +![telegram](/assets/telegram.png) + +### Discord 语音频道 + +![discord](/assets/discord.png) +
+ +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-08-20-gstreamer-break.md b/content/news/2024-08-20-gstreamer-break.md new file mode 100644 index 00000000..d1c9cfb9 --- /dev/null +++ b/content/news/2024-08-20-gstreamer-break.md @@ -0,0 +1,19 @@ +--- +categories: + - advisories +title: "GStreamer 更新可能无法正常完成" +date: 2024-08-20T12:00:00+08:00 +important: true + +--- +由于维护者疏忽,x86-64 (amd64) 架构的 gstreamer 包由于与 dssim-c 包存在文件冲突,可能无法完成更新;发现问题后,我们已推送更新修复这一问题 + +如果您已经在更新时遇到错误,请使用如下命令暂时规避问题: +``` +oma remove dssim-c +``` +而后,继续更新系统即可: +``` +oma upgrade +``` +我们为此造成的不便表示歉意! diff --git a/content/news/2024-08-20-gstreamer-break.zh-cn.md b/content/news/2024-08-20-gstreamer-break.zh-cn.md new file mode 100644 index 00000000..d1c9cfb9 --- /dev/null +++ b/content/news/2024-08-20-gstreamer-break.zh-cn.md @@ -0,0 +1,19 @@ +--- +categories: + - advisories +title: "GStreamer 更新可能无法正常完成" +date: 2024-08-20T12:00:00+08:00 +important: true + +--- +由于维护者疏忽,x86-64 (amd64) 架构的 gstreamer 包由于与 dssim-c 包存在文件冲突,可能无法完成更新;发现问题后,我们已推送更新修复这一问题 + +如果您已经在更新时遇到错误,请使用如下命令暂时规避问题: +``` +oma remove dssim-c +``` +而后,继续更新系统即可: +``` +oma upgrade +``` +我们为此造成的不便表示歉意! diff --git a/content/news/2024-08-24-oma-1.7.md b/content/news/2024-08-24-oma-1.7.md new file mode 100644 index 00000000..43bf8c54 --- /dev/null +++ b/content/news/2024-08-24-oma-1.7.md @@ -0,0 +1,35 @@ +--- +categories: + - advisories +title: "小熊猫包管理 oma 1.7 版发布" +date: 2024-08-15T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +oma 1.7 版发布啦!相对于先前发布的 1.6 版,本次更新带来数个新特性、设计修缮和问题修复! + +## 新特性 + +- 添加下载 zstd 元数据文件的支持,使用 oma files 及 oma provides 反查软件包内容及可执行文件列表的速度大幅提升 +- 改进 command-not-found 结果,更加优先显示完整匹配的包名和文件名,并按相关度排序(如有完整匹配的包名或可执行文件名,则只显示符合该条件其一的结果) +- oma provides 及 oma files 会在没有 rg 二进制的情况下回退至内部字符串搜索功能(性能略比 rg 低) + +## 问题修复 + +- 修复进度条在进度达到 100% 时未正确对齐的问题 +- 修复终端宽度较小(< 100 列)时全局进度条未正确显示下载进度的问题(200 / 300 MiB 的显示缺少 /) +- 取消 oma remove 默认 --fix-broken 的行为,与 APT 行为更一致 + +## 发布说明 + +oma 1.7 版已推送安同 OS 稳定源,更新系统即可获取 oma 1.7 版;我们亦同步发布了 Debian/Ubuntu 安装包,支持如下系统: + +- Debian 12 +- Debian 11 +- Ubuntu 24.04 LTS +- Ubuntu 22.04 LTS +- Ubuntu 20.04 LTS + +[下载 Debian/Ubuntu 版 oma 安装包 >>](https://github.com/AOSC-Dev/oma/releases/tag/v1.7.0) diff --git a/content/news/2024-08-24-oma-1.7.zh-cn.md b/content/news/2024-08-24-oma-1.7.zh-cn.md new file mode 100644 index 00000000..43bf8c54 --- /dev/null +++ b/content/news/2024-08-24-oma-1.7.zh-cn.md @@ -0,0 +1,35 @@ +--- +categories: + - advisories +title: "小熊猫包管理 oma 1.7 版发布" +date: 2024-08-15T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-slim.png) + +oma 1.7 版发布啦!相对于先前发布的 1.6 版,本次更新带来数个新特性、设计修缮和问题修复! + +## 新特性 + +- 添加下载 zstd 元数据文件的支持,使用 oma files 及 oma provides 反查软件包内容及可执行文件列表的速度大幅提升 +- 改进 command-not-found 结果,更加优先显示完整匹配的包名和文件名,并按相关度排序(如有完整匹配的包名或可执行文件名,则只显示符合该条件其一的结果) +- oma provides 及 oma files 会在没有 rg 二进制的情况下回退至内部字符串搜索功能(性能略比 rg 低) + +## 问题修复 + +- 修复进度条在进度达到 100% 时未正确对齐的问题 +- 修复终端宽度较小(< 100 列)时全局进度条未正确显示下载进度的问题(200 / 300 MiB 的显示缺少 /) +- 取消 oma remove 默认 --fix-broken 的行为,与 APT 行为更一致 + +## 发布说明 + +oma 1.7 版已推送安同 OS 稳定源,更新系统即可获取 oma 1.7 版;我们亦同步发布了 Debian/Ubuntu 安装包,支持如下系统: + +- Debian 12 +- Debian 11 +- Ubuntu 24.04 LTS +- Ubuntu 22.04 LTS +- Ubuntu 20.04 LTS + +[下载 Debian/Ubuntu 版 oma 安装包 >>](https://github.com/AOSC-Dev/oma/releases/tag/v1.7.0) diff --git a/content/news/2024-08-28-aoscc-2024-survey.md b/content/news/2024-08-28-aoscc-2024-survey.md new file mode 100644 index 00000000..debd3cfc --- /dev/null +++ b/content/news/2024-08-28-aoscc-2024-survey.md @@ -0,0 +1,14 @@ +--- +categories: + - minutes +title: "AOSCC 2024 会务满意度调查" +date: 2024-08-28T12:00:00+08:00 +important: true +--- +![AOSCC 2024 的顺利举办离不开各位讲者、志愿者和与会者的配合协作](/assets/news/coffee-break/20240818/imgs/aoscc-2024.jpg) + +本届 AOSCC 是安同开源社区自创办以来参与人数最多、讲者最多、主题最丰富的一届。本届 AOSCC 得以顺利举办离不开大家的努力配合,感谢各位! + +为更好地筹备下一届聚会,我们设计了《AOSCC 会务满意度调查》,以收集与会者的感受、意见和匹配,敬请各位填答!问卷包含参会方式、宣传、选址、会场环境、议程、交通等多个方面,以期尽可能多地收集多方面、多视角的与会者反馈。 + +[填写会务满意度调查 >>](https://www.wjx.cn/vm/PVelmw8.aspx) diff --git a/content/news/2024-08-28-aoscc-2024-survey.zh-cn.md b/content/news/2024-08-28-aoscc-2024-survey.zh-cn.md new file mode 100644 index 00000000..debd3cfc --- /dev/null +++ b/content/news/2024-08-28-aoscc-2024-survey.zh-cn.md @@ -0,0 +1,14 @@ +--- +categories: + - minutes +title: "AOSCC 2024 会务满意度调查" +date: 2024-08-28T12:00:00+08:00 +important: true +--- +![AOSCC 2024 的顺利举办离不开各位讲者、志愿者和与会者的配合协作](/assets/news/coffee-break/20240818/imgs/aoscc-2024.jpg) + +本届 AOSCC 是安同开源社区自创办以来参与人数最多、讲者最多、主题最丰富的一届。本届 AOSCC 得以顺利举办离不开大家的努力配合,感谢各位! + +为更好地筹备下一届聚会,我们设计了《AOSCC 会务满意度调查》,以收集与会者的感受、意见和匹配,敬请各位填答!问卷包含参会方式、宣传、选址、会场环境、议程、交通等多个方面,以期尽可能多地收集多方面、多视角的与会者反馈。 + +[填写会务满意度调查 >>](https://www.wjx.cn/vm/PVelmw8.aspx) diff --git a/content/news/2024-08-28-coffee-break-schedule.md b/content/news/2024-08-28-coffee-break-schedule.md new file mode 100644 index 00000000..97c367e8 --- /dev/null +++ b/content/news/2024-08-28-coffee-break-schedule.md @@ -0,0 +1,11 @@ +--- +categories: + - journals +title: "《安记冰室》八月下号休刊公告" +date: 2024-08-28T23:00:00+08:00 +important: false +--- + +由于八月发刊时机略有混乱,且八月上号以来工作情况和成果尚未有明显结论,故八月下号休刊。 + +《安记冰室》(九月上号)预计将于 9 月 14 日周末发布。 diff --git a/content/news/2024-08-28-coffee-break-schedule.zh-cn.md b/content/news/2024-08-28-coffee-break-schedule.zh-cn.md new file mode 100644 index 00000000..fdecc855 --- /dev/null +++ b/content/news/2024-08-28-coffee-break-schedule.zh-cn.md @@ -0,0 +1,10 @@ +--- +categories: + - journals +title: "《安记冰室》八月下号休刊公告" +date: 2024-08-28T23:00:00+08:00 +important: false +--- +由于八月发刊时机略有混乱,且八月上号以来工作情况和成果尚未有明显结论,故八月下号休刊。 + +《安记冰室》(九月上号)预计将于 9 月 14 日周末发布。 diff --git a/content/news/2024-08-28-oma-1.8.md b/content/news/2024-08-28-oma-1.8.md new file mode 100644 index 00000000..4bd0ae58 --- /dev/null +++ b/content/news/2024-08-28-oma-1.8.md @@ -0,0 +1,38 @@ +--- +categories: + - advisories +title: "小熊猫包管理 oma 1.8 版发布" +date: 2024-08-28T12:00:00+08:00 +important: true +--- +![](/assets/news/oma-comic-slim.png) + +oma 1.8 版发布啦!oma 1.7 版发布后,我们对 oma 的界面和性能进行了进一步调优,并修复了数个用户朋友们发现的问题。 + +## 新特性 + +- 调整了某些子命令的别名,比如说 install 提供了 add 别名, remove 提供了 rm 和 del 的别名 +- 添加 oma upgrade --autoremove 参数,方便在某些场景下升级并自动卸载不必要的包 + +## 问题修复 + +- 修复了 oma purge foo 在参数解析时崩溃的问题(感谢 @KexyBiscuit 提交问题报告) +- 修复了 oma provides 和 oma files 在软件包内容元数据 (Contents) 文件不存在时返回意外结果的问题(感谢 @JeffBai 提交问题报告) +- 修复了在延迟较高的终端模拟器(设备性能低、负载高或网络延时高,如 SSH 会话)上 oma 错误输出终端颜色查询序列的问题 + +## 重构与优化 + +- 大幅提升了 oma provides/files 回退字符串搜索功能的性能(感谢 [pan93412](https://github.com/pan93412) 及[百合仙子](https://github.com/lilydjwg)的协助) +- 调整了编译器优化参数,显著提升运行性能 + +## 发布说明 + +oma 1.8 版已推送安同 OS 稳定源,更新系统即可获取 oma 1.8 版;我们亦同步发布了 Debian/Ubuntu 安装包,支持如下系统: + +- Debian 12 +- Debian 11 +- Ubuntu 24.04 LTS +- Ubuntu 22.04 LTS +- Ubuntu 20.04 LTS + +[下载 Debian/Ubuntu 版 oma 安装包 >> ](https://github.com/AOSC-Dev/oma/releases/tag/v1.8.0) diff --git a/content/news/2024-08-28-oma-1.8.zh-cn.md b/content/news/2024-08-28-oma-1.8.zh-cn.md new file mode 100644 index 00000000..4bd0ae58 --- /dev/null +++ b/content/news/2024-08-28-oma-1.8.zh-cn.md @@ -0,0 +1,38 @@ +--- +categories: + - advisories +title: "小熊猫包管理 oma 1.8 版发布" +date: 2024-08-28T12:00:00+08:00 +important: true +--- +![](/assets/news/oma-comic-slim.png) + +oma 1.8 版发布啦!oma 1.7 版发布后,我们对 oma 的界面和性能进行了进一步调优,并修复了数个用户朋友们发现的问题。 + +## 新特性 + +- 调整了某些子命令的别名,比如说 install 提供了 add 别名, remove 提供了 rm 和 del 的别名 +- 添加 oma upgrade --autoremove 参数,方便在某些场景下升级并自动卸载不必要的包 + +## 问题修复 + +- 修复了 oma purge foo 在参数解析时崩溃的问题(感谢 @KexyBiscuit 提交问题报告) +- 修复了 oma provides 和 oma files 在软件包内容元数据 (Contents) 文件不存在时返回意外结果的问题(感谢 @JeffBai 提交问题报告) +- 修复了在延迟较高的终端模拟器(设备性能低、负载高或网络延时高,如 SSH 会话)上 oma 错误输出终端颜色查询序列的问题 + +## 重构与优化 + +- 大幅提升了 oma provides/files 回退字符串搜索功能的性能(感谢 [pan93412](https://github.com/pan93412) 及[百合仙子](https://github.com/lilydjwg)的协助) +- 调整了编译器优化参数,显著提升运行性能 + +## 发布说明 + +oma 1.8 版已推送安同 OS 稳定源,更新系统即可获取 oma 1.8 版;我们亦同步发布了 Debian/Ubuntu 安装包,支持如下系统: + +- Debian 12 +- Debian 11 +- Ubuntu 24.04 LTS +- Ubuntu 22.04 LTS +- Ubuntu 20.04 LTS + +[下载 Debian/Ubuntu 版 oma 安装包 >> ](https://github.com/AOSC-Dev/oma/releases/tag/v1.8.0) diff --git a/content/news/2024-09-06-oma-1.9.md b/content/news/2024-09-06-oma-1.9.md new file mode 100644 index 00000000..2658a9b5 --- /dev/null +++ b/content/news/2024-09-06-oma-1.9.md @@ -0,0 +1,40 @@ +--- +categories: + - advisories +title: "小熊猫包管理 oma 1.9 版发布啦!" +date: 2024-09-06T12:00:00+08:00 +important: true +--- +![](/assets/news/oma-comic-slim.png) + + +oma 1.9 版发布啦!本次更新,我们结合用户反馈,对 oma 的数个界面进行了优化和修缮;此外,我们还进一步提高了对 Debian/Ubuntu APT 配置的兼容性。 + +## 新特性 + +- oma refresh 完善了对 apt.conf.d 配置项的读取解析支持,在 Ubuntu 等带有特殊配置的发行版上 oma 刷新软件源元数据的行为已基本与 APT 靠齐 +- 新增在使用 oma 的自动提权功能(基于 polkit)时的终端提示,避免多端访问的用户找不到提权窗口的问题 +- 新增软件包依赖关系不满足时,审阅界面对软件包卸载原因的备注 + +## 问题修复 + +- 修复在用户使用 polkit 自动提权运行 oma 时,安装软件包过程中 dpkg 未能正确截获 Ctrl + C 信号的问题 +- 修复 TUI 界面搜索框中使用退格键时,不论光标在何处,最后一个字符总是被删除的问题 +- 修复 TUI 界面中无法使用 Delete 反退格的问题 +- 修复刷新带有下划线 (_) 字符的软件源时,该符号未正确转译为 %5f 的问题 + +## 安装指南 + +oma 1.9 版已推送安同 OS 稳定源,更新系统即可获取 oma 1.9 版;我们亦同步将 oma 更新推送到了我们的 Debian/Ubuntu 软件源中。 + +运行如下命令即可配置软件源并自动安装 oma,后续可通过更新系统自动获取 oma 更新: +``` +curl -sSf https://repo.aosc.io/get-oma.sh | sudo sh +``` +oma 目前支持的 Debian 及 Ubuntu 版本如下: + +- Debian 12 +- Debian 11 +- Ubuntu 24.04 LTS +- Ubuntu 22.04 LTS +- Ubuntu 20.04 LTS diff --git a/content/news/2024-09-06-oma-1.9.zh-cn.md b/content/news/2024-09-06-oma-1.9.zh-cn.md new file mode 100644 index 00000000..2658a9b5 --- /dev/null +++ b/content/news/2024-09-06-oma-1.9.zh-cn.md @@ -0,0 +1,40 @@ +--- +categories: + - advisories +title: "小熊猫包管理 oma 1.9 版发布啦!" +date: 2024-09-06T12:00:00+08:00 +important: true +--- +![](/assets/news/oma-comic-slim.png) + + +oma 1.9 版发布啦!本次更新,我们结合用户反馈,对 oma 的数个界面进行了优化和修缮;此外,我们还进一步提高了对 Debian/Ubuntu APT 配置的兼容性。 + +## 新特性 + +- oma refresh 完善了对 apt.conf.d 配置项的读取解析支持,在 Ubuntu 等带有特殊配置的发行版上 oma 刷新软件源元数据的行为已基本与 APT 靠齐 +- 新增在使用 oma 的自动提权功能(基于 polkit)时的终端提示,避免多端访问的用户找不到提权窗口的问题 +- 新增软件包依赖关系不满足时,审阅界面对软件包卸载原因的备注 + +## 问题修复 + +- 修复在用户使用 polkit 自动提权运行 oma 时,安装软件包过程中 dpkg 未能正确截获 Ctrl + C 信号的问题 +- 修复 TUI 界面搜索框中使用退格键时,不论光标在何处,最后一个字符总是被删除的问题 +- 修复 TUI 界面中无法使用 Delete 反退格的问题 +- 修复刷新带有下划线 (_) 字符的软件源时,该符号未正确转译为 %5f 的问题 + +## 安装指南 + +oma 1.9 版已推送安同 OS 稳定源,更新系统即可获取 oma 1.9 版;我们亦同步将 oma 更新推送到了我们的 Debian/Ubuntu 软件源中。 + +运行如下命令即可配置软件源并自动安装 oma,后续可通过更新系统自动获取 oma 更新: +``` +curl -sSf https://repo.aosc.io/get-oma.sh | sudo sh +``` +oma 目前支持的 Debian 及 Ubuntu 版本如下: + +- Debian 12 +- Debian 11 +- Ubuntu 24.04 LTS +- Ubuntu 22.04 LTS +- Ubuntu 20.04 LTS diff --git a/content/news/2024-09-13-aosc-os-installer-ssh-keys.md b/content/news/2024-09-13-aosc-os-installer-ssh-keys.md new file mode 100644 index 00000000..582f3ef0 --- /dev/null +++ b/content/news/2024-09-13-aosc-os-installer-ssh-keys.md @@ -0,0 +1,20 @@ +--- +categories: + - advisories +title: "安同 OS 离线安装盘意外安装预制 SSH 主机密钥" +date: 2024-09-13T12:00:00+08:00 +important: true +home: true +--- +![](/assets/news/2024-09-13-aoscos-installer-ssh-keys.png) + + +由于离线安装盘生成工具中的清理流程设计疏忽,自六月底开始发行的安同 OS 离线安装盘(即文件名由 aosc-os_installer 开头的 ISO 镜像)所包含的系统镜像均未正确清理 SSH 主机密钥,致使安装后的系统中亦使用了该主机密钥。 + +考虑到安同 OS 默认开启 SSH 服务,该疏忽恐严重影响用户安全:这些密钥可能导致其它主机能够冒充您的主机的身份,从而窃取您的登入口令和与主机之间的 SSH 会话的内容;但是,如果您使用 SSH 公钥作为登入凭据,则不受影响。 + +为此,我们紧急发布了 OpenSSH 更新(版本 9.8p1-4)修补这一问题:在匹配到已知泄漏的主机密钥的密码学指纹 (fingerprint) 时,将清理并重新生成系统中的 SSH 主机密钥。**如有可能,请尽快更新安同 OS,以免存留安全隐患。** + +**请注意:更新完成后,AOSC OS 将重启 SSH 服务守护程序,但不会影响当前已经建立的 SSH 连接。如果您对外提供 SSH 服务,您的用户在连接受影响的 SSH/SCP/SFTP 服务时可能会遇到连接错误。因此,您可能需要将有关情况告知您的用户,并引导他们删除先前信任的 SSH 主机密钥记录。** + +我们为此带来的不便表示歉意! diff --git a/content/news/2024-09-13-aosc-os-installer-ssh-keys.zh-cn.md b/content/news/2024-09-13-aosc-os-installer-ssh-keys.zh-cn.md new file mode 100644 index 00000000..582f3ef0 --- /dev/null +++ b/content/news/2024-09-13-aosc-os-installer-ssh-keys.zh-cn.md @@ -0,0 +1,20 @@ +--- +categories: + - advisories +title: "安同 OS 离线安装盘意外安装预制 SSH 主机密钥" +date: 2024-09-13T12:00:00+08:00 +important: true +home: true +--- +![](/assets/news/2024-09-13-aoscos-installer-ssh-keys.png) + + +由于离线安装盘生成工具中的清理流程设计疏忽,自六月底开始发行的安同 OS 离线安装盘(即文件名由 aosc-os_installer 开头的 ISO 镜像)所包含的系统镜像均未正确清理 SSH 主机密钥,致使安装后的系统中亦使用了该主机密钥。 + +考虑到安同 OS 默认开启 SSH 服务,该疏忽恐严重影响用户安全:这些密钥可能导致其它主机能够冒充您的主机的身份,从而窃取您的登入口令和与主机之间的 SSH 会话的内容;但是,如果您使用 SSH 公钥作为登入凭据,则不受影响。 + +为此,我们紧急发布了 OpenSSH 更新(版本 9.8p1-4)修补这一问题:在匹配到已知泄漏的主机密钥的密码学指纹 (fingerprint) 时,将清理并重新生成系统中的 SSH 主机密钥。**如有可能,请尽快更新安同 OS,以免存留安全隐患。** + +**请注意:更新完成后,AOSC OS 将重启 SSH 服务守护程序,但不会影响当前已经建立的 SSH 连接。如果您对外提供 SSH 服务,您的用户在连接受影响的 SSH/SCP/SFTP 服务时可能会遇到连接错误。因此,您可能需要将有关情况告知您的用户,并引导他们删除先前信任的 SSH 主机密钥记录。** + +我们为此带来的不便表示歉意! diff --git a/content/news/2024-09-15-oma-1.10-rc1.md b/content/news/2024-09-15-oma-1.10-rc1.md new file mode 100644 index 00000000..14151c8b --- /dev/null +++ b/content/news/2024-09-15-oma-1.10-rc1.md @@ -0,0 +1,46 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.10.0-rc1 版测试公告" +date: 2024-09-15T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-comic-slim.png) + + + +oma 的下一特性更新发布在即,诚邀用户朋友们参与测试,提前发现问题、提出意见批评。 + +1.10 测试版的特性及修复内容如下,可供测试参考: + +## 新特性 + +- 为 oma 实现了专用的输出查看器 (pager):与之前使用的 less 工具相比,新增了滚动条,改善了在一部分终端及发行版下的显示兼容性,界面操作行为更符合直觉 +- oma show 命令新增别名 oma info,与 apt 行为一致 +- oma search 命令实现多搜索后端支持: + +### indicium 模式 + +完整搜索引擎模式,但为较大的软件仓库(如 Debian 和 Ubuntu)建立索引时耗时较长;安同 OS 软件仓库较少,性能适中,故以此为默认值。 + +### strsim 模式 + +仅对包名和描述进行相关度排序,无模糊及语义匹配;Debian 及 Ubuntu 软件仓库较大,为保障基础性能体验,以此为默认值。 + +### text 模式 + +仅对包名进行逐字匹配,适用于性能受限的设备。 + +- 为 oma search 及 oma files/provides 命令添加 --no-pager 选项,指定选项后将不使用上述输出查看器 (pager) 展示内容 +- 未找到命令提示 (command-not-found) 匹配结果过多时,仅显示前十个候选并引导用户使用 oma provides --bin 命令查阅完整列表 +- 为 TUI 界面载入时生成索引的过程添加进度条,避免仓库较大、索引耗时较长时用户疑惑 + +## 问题修复 + +- 修复表格中当一行过长导致换行时,表格排版混乱的问题 +- 修复 oma 出错时,错误报告输出未正确处理换行的问题 +- 修复 oma provides/files 命令可能遗漏部分结果结果的问题(感谢 @GGN_2015 反馈问题及 @fearyncess 提供解决思路) +- 修复了一些字符串的翻译问题(感谢 @JeffBai 的贡献) +- 修复了在按下 Ctrl + C 后,返回代码并非 130 (128 + SIGINT) 的问题 +- 修复简单软件仓库 (flat repository) 刷新行为的剩余问题,预期与 apt 达致行为均等 diff --git a/content/news/2024-09-15-oma-1.10-rc1.zh-cn.md b/content/news/2024-09-15-oma-1.10-rc1.zh-cn.md new file mode 100644 index 00000000..14151c8b --- /dev/null +++ b/content/news/2024-09-15-oma-1.10-rc1.zh-cn.md @@ -0,0 +1,46 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.10.0-rc1 版测试公告" +date: 2024-09-15T12:00:00+08:00 +important: true + +--- +![](/assets/news/oma-comic-slim.png) + + + +oma 的下一特性更新发布在即,诚邀用户朋友们参与测试,提前发现问题、提出意见批评。 + +1.10 测试版的特性及修复内容如下,可供测试参考: + +## 新特性 + +- 为 oma 实现了专用的输出查看器 (pager):与之前使用的 less 工具相比,新增了滚动条,改善了在一部分终端及发行版下的显示兼容性,界面操作行为更符合直觉 +- oma show 命令新增别名 oma info,与 apt 行为一致 +- oma search 命令实现多搜索后端支持: + +### indicium 模式 + +完整搜索引擎模式,但为较大的软件仓库(如 Debian 和 Ubuntu)建立索引时耗时较长;安同 OS 软件仓库较少,性能适中,故以此为默认值。 + +### strsim 模式 + +仅对包名和描述进行相关度排序,无模糊及语义匹配;Debian 及 Ubuntu 软件仓库较大,为保障基础性能体验,以此为默认值。 + +### text 模式 + +仅对包名进行逐字匹配,适用于性能受限的设备。 + +- 为 oma search 及 oma files/provides 命令添加 --no-pager 选项,指定选项后将不使用上述输出查看器 (pager) 展示内容 +- 未找到命令提示 (command-not-found) 匹配结果过多时,仅显示前十个候选并引导用户使用 oma provides --bin 命令查阅完整列表 +- 为 TUI 界面载入时生成索引的过程添加进度条,避免仓库较大、索引耗时较长时用户疑惑 + +## 问题修复 + +- 修复表格中当一行过长导致换行时,表格排版混乱的问题 +- 修复 oma 出错时,错误报告输出未正确处理换行的问题 +- 修复 oma provides/files 命令可能遗漏部分结果结果的问题(感谢 @GGN_2015 反馈问题及 @fearyncess 提供解决思路) +- 修复了一些字符串的翻译问题(感谢 @JeffBai 的贡献) +- 修复了在按下 Ctrl + C 后,返回代码并非 130 (128 + SIGINT) 的问题 +- 修复简单软件仓库 (flat repository) 刷新行为的剩余问题,预期与 apt 达致行为均等 diff --git a/content/news/2024-09-16-oma-1.10.zh-cn.md b/content/news/2024-09-16-oma-1.10.zh-cn.md new file mode 100644 index 00000000..955d5123 --- /dev/null +++ b/content/news/2024-09-16-oma-1.10.zh-cn.md @@ -0,0 +1,34 @@ +--- +categories: + - advisories +title: '小熊猫包管理 oma 1.10 版发布' +date: 2024-09-16T12:00:00+08:00 +important: true +home: true +--- + +> oma 1.10 版发布啦! + + 本次更新,我们着重对小熊猫包管理的确认界面、表格排版等逻辑进行了优化,在各种不同的终端环境中界面更清晰、好用;“找不到命令 (command-not-found)”界面的设计也进行了调整,在结果较多时对搜索候选的数量进行限制,并引导用户查阅完整列表。 + +我们还针对 Debian/Ubuntu 用户使用过程中遇到的性能及界面问题进行了针对性调优,如根据这些发行版软件仓库较大的情况,降低了软件包搜索功能的索引复杂度,也对其他需要等待的界面添加了等待提示。 + +oma 1.10 是基于 1.10 RC1 版测试后发布的,相对于 1.9 版还包含许多细节修复与调整;欢迎各位查阅 [1.10 RC1 版的测试公告](./2024-09-15-oma-1.10-rc1.md) ,了解 1.10 版新特性与修复的技术细节。 + +## 安装指南 + +oma 1.10 版已推送安同 OS 稳定源,更新系统即可获取 oma 1.10 版;我们亦同步将 oma 更新推送到了我们的 Debian/Ubuntu 软件源中。 + +运行如下命令即可配置软件源并自动安装 oma,后续可通过更新系统自动获取 oma 更新: + +```bash +curl -sSf https://repo.aosc.io/get-oma.sh | sudo sh +``` + +oma 目前支持的 Debian 及 Ubuntu 版本如下: + +- Debian 12 +- Debian 11 +- Ubuntu 24.04 LTS +- Ubuntu 22.04 LTS +- Ubuntu 20.04 LTS diff --git a/content/news/2024-09-18-aosc-os-relnote.md b/content/news/2024-09-18-aosc-os-relnote.md new file mode 100644 index 00000000..369da693 --- /dev/null +++ b/content/news/2024-09-18-aosc-os-relnote.md @@ -0,0 +1,23 @@ +--- +categories: + - advisories +title: "安同 OS 九月发行更新发布" +date: 2024-09-18T12:00:00+08:00 +important: true +home: true +--- +![](/assets/news/mid-autumn-aosc-os.png) + + + +新一批安同 OS 系统发行更新来啦! + +本批发行更新包含自 8 月初以来的各类系统组件更新及安全修复,亦包括针对 Hyper-V、VMware 及 VirtualBox 等虚拟化平台、较新 x86 设备及龙架构平台的功能及支持优化;我们还针对系统安装体验和可靠性进行了大量调优和修复。 + +## 下载系统 + +新网站上线在即,我们将完整的发行注记随新的下载页面一同发布,来一睹为快吧~ + +[下载安同 OS >>](https://website-2023.aosc.io/download) + +[查阅发行注记(2024 年 9 月)>>](https://website-2023.aosc.io/aosc-os/relnote) diff --git a/content/news/2024-09-18-aosc-os-relnote.zh-cn.md b/content/news/2024-09-18-aosc-os-relnote.zh-cn.md new file mode 100644 index 00000000..369da693 --- /dev/null +++ b/content/news/2024-09-18-aosc-os-relnote.zh-cn.md @@ -0,0 +1,23 @@ +--- +categories: + - advisories +title: "安同 OS 九月发行更新发布" +date: 2024-09-18T12:00:00+08:00 +important: true +home: true +--- +![](/assets/news/mid-autumn-aosc-os.png) + + + +新一批安同 OS 系统发行更新来啦! + +本批发行更新包含自 8 月初以来的各类系统组件更新及安全修复,亦包括针对 Hyper-V、VMware 及 VirtualBox 等虚拟化平台、较新 x86 设备及龙架构平台的功能及支持优化;我们还针对系统安装体验和可靠性进行了大量调优和修复。 + +## 下载系统 + +新网站上线在即,我们将完整的发行注记随新的下载页面一同发布,来一睹为快吧~ + +[下载安同 OS >>](https://website-2023.aosc.io/download) + +[查阅发行注记(2024 年 9 月)>>](https://website-2023.aosc.io/aosc-os/relnote) diff --git a/content/news/2024-09-19-coffee-break.md b/content/news/2024-09-19-coffee-break.md new file mode 100644 index 00000000..1d6eb22b --- /dev/null +++ b/content/news/2024-09-19-coffee-break.md @@ -0,0 +1,251 @@ +--- +categories: + - journals +title: "安记冰室・九月上" +date: 2024-09-19T23:00:00+08:00 +important: false +home: true +--- + + + +> “豆沙、莲蓉、五仁、火腿、鲜肉和枣泥月饼诶,摆一桌嘞——” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +用户公告 +-------- + +### 速更新!安同 OS 离线安装盘意外安装预制 SSH 主机密钥 + +![OpenSSH 组件更新时的安全警告示意图](/assets/news/coffee-break/20240918/imgs/openssh-advisory.png) + +由于离线安装盘生成工具中的清理流程设计疏忽,自六月底开始发行的安同 OS 离线安装盘(即文件名由 `aosc-os_installer` 开头的 ISO 镜像)所包含的系统镜像均未正确清理 SSH 主机密钥,致使安装后的系统中亦使用了该主机密钥。 + +考虑到安同 OS 默认开启 SSH 服务,该疏忽恐严重影响用户安全:这些密钥可能导致其它主机能够冒充您的主机的身份,从而窃取您的登入口令和与主机之间的 SSH 会话的内容。但是,如果您使用 SSH 公钥作为登入凭据,则不受影响。 + +为此,我们紧急发布了 OpenSSH 更新(版本 `9.8p1-4`)修补这一问题:在匹配到已知泄漏的主机密钥的密码学指纹 (fingerprint) 时,将清理并重新生成系统中的 SSH 主机密钥。**如有可能,请尽快更新安同 OS,以免存留安全隐患。** + +**请注意:更新完成后,AOSC OS 将重启 SSH 服务守护程序,但不会影响当前已经建立的 SSH 连接;如果您对外提供 SSH 服务,您的用户在连接受影响的 SSH/SCP/SFTP 服务时可能会遇到连接错误。因此,您可能需要将有关情况告知您的用户,并引导他们删除先前信任的 SSH 主机密钥记录。** + +我们为此带来的不便表示歉意。 + +社区脉动 +-------- + +### 携手社团:秋季安同 “校园行” 活动前瞻 + +![三月,曲阜师范大学计算机爱好者协会的徐尔芃同学为“校园行”活动开幕](/assets/news/coffee-break/20240918/imgs/qfnu-ace.jpg) + +在今年开春的甲辰烙饼会上,社区提出了安同 “校园行” 活动的设想:深入大学校园,通过学生社团为大学学生和行业上的一线开发者、社区贡献者之间建立沟通的桥梁,埋下参与社区与开源软件贡献的种子。今年三月,社区成功在曲阜师范大学举办了[第一次安同 “校园行”](https://website-2023.aosc.io/news/detail/2024-03-20-qfnu-computing-evolved.zh-cn.md "第一次安同 “校园行”")活动。 + +“校园行”成功迈出的第一步激起了一批院校的兴趣。因此,安同 “校园行” 活动计划将在十月国庆假期后重启,让更多高校学生接触社区、了解开源和融入贡献者群体。国庆假期后的第一次 “校园行” 活动预计在宁夏理工学院举办,届时将邀请社区贡献者及行业一线工作者前往与社团学生们互动。 + +至截稿时,兰州大学、山东大学与南阳理工学院等院校的开源与计算机社团们也表达了承办 “校园行” 的意愿。同时,我们也诚邀国内各个院校的计算机社团与我们一起举办 “校园行” 活动。 + +“校园行” 活动为志愿性质且活动形式灵活,因此社团无需提供资金方面的支持,也可根据需要提出活动形式及演讲主题等。如果您是社团负责人且有意承办“校园行”活动,欢迎[与我们联系](https://website-2023.aosc.io/contact "与我们联系")! + +系统快讯 +-------- + +### 集社区之精华:安同 OS 发布九月发行更新 + +![庆中秋,安同 OS 发布九月发行更新](/assets/news/coffee-break/20240918/imgs/mid-autumn-aosc-os-slim.png) + +新一批安同 OS 系统发行更新来啦! + +本批发行更新包含自 8 月初以来的各类系统组件更新及安全修复,亦包括针对 Hyper-V、VMware 及 VirtualBox 等虚拟化平台、较新 x86 设备及龙架构平台的功能及支持优化;我们还针对系统安装体验和可靠性进行了大量调优和修复 + +#### 下载系统 + +新网站上线在即,我们将完整的发行注记随新的下载页面一同发布,来一睹为快吧~ + +- [下载安同 OS](https://website-2023.aosc.io/download "下载安同 OS") +- [查阅发行注记(2024 年 9 月)](https://website-2023.aosc.io/aosc-os/relnote "查阅发行注记(2024 年 9 月)") + +### 界面再升级:小熊猫包管理 oma 发布 1.10 + +![轻松管,轻松用:oma 助您便捷完成系统组件管理](/assets/news/coffee-break/20240918/imgs/oma-comic-slim.png) + +日前,[傅孝元](https://github.com/eatradish "傅孝元")发布了小熊猫包管理 (oma) 的 1.10 版。 + +本次更新着重对小熊猫包管理的确认界面、表格排版等逻辑进行了优化,在各种不同的终端环境中界面更清晰、好用。“找不到命令 (command-not-found)”界面的设计也进行了调整,在结果较多时对搜索候选的数量进行限制,并引导用户查阅完整列表。 + +此外,本版还针对 Debian/Ubuntu 用户使用过程中遇到的性能及界面问题进行了针对性调优:如根据这些发行版软件仓库较大的情况,降低了软件包搜索功能的索引复杂度,也对其他需要等待的界面添加了等待提示 + +oma 1.10 是基于 1.10 RC1 测试后发布的,相对于 1.9 还包含许多细节修复与调整。欢迎各位查阅 [1.10 RC1 的测试公告](1.10-rc1-relnote.md "1.10 RC1 的测试公告") ,了解 1.10 新特性与修复的技术细节。 + +#### 安装指南 + +oma 1.10 已推送安同 OS 稳定源,更新系统即可获取 oma 1.10 ;我们亦同步将 oma 更新推送到了我们的 Debian/Ubuntu 软件源中 + +运行如下命令即可配置软件源并自动安装 oma,后续可通过更新系统自动获取 oma 更新: + +```bash +curl -sSf https://repo.aosc.io/get-oma.sh | sudo sh +``` + +oma 目前支持的 Debian 及 Ubuntu 版本如下: + +- Debian 12 +- Debian 11 +- Ubuntu 24.04 LTS +- Ubuntu 22.04 LTS +- Ubuntu 20.04 LTS + +### 新增 glibc 2.40 及 Linux 6.11 支持:libLoL 0.1.6 发布 + +![libLoL 持续助力龙架构新世界生态迁移!](/assets/news/coffee-break/20240918/imgs/liblol.png) + +近日,[王邈](https://github.com/shankerwangmiao "王邈")发布了安同 OS 龙架构新旧世界兼容框架 libLoL 的 0.1.6 版本。该版本更新顺应了 Debian 的 Glibc 更新和新的内核版本。本次更新主要包含如下内容: + +- 适配 glibc 2.40,以应对来自 Debian 的更新需求 +- 适配 Linux 6.11,同时将 `lxstat64()` 系统调用的实现切换至基于 `statx()` 调用的实现。 + +有关更多信息,请参考 [libLoL 0.1.6 更新日志](https://github.com/AOSC-Dev/liblol-website/commit/a7eaead08a52e3cc586973e313da0a50e976d0c9 "libLoL 0.1.6 更新日志")。 + +### 改善多媒体支持:FFmpeg 7.0 更新开放测试 + +由于维护人力不足且部分应用程序的 FFmpeg 特性升级迁移困难较大,安同 OS 的多媒体编解码库 FFmpeg 依旧处于 4.4 版本。该版本距今已经有三年历史,许多媒体格式的编解码器功能、性能及硬件支持上的短板日益凸显。 + +由于保持旧版 FFmpeg 使得大部分多媒体软件更新日益困难,社区近日将 FFmpeg 更新到了 7.0 版本,相信能够显著提高 AV1 等新兴多媒体格式及各类新硬件的支持水平。您可以通过在小熊猫包管理器中打开 `ffmpeg-7.0` 测试源以尝鲜本次 FFmpeg 大翻修: + +``` +oma topics --opt-in ffmpeg-7.0 +``` + +如果您在加入本测试源后遇到了问题,欢迎通过文末的各联系方式与我们联系! + +### WSL 安同 OS 发布 11.5.2 版更新 + +近日,[Kexy Biscuit(百合ヶ咲るる)](https://github.com/KexyBiscuit "Kexy Biscuit(百合ヶ咲るる)")发布了 WSL 安同 OS 的 11.5.2 版,包含近期发布的各类系统更新与修复(详细变更可参阅本期“集社区之精华:安同 OS 发布九月发行更新”一节的内容)。 + +如果您日常使用 Windows 工作,相信安同 OS 能为您的生产力环境添彩。 + +开发者角 +-------- + +### aosc-mklive 更新:离线安装盘支持、综合修复及安全性优化 + +由于安同 OS “不拆包” 的特性,安同 OS 的安装盘体积过于庞大,且没有包含系统包,常受用户诟病。数月前,[白铭骢](https://github.com/MingcongBai "白铭骢")提出利用分层文件系统 OverlayFS 实现集成系统包的安装介质的构想,[杨欣辉](https://github.com/Cyanoxygen "杨欣辉")随后开始探索其实现。 + +经过三个月的开发及测试,安同 OS 安装盘生成套件 [aosc-mklive](https://github.com/AOSC-Dev/aosc-mklive "aosc-mklive") 终于迎来了集成系统包的离线安装盘支持,同时正式发布第一批安同 OS 离线安装盘。新的安装盘利用 OverlayFS 的叠加机制,尽可能抽离了共用的系统组件,并利用 SquashFS 实现较高的压缩率,提高发行空间效率。与此同时,基于 EROFS 文件系统的安装盘也在积极开发及测试中,预计基于 EROFS 的安装盘相对于 SquashFS 启动、安装速度更快,使用体验更佳。 + +发布前夕,[Kexy Biscuit(百合ヶ咲るる)](https://github.com/KexyBiscuit "Kexy Biscuit(百合ヶ咲るる)")在测试安装盘时发现大量可用性及安全性问题,其中包括前文提到的 SSH 主机密钥问题。自上次发布的 20240801 版安装盘以来,本次发布的安装盘主要包含如下变更: + +- 支持龙架构旧世界固件引导安同 OS 安装盘 +- 修复带有 Optimus(带有核显及 NVIDIA 独显的双显卡设备)功能的多显卡设备支持 +- 以基于新 DeployKit 后端编写的新命令行安装程序 [dkcli](https://github.com/AOSC-Dev/dkcli "dkcli") 取代旧的命令行安装程序 +- 为安装及试用环境禁用屏幕节电及自动睡眠等电源功能,避免产生意外故障 +- 采取措施避免生成安装盘时预生成 SSH 主机密钥 +- 删除预设的 `live` 用户密码 +- 将内存检测工具 Memtest86+ 升级至 7.00 +- 新增救援与修复控制台(命令行安装环境)说明文字的简体中文翻译 + +### Ciel 3.4.3 发布:默认使用小熊猫包管理 (oma) + +作为安同 OS 的默认包管理功能,小熊猫包管理 (oma) 颇受用户青睐,并已经支持其他基于 dpkg 及 APT 包管理体系的发行版。然而,安同 OS 打包容器管理器 Ciel 依旧在使用 APT 安装依赖。为了让 Ciel 也能享受到 oma 支持多线程下载且性能较好的特性,[傅孝元](https://github.com/eatradish "傅孝元")近日将 Ciel 使用的默认包管理器由 APT 切换到 oma。为了确保打包的可靠性,本项特性没有应用到 RISC-V 及 QEMU 用户态模拟等已知会出现稳定性问题的平台。 + +如有必要,各位开发者依旧可以通过 `force_use_apt` 配置项或指定 `--force-use-apt` 参数临时将默认包管理器切换为 APT。 + +### BuildIt! 功能性修复一览 + +作为安同 OS 自动化维护设施的核心组件,[BuildIt!](https://github.com/AOSC-Dev/buildit "BuildIt!") 的使用体验及功能颇受贡献者关注。 + +日前,[Kexy Biscuit(百合ヶ咲るる)](https://github.com/KexyBiscuit "Kexy Biscuit(百合ヶ咲るる)")修复了几个参数名冲突的问题;[傅孝元](https://github.com/eatradish "傅孝元")通过增加线程修复了 `/openpr` 命令执行时的潜在竞态条件,并更新 `abbs-update-checksum` 组件,修复了多源码配置的解析(`/bump` 功能)。此外,根据贡献者请求,[白铭骢](https://github.com/MingcongBai "白铭骢")根据 Git 分支及引用名规则,将 `_` 字符加入了分支名字符白名单中。 + +### p-vector-rs 0.6.0 发布:改善 Debian 源支持,新增 Zstd 元数据压缩支持 + +在搭建 oma 的 Debian/Ubuntu 更新源的过程中,安同 OS 维护者发现了数个 [p-vector-rs](https://github.com/AOSC-Dev/p-vector-rs "p-vector-rs")(APT 软件源刷新与发布工具)中的兼容性问题。为此,[傅孝元](https://github.com/eatradish "傅孝元")与[刘子兴](https://github.com/liushuyu "刘子兴")提交数个补丁,修复了 Debian 软件包元数据文件(如 `control`)存放于在 `debian/` 子目录下时刷新出错及部分文件没有记录 UID/GID 时无法完成刷新的问题。 + +作为 0.6.0 版更新的一部分,[傅孝元](https://github.com/eatradish "傅孝元")还为 `Contents` 元数据文件(软件包内容数据库)引入了 Zstd 压缩支持,可显著降低用户刷新软件源数据的耗时,亦可改善及使用诸如 `oma provides/file` 命令检索软件包内容的响应速度。 + +### aoscbootstrap 0.7.3 发布:细节修缮 + +针对本次系统发行更新发布前遇到的问题,我们为 [aoscbootstrap](https://github.com/AOSC-Dev/aoscbootstrap "aoscbootstrap")(安同 OS 系统根及发行包生成工具集)提交了数个修复,并发布了 0.7.3 版。 + +其中,[Kexy Biscuit(百合ヶ咲るる)](https://github.com/KexyBiscuit "Kexy Biscuit(百合ヶ咲るる)")修缮了 `.sha256sum` 文件的写入逻辑,使其内容与 GNU Coreutils 中对应工具生成的内容一致(先前无法使用 `sha256sum -c` 命令直接进行校验);[白铭骢](https://github.com/MingcongBai "白铭骢")为清理脚本新增了 SSH 主机密钥的清理逻辑,解决前文提到的密钥泄漏问题。 + +### abbs-update-checksum 0.2.3 发布:修复多源码配置解析及 SourceForge 源码下载,优化 spec 查询逻辑 + +[abbs-update-checksum](https://github.com/AOSC-Dev/abbs-update-checksum "abbs-update-checksum") 作为安同 OS 自动化设施的一部分,协助 [BuildIt!](https://github.com/AOSC-Dev/buildit "BuildIt!") 在 `/bump` 命令过程中刷新源码校验和(亦可直接作为工具使用)。 + +日前,[张丙戊](https://github.com/xtexChooser "张丙戊")及[傅孝元](https://github.com/eatradish "傅孝元")为该工具提交了数个修复和优化: + +- 在软件包树找到第一个匹配 `spec` 时便停止遍历,改善工具响应速度 +- 修复刷新多源码 `spec` 时未正确写入对应校验和的问题 +- 修复 `-t` (`--tree`) 和 `-t` (`--threads`) 段参数名冲突的问题,新版中 `-t` 为 `--tree` 的别名 +- 避免设置 HTTP 请求头 (Request Header) 中的 Referer,以规避 SourceForge 源码错误下载到重定向网页的问题 + +### 《软件包样式指南》修订:新增源码包来源及 SourceForge URL 使用规范 + +根据近期调试 [abbs-update-checksum](https://github.com/AOSC-Dev/abbs-update-checksum "abbs-update-checksum") 下载 SourceForge 源码包时遇到的困难及调查结果(见上),[Kexy Biscuit(百合ヶ咲るる)](https://github.com/KexyBiscuit "Kexy Biscuit(百合ヶ咲るる)")提出如下两条关于 `SRCS=` 条目的规范要求: + +- 源码包来源:在可能的情况下尽可能使用官方推荐的源站或自动重定向设施,避免使用特定镜像站 +- SourceForge 源码包:遵从[官方指引](https://sourceforge.net/p/forge/documentation/Downloading%20files%20via%20the%20command%20line/ "官方指引"),在源码 URL 末尾保留 /download,如:`tbl::https://sourceforge.net/projects/wqy/files/wqy-microhei/${UPSTREAM_VER}/wqy-microhei-${UPSTREAM_VER}.tar.gz/download"` + +如上两条新要求将用于后续拉取请求 (Pull Request) 的审阅。 + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204 "salieri") +- [Henry Chen](https://github.com/chenx97 "Henry Chen") +- [柴天浩](https://github.com/cthbleachbit "柴天浩") +- [杨欣辉](https://github.com/Cyanoxygen "杨欣辉") +- [傅孝元](https://github.com/eatradish "傅孝元") +- [Zixuan "Lain" Yang](https://github.com/Fearyncess "Zixuan Lain Yang") +- [Glenn Strauss](https://github.com/gstrauss "Glenn Strauss") +- [Harry Chen](https://github.com/Harry-Chen "Harry Chen") +- [德州润华](https://github.com/HouLiXieBuRou "德州润华") +- [Icenowy Zheng](https://github.com/Icenowy "Icenowy Zheng") +- [Ivan Maidanski](https://github.com/ivmai "Ivan Maidanski") +- [陈嘉杰 (jiegec)](https://github.com/jiegec "陈嘉杰 (jiegec)") +- [王翔 (KatyushaScarlet)](https://github.com/KatyushaScarlet "王翔 (KatyushaScarlet)") +- [Kexy Biscuit(百合ヶ咲るる)](https://github.com/KexyBiscuit "Kexy Biscuit(百合ヶ咲るる)") +- [leavelet](https://github.com/leavelet "leavelet") +- [刘子兴](https://github.com/liushuyu "刘子兴") +- [lwzhenglittle](https://github.com/lwzhenglittle "lwzhenglittle") +- [白铭骢](https://github.com/MingcongBai "白铭骢") +- [千须末 (OriginCode)](https://github.com/OriginCode "千须末 (OriginCode)") +- [ouankou](https://github.com/ouankou "ouankou") +- [Outvi V](https://github.com/outloudvi "Outvi V") +- [bubu](https://github.com/p3psi-boo "bubu") +- [日落果](https://github.com/purofle "日落果") +- [Rick Liu](https://github.com/rickliu2000 "Rick Liu") +- [王邈](https://github.com/shankerwangmiao "王邈") +- [shatian114](https://github.com/shatian114 "shatian114") +- [skybird](https://github.com/SkyBird233 "skybird") +- [Student Main](https://github.com/stdmnpkg "Student Main") +- [Suyun](https://github.com/Suyun114 "Suyun") +- [张丙戊](https://github.com/xtexChooser "张丙戊") +- [温柔](https://github.com/xunpod "温柔") + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [Errant](https://github.com/Errant404 "Errant") + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-09-19-coffee-break.zh-cn.md b/content/news/2024-09-19-coffee-break.zh-cn.md new file mode 100644 index 00000000..1d6eb22b --- /dev/null +++ b/content/news/2024-09-19-coffee-break.zh-cn.md @@ -0,0 +1,251 @@ +--- +categories: + - journals +title: "安记冰室・九月上" +date: 2024-09-19T23:00:00+08:00 +important: false +home: true +--- + + + +> “豆沙、莲蓉、五仁、火腿、鲜肉和枣泥月饼诶,摆一桌嘞——” + +欢迎阅读安同开源社区 (AOSC) 期刊《安记冰室》!本栏目旨在以轻松可及的方式,以图文形式介绍过去两周的开发进展、社区事务与近期社区内外活动资讯。此外,本栏目还用于发布与社团及行业人士及代表的访谈录,以特辑形式发布。本栏目不发表评论性内容。 + +用户公告 +-------- + +### 速更新!安同 OS 离线安装盘意外安装预制 SSH 主机密钥 + +![OpenSSH 组件更新时的安全警告示意图](/assets/news/coffee-break/20240918/imgs/openssh-advisory.png) + +由于离线安装盘生成工具中的清理流程设计疏忽,自六月底开始发行的安同 OS 离线安装盘(即文件名由 `aosc-os_installer` 开头的 ISO 镜像)所包含的系统镜像均未正确清理 SSH 主机密钥,致使安装后的系统中亦使用了该主机密钥。 + +考虑到安同 OS 默认开启 SSH 服务,该疏忽恐严重影响用户安全:这些密钥可能导致其它主机能够冒充您的主机的身份,从而窃取您的登入口令和与主机之间的 SSH 会话的内容。但是,如果您使用 SSH 公钥作为登入凭据,则不受影响。 + +为此,我们紧急发布了 OpenSSH 更新(版本 `9.8p1-4`)修补这一问题:在匹配到已知泄漏的主机密钥的密码学指纹 (fingerprint) 时,将清理并重新生成系统中的 SSH 主机密钥。**如有可能,请尽快更新安同 OS,以免存留安全隐患。** + +**请注意:更新完成后,AOSC OS 将重启 SSH 服务守护程序,但不会影响当前已经建立的 SSH 连接;如果您对外提供 SSH 服务,您的用户在连接受影响的 SSH/SCP/SFTP 服务时可能会遇到连接错误。因此,您可能需要将有关情况告知您的用户,并引导他们删除先前信任的 SSH 主机密钥记录。** + +我们为此带来的不便表示歉意。 + +社区脉动 +-------- + +### 携手社团:秋季安同 “校园行” 活动前瞻 + +![三月,曲阜师范大学计算机爱好者协会的徐尔芃同学为“校园行”活动开幕](/assets/news/coffee-break/20240918/imgs/qfnu-ace.jpg) + +在今年开春的甲辰烙饼会上,社区提出了安同 “校园行” 活动的设想:深入大学校园,通过学生社团为大学学生和行业上的一线开发者、社区贡献者之间建立沟通的桥梁,埋下参与社区与开源软件贡献的种子。今年三月,社区成功在曲阜师范大学举办了[第一次安同 “校园行”](https://website-2023.aosc.io/news/detail/2024-03-20-qfnu-computing-evolved.zh-cn.md "第一次安同 “校园行”")活动。 + +“校园行”成功迈出的第一步激起了一批院校的兴趣。因此,安同 “校园行” 活动计划将在十月国庆假期后重启,让更多高校学生接触社区、了解开源和融入贡献者群体。国庆假期后的第一次 “校园行” 活动预计在宁夏理工学院举办,届时将邀请社区贡献者及行业一线工作者前往与社团学生们互动。 + +至截稿时,兰州大学、山东大学与南阳理工学院等院校的开源与计算机社团们也表达了承办 “校园行” 的意愿。同时,我们也诚邀国内各个院校的计算机社团与我们一起举办 “校园行” 活动。 + +“校园行” 活动为志愿性质且活动形式灵活,因此社团无需提供资金方面的支持,也可根据需要提出活动形式及演讲主题等。如果您是社团负责人且有意承办“校园行”活动,欢迎[与我们联系](https://website-2023.aosc.io/contact "与我们联系")! + +系统快讯 +-------- + +### 集社区之精华:安同 OS 发布九月发行更新 + +![庆中秋,安同 OS 发布九月发行更新](/assets/news/coffee-break/20240918/imgs/mid-autumn-aosc-os-slim.png) + +新一批安同 OS 系统发行更新来啦! + +本批发行更新包含自 8 月初以来的各类系统组件更新及安全修复,亦包括针对 Hyper-V、VMware 及 VirtualBox 等虚拟化平台、较新 x86 设备及龙架构平台的功能及支持优化;我们还针对系统安装体验和可靠性进行了大量调优和修复 + +#### 下载系统 + +新网站上线在即,我们将完整的发行注记随新的下载页面一同发布,来一睹为快吧~ + +- [下载安同 OS](https://website-2023.aosc.io/download "下载安同 OS") +- [查阅发行注记(2024 年 9 月)](https://website-2023.aosc.io/aosc-os/relnote "查阅发行注记(2024 年 9 月)") + +### 界面再升级:小熊猫包管理 oma 发布 1.10 + +![轻松管,轻松用:oma 助您便捷完成系统组件管理](/assets/news/coffee-break/20240918/imgs/oma-comic-slim.png) + +日前,[傅孝元](https://github.com/eatradish "傅孝元")发布了小熊猫包管理 (oma) 的 1.10 版。 + +本次更新着重对小熊猫包管理的确认界面、表格排版等逻辑进行了优化,在各种不同的终端环境中界面更清晰、好用。“找不到命令 (command-not-found)”界面的设计也进行了调整,在结果较多时对搜索候选的数量进行限制,并引导用户查阅完整列表。 + +此外,本版还针对 Debian/Ubuntu 用户使用过程中遇到的性能及界面问题进行了针对性调优:如根据这些发行版软件仓库较大的情况,降低了软件包搜索功能的索引复杂度,也对其他需要等待的界面添加了等待提示 + +oma 1.10 是基于 1.10 RC1 测试后发布的,相对于 1.9 还包含许多细节修复与调整。欢迎各位查阅 [1.10 RC1 的测试公告](1.10-rc1-relnote.md "1.10 RC1 的测试公告") ,了解 1.10 新特性与修复的技术细节。 + +#### 安装指南 + +oma 1.10 已推送安同 OS 稳定源,更新系统即可获取 oma 1.10 ;我们亦同步将 oma 更新推送到了我们的 Debian/Ubuntu 软件源中 + +运行如下命令即可配置软件源并自动安装 oma,后续可通过更新系统自动获取 oma 更新: + +```bash +curl -sSf https://repo.aosc.io/get-oma.sh | sudo sh +``` + +oma 目前支持的 Debian 及 Ubuntu 版本如下: + +- Debian 12 +- Debian 11 +- Ubuntu 24.04 LTS +- Ubuntu 22.04 LTS +- Ubuntu 20.04 LTS + +### 新增 glibc 2.40 及 Linux 6.11 支持:libLoL 0.1.6 发布 + +![libLoL 持续助力龙架构新世界生态迁移!](/assets/news/coffee-break/20240918/imgs/liblol.png) + +近日,[王邈](https://github.com/shankerwangmiao "王邈")发布了安同 OS 龙架构新旧世界兼容框架 libLoL 的 0.1.6 版本。该版本更新顺应了 Debian 的 Glibc 更新和新的内核版本。本次更新主要包含如下内容: + +- 适配 glibc 2.40,以应对来自 Debian 的更新需求 +- 适配 Linux 6.11,同时将 `lxstat64()` 系统调用的实现切换至基于 `statx()` 调用的实现。 + +有关更多信息,请参考 [libLoL 0.1.6 更新日志](https://github.com/AOSC-Dev/liblol-website/commit/a7eaead08a52e3cc586973e313da0a50e976d0c9 "libLoL 0.1.6 更新日志")。 + +### 改善多媒体支持:FFmpeg 7.0 更新开放测试 + +由于维护人力不足且部分应用程序的 FFmpeg 特性升级迁移困难较大,安同 OS 的多媒体编解码库 FFmpeg 依旧处于 4.4 版本。该版本距今已经有三年历史,许多媒体格式的编解码器功能、性能及硬件支持上的短板日益凸显。 + +由于保持旧版 FFmpeg 使得大部分多媒体软件更新日益困难,社区近日将 FFmpeg 更新到了 7.0 版本,相信能够显著提高 AV1 等新兴多媒体格式及各类新硬件的支持水平。您可以通过在小熊猫包管理器中打开 `ffmpeg-7.0` 测试源以尝鲜本次 FFmpeg 大翻修: + +``` +oma topics --opt-in ffmpeg-7.0 +``` + +如果您在加入本测试源后遇到了问题,欢迎通过文末的各联系方式与我们联系! + +### WSL 安同 OS 发布 11.5.2 版更新 + +近日,[Kexy Biscuit(百合ヶ咲るる)](https://github.com/KexyBiscuit "Kexy Biscuit(百合ヶ咲るる)")发布了 WSL 安同 OS 的 11.5.2 版,包含近期发布的各类系统更新与修复(详细变更可参阅本期“集社区之精华:安同 OS 发布九月发行更新”一节的内容)。 + +如果您日常使用 Windows 工作,相信安同 OS 能为您的生产力环境添彩。 + +开发者角 +-------- + +### aosc-mklive 更新:离线安装盘支持、综合修复及安全性优化 + +由于安同 OS “不拆包” 的特性,安同 OS 的安装盘体积过于庞大,且没有包含系统包,常受用户诟病。数月前,[白铭骢](https://github.com/MingcongBai "白铭骢")提出利用分层文件系统 OverlayFS 实现集成系统包的安装介质的构想,[杨欣辉](https://github.com/Cyanoxygen "杨欣辉")随后开始探索其实现。 + +经过三个月的开发及测试,安同 OS 安装盘生成套件 [aosc-mklive](https://github.com/AOSC-Dev/aosc-mklive "aosc-mklive") 终于迎来了集成系统包的离线安装盘支持,同时正式发布第一批安同 OS 离线安装盘。新的安装盘利用 OverlayFS 的叠加机制,尽可能抽离了共用的系统组件,并利用 SquashFS 实现较高的压缩率,提高发行空间效率。与此同时,基于 EROFS 文件系统的安装盘也在积极开发及测试中,预计基于 EROFS 的安装盘相对于 SquashFS 启动、安装速度更快,使用体验更佳。 + +发布前夕,[Kexy Biscuit(百合ヶ咲るる)](https://github.com/KexyBiscuit "Kexy Biscuit(百合ヶ咲るる)")在测试安装盘时发现大量可用性及安全性问题,其中包括前文提到的 SSH 主机密钥问题。自上次发布的 20240801 版安装盘以来,本次发布的安装盘主要包含如下变更: + +- 支持龙架构旧世界固件引导安同 OS 安装盘 +- 修复带有 Optimus(带有核显及 NVIDIA 独显的双显卡设备)功能的多显卡设备支持 +- 以基于新 DeployKit 后端编写的新命令行安装程序 [dkcli](https://github.com/AOSC-Dev/dkcli "dkcli") 取代旧的命令行安装程序 +- 为安装及试用环境禁用屏幕节电及自动睡眠等电源功能,避免产生意外故障 +- 采取措施避免生成安装盘时预生成 SSH 主机密钥 +- 删除预设的 `live` 用户密码 +- 将内存检测工具 Memtest86+ 升级至 7.00 +- 新增救援与修复控制台(命令行安装环境)说明文字的简体中文翻译 + +### Ciel 3.4.3 发布:默认使用小熊猫包管理 (oma) + +作为安同 OS 的默认包管理功能,小熊猫包管理 (oma) 颇受用户青睐,并已经支持其他基于 dpkg 及 APT 包管理体系的发行版。然而,安同 OS 打包容器管理器 Ciel 依旧在使用 APT 安装依赖。为了让 Ciel 也能享受到 oma 支持多线程下载且性能较好的特性,[傅孝元](https://github.com/eatradish "傅孝元")近日将 Ciel 使用的默认包管理器由 APT 切换到 oma。为了确保打包的可靠性,本项特性没有应用到 RISC-V 及 QEMU 用户态模拟等已知会出现稳定性问题的平台。 + +如有必要,各位开发者依旧可以通过 `force_use_apt` 配置项或指定 `--force-use-apt` 参数临时将默认包管理器切换为 APT。 + +### BuildIt! 功能性修复一览 + +作为安同 OS 自动化维护设施的核心组件,[BuildIt!](https://github.com/AOSC-Dev/buildit "BuildIt!") 的使用体验及功能颇受贡献者关注。 + +日前,[Kexy Biscuit(百合ヶ咲るる)](https://github.com/KexyBiscuit "Kexy Biscuit(百合ヶ咲るる)")修复了几个参数名冲突的问题;[傅孝元](https://github.com/eatradish "傅孝元")通过增加线程修复了 `/openpr` 命令执行时的潜在竞态条件,并更新 `abbs-update-checksum` 组件,修复了多源码配置的解析(`/bump` 功能)。此外,根据贡献者请求,[白铭骢](https://github.com/MingcongBai "白铭骢")根据 Git 分支及引用名规则,将 `_` 字符加入了分支名字符白名单中。 + +### p-vector-rs 0.6.0 发布:改善 Debian 源支持,新增 Zstd 元数据压缩支持 + +在搭建 oma 的 Debian/Ubuntu 更新源的过程中,安同 OS 维护者发现了数个 [p-vector-rs](https://github.com/AOSC-Dev/p-vector-rs "p-vector-rs")(APT 软件源刷新与发布工具)中的兼容性问题。为此,[傅孝元](https://github.com/eatradish "傅孝元")与[刘子兴](https://github.com/liushuyu "刘子兴")提交数个补丁,修复了 Debian 软件包元数据文件(如 `control`)存放于在 `debian/` 子目录下时刷新出错及部分文件没有记录 UID/GID 时无法完成刷新的问题。 + +作为 0.6.0 版更新的一部分,[傅孝元](https://github.com/eatradish "傅孝元")还为 `Contents` 元数据文件(软件包内容数据库)引入了 Zstd 压缩支持,可显著降低用户刷新软件源数据的耗时,亦可改善及使用诸如 `oma provides/file` 命令检索软件包内容的响应速度。 + +### aoscbootstrap 0.7.3 发布:细节修缮 + +针对本次系统发行更新发布前遇到的问题,我们为 [aoscbootstrap](https://github.com/AOSC-Dev/aoscbootstrap "aoscbootstrap")(安同 OS 系统根及发行包生成工具集)提交了数个修复,并发布了 0.7.3 版。 + +其中,[Kexy Biscuit(百合ヶ咲るる)](https://github.com/KexyBiscuit "Kexy Biscuit(百合ヶ咲るる)")修缮了 `.sha256sum` 文件的写入逻辑,使其内容与 GNU Coreutils 中对应工具生成的内容一致(先前无法使用 `sha256sum -c` 命令直接进行校验);[白铭骢](https://github.com/MingcongBai "白铭骢")为清理脚本新增了 SSH 主机密钥的清理逻辑,解决前文提到的密钥泄漏问题。 + +### abbs-update-checksum 0.2.3 发布:修复多源码配置解析及 SourceForge 源码下载,优化 spec 查询逻辑 + +[abbs-update-checksum](https://github.com/AOSC-Dev/abbs-update-checksum "abbs-update-checksum") 作为安同 OS 自动化设施的一部分,协助 [BuildIt!](https://github.com/AOSC-Dev/buildit "BuildIt!") 在 `/bump` 命令过程中刷新源码校验和(亦可直接作为工具使用)。 + +日前,[张丙戊](https://github.com/xtexChooser "张丙戊")及[傅孝元](https://github.com/eatradish "傅孝元")为该工具提交了数个修复和优化: + +- 在软件包树找到第一个匹配 `spec` 时便停止遍历,改善工具响应速度 +- 修复刷新多源码 `spec` 时未正确写入对应校验和的问题 +- 修复 `-t` (`--tree`) 和 `-t` (`--threads`) 段参数名冲突的问题,新版中 `-t` 为 `--tree` 的别名 +- 避免设置 HTTP 请求头 (Request Header) 中的 Referer,以规避 SourceForge 源码错误下载到重定向网页的问题 + +### 《软件包样式指南》修订:新增源码包来源及 SourceForge URL 使用规范 + +根据近期调试 [abbs-update-checksum](https://github.com/AOSC-Dev/abbs-update-checksum "abbs-update-checksum") 下载 SourceForge 源码包时遇到的困难及调查结果(见上),[Kexy Biscuit(百合ヶ咲るる)](https://github.com/KexyBiscuit "Kexy Biscuit(百合ヶ咲るる)")提出如下两条关于 `SRCS=` 条目的规范要求: + +- 源码包来源:在可能的情况下尽可能使用官方推荐的源站或自动重定向设施,避免使用特定镜像站 +- SourceForge 源码包:遵从[官方指引](https://sourceforge.net/p/forge/documentation/Downloading%20files%20via%20the%20command%20line/ "官方指引"),在源码 URL 末尾保留 /download,如:`tbl::https://sourceforge.net/projects/wqy/files/wqy-microhei/${UPSTREAM_VER}/wqy-microhei-${UPSTREAM_VER}.tar.gz/download"` + +如上两条新要求将用于后续拉取请求 (Pull Request) 的审阅。 + +### 红花榜 + +感谢在过去一期中参与 AOSC 项目开发和维护工作的各位同事: + +- [salieri](https://github.com/BC204 "salieri") +- [Henry Chen](https://github.com/chenx97 "Henry Chen") +- [柴天浩](https://github.com/cthbleachbit "柴天浩") +- [杨欣辉](https://github.com/Cyanoxygen "杨欣辉") +- [傅孝元](https://github.com/eatradish "傅孝元") +- [Zixuan "Lain" Yang](https://github.com/Fearyncess "Zixuan Lain Yang") +- [Glenn Strauss](https://github.com/gstrauss "Glenn Strauss") +- [Harry Chen](https://github.com/Harry-Chen "Harry Chen") +- [德州润华](https://github.com/HouLiXieBuRou "德州润华") +- [Icenowy Zheng](https://github.com/Icenowy "Icenowy Zheng") +- [Ivan Maidanski](https://github.com/ivmai "Ivan Maidanski") +- [陈嘉杰 (jiegec)](https://github.com/jiegec "陈嘉杰 (jiegec)") +- [王翔 (KatyushaScarlet)](https://github.com/KatyushaScarlet "王翔 (KatyushaScarlet)") +- [Kexy Biscuit(百合ヶ咲るる)](https://github.com/KexyBiscuit "Kexy Biscuit(百合ヶ咲るる)") +- [leavelet](https://github.com/leavelet "leavelet") +- [刘子兴](https://github.com/liushuyu "刘子兴") +- [lwzhenglittle](https://github.com/lwzhenglittle "lwzhenglittle") +- [白铭骢](https://github.com/MingcongBai "白铭骢") +- [千须末 (OriginCode)](https://github.com/OriginCode "千须末 (OriginCode)") +- [ouankou](https://github.com/ouankou "ouankou") +- [Outvi V](https://github.com/outloudvi "Outvi V") +- [bubu](https://github.com/p3psi-boo "bubu") +- [日落果](https://github.com/purofle "日落果") +- [Rick Liu](https://github.com/rickliu2000 "Rick Liu") +- [王邈](https://github.com/shankerwangmiao "王邈") +- [shatian114](https://github.com/shatian114 "shatian114") +- [skybird](https://github.com/SkyBird233 "skybird") +- [Student Main](https://github.com/stdmnpkg "Student Main") +- [Suyun](https://github.com/Suyun114 "Suyun") +- [张丙戊](https://github.com/xtexChooser "张丙戊") +- [温柔](https://github.com/xunpod "温柔") + +此外,欢迎新加入我社贡献者行列的新人,愿合作愉快,共同进步: + +- [Errant](https://github.com/Errant404 "Errant") + + +栏目介绍 +-------- + +考虑到社区项目和文化等日趋成熟,我们决定重启外联和宣传工作,在更广阔的天地寻找志同道合的朋友。 + +您阅读的本期半月刊即是我们外宣工作的一部分,我们的文字宣传栏目如下: + +- 安记冰室:社区双周报及访谈栏目 +- 聊斋:信创及稀见软硬件专题 +- 怀古:古董软硬件专题 +- 实况:各类线下活动资讯 + +其中,《安记冰室》于北京时间 (UTC+8) 每月第二、四个周末发布,其他栏目均视讯息内容及编辑进展发布;发布平台包括: + +- 社区门户 +- 微信公众号“安同开源” +- Bilibili 帐号“安同开源社区” +- 知乎帐号“安同开源社区” +- 微博帐号 @安同开源 +- Twitter/X @aosc_dev_cn 及 @aosc_dev(英文) + +此外,我们正寻求国内开源及 Linux 相关媒体的朋友合作,一起将我社的工作和文化广而告之。 diff --git a/content/news/2024-09-24-website-2023-up.md b/content/news/2024-09-24-website-2023-up.md new file mode 100644 index 00000000..490203d9 --- /dev/null +++ b/content/news/2024-09-24-website-2023-up.md @@ -0,0 +1,35 @@ +--- +categories: + - advisories + - news +title: "社区新门户上线!" +date: 2024-09-24T23:00:00+08:00 +important: false +home: true +--- + +经过逾一年艰难的选型、开发和内容编写,社区的新门户终于竣工,与大家见面了(其实问题还很多,但差不多是时候让年久失修的老门户退休了)! + +门户网站的主要设计目标是在单屏幕空间中显示尽可能多的有用信息,其主要实现手段是综合使用多列布局及纵横导航部件;此外,新门户网站还尝试摆脱 FOSS 社区网站的一些常见设计导向,采取图文混编、产品导向为主要呈现逻辑,方便新老用户了解社区项目、活动及公告等。 + +外观设计方面,本门户网站有意地模仿了来自 2000 年代的 Web 1.0 审美(但从布局及技术上依然采用了现代技术);本网站的布局灵感来源于 2001 - 2004 年间的微软 Windows 主页: + +- 参考甲:[Windows XP 主页(2001 年末)](https://web.archive.org/web/20011211230629/http://microsoft.com/windowsxp/default.asp "Windows XP 主页(2001 年末)") + +![](/assets/news/2024-09-24-Windows-XP-Home-Page.png) + +- 参考乙:[Windows XP 中期主页(2004 年)](https://web.archive.org/web/20040204080626/http://www.microsoft.com/china/windows/default.mspx "Windows XP 中期主页(2004 年)") + +![](/assets/news/2024-09-24-Windows-product-home-page.png) + +技术架构方面,该网站为客户端渲染 (client-side render) 的单页 Web 应用程序,我们计划在未来一段时间就将网站转写为服务端渲染 (server-side render) 或静态生成网站 (static site generator),提高网站的可索引性及性能。 + +目前网站亦未对移动端、低性能(星霞 OS 目标)设备及功能受限的浏览器优化,我们计划在后续研判是否通过实现专用网站解决此问题。 + +## 后续计划 + +考虑到上线本身存在时间及交付压力,我们决定将一部分工作留作上线后的愿望清单;如果您有兴趣参与推进相关工作,欢迎与我们联系。 + +[上线后迭代愿望清单 >>](https://github.com/AOSC-Dev/website-2023/issues/19) + +如果您在浏览社区门户时遇到问题,也欢迎您在社区各群组与我们联系,或在[网站源码仓库](https://github.com/AOSC-Dev/website-2023 "网站源码仓库")提交问题报告 (issue)。 diff --git a/content/news/2024-09-24-website-2023-up.zh-cn.md b/content/news/2024-09-24-website-2023-up.zh-cn.md new file mode 100644 index 00000000..490203d9 --- /dev/null +++ b/content/news/2024-09-24-website-2023-up.zh-cn.md @@ -0,0 +1,35 @@ +--- +categories: + - advisories + - news +title: "社区新门户上线!" +date: 2024-09-24T23:00:00+08:00 +important: false +home: true +--- + +经过逾一年艰难的选型、开发和内容编写,社区的新门户终于竣工,与大家见面了(其实问题还很多,但差不多是时候让年久失修的老门户退休了)! + +门户网站的主要设计目标是在单屏幕空间中显示尽可能多的有用信息,其主要实现手段是综合使用多列布局及纵横导航部件;此外,新门户网站还尝试摆脱 FOSS 社区网站的一些常见设计导向,采取图文混编、产品导向为主要呈现逻辑,方便新老用户了解社区项目、活动及公告等。 + +外观设计方面,本门户网站有意地模仿了来自 2000 年代的 Web 1.0 审美(但从布局及技术上依然采用了现代技术);本网站的布局灵感来源于 2001 - 2004 年间的微软 Windows 主页: + +- 参考甲:[Windows XP 主页(2001 年末)](https://web.archive.org/web/20011211230629/http://microsoft.com/windowsxp/default.asp "Windows XP 主页(2001 年末)") + +![](/assets/news/2024-09-24-Windows-XP-Home-Page.png) + +- 参考乙:[Windows XP 中期主页(2004 年)](https://web.archive.org/web/20040204080626/http://www.microsoft.com/china/windows/default.mspx "Windows XP 中期主页(2004 年)") + +![](/assets/news/2024-09-24-Windows-product-home-page.png) + +技术架构方面,该网站为客户端渲染 (client-side render) 的单页 Web 应用程序,我们计划在未来一段时间就将网站转写为服务端渲染 (server-side render) 或静态生成网站 (static site generator),提高网站的可索引性及性能。 + +目前网站亦未对移动端、低性能(星霞 OS 目标)设备及功能受限的浏览器优化,我们计划在后续研判是否通过实现专用网站解决此问题。 + +## 后续计划 + +考虑到上线本身存在时间及交付压力,我们决定将一部分工作留作上线后的愿望清单;如果您有兴趣参与推进相关工作,欢迎与我们联系。 + +[上线后迭代愿望清单 >>](https://github.com/AOSC-Dev/website-2023/issues/19) + +如果您在浏览社区门户时遇到问题,也欢迎您在社区各群组与我们联系,或在[网站源码仓库](https://github.com/AOSC-Dev/website-2023 "网站源码仓库")提交问题报告 (issue)。 diff --git a/content/news/2024-09-25-kernel-20240925.md b/content/news/2024-09-25-kernel-20240925.md new file mode 100644 index 00000000..dd185355 --- /dev/null +++ b/content/news/2024-09-25-kernel-20240925.md @@ -0,0 +1,35 @@ +--- +categories: + - advisories +title: "Linux 内核测试公告(2024 年 9 月 25 日)" +date: 2024-09-25T23:00:00+08:00 +important: false +home: true +--- +![](/assets/news/kernel-20240925.png) + +主线设备 Linux 6.11.0 内核及 MIPS 龙芯三号 (loongson3) Linux 5.4.285-rc1 内核已完成补丁及配置整理,现邀请安同 OS 用户好友们测试。 + +完整修改日志及参与测试的方式请详见下文。 + +## 用于主线设备的 Linux 6.11.0 更新 + +获取测试更新: +``` +oma topics --opt-in linux-kernel-6.11.0 +``` +Linux 内核 6.11 包含许多补丁调整,并新增由 bigshans 维护的 [cjktty 补丁](https://github.com/bigshans/cjktty-patches "cjktty 补丁")(在 KMSCON 接管终端前亦可显示 Unicode 文本,中文用户在遇到系统崩溃时也可以看到正确渲染的错误信息);内核配置亦有小幅度调整。 + +此版作为安同 OS 引入硬件验证测试的首个内核分支,测试周期较长,预计在 Kernel.org 上游 6.10 分支结束支持(EOL)或转为长期支持(longterm)前后合并,欢迎所有主线设备用户参与测试并提供反馈意见。 + +[更改日志 >>](https://github.com/AOSC-Dev/aosc-os-abbs/pull/7680) + +## 用于 MIPS 龙芯三号的 Linux 5.4.285-rc1 更新 + +获取测试更新: +``` +linux-kernel-lemote-5.4.285 +``` +常规更新并刷新补丁集,预计在 Kernel.org 上游发布 5.4.285 后合并,欢迎各类 3A/B1000-4000 设备用户参与测试并提供反馈意见。 + +[更改日志 >>](https://github.com/AOSC-Dev/aosc-os-abbs/pull/8028) diff --git a/content/news/2024-09-25-kernel-20240925.zh-cn.md b/content/news/2024-09-25-kernel-20240925.zh-cn.md new file mode 100644 index 00000000..dd185355 --- /dev/null +++ b/content/news/2024-09-25-kernel-20240925.zh-cn.md @@ -0,0 +1,35 @@ +--- +categories: + - advisories +title: "Linux 内核测试公告(2024 年 9 月 25 日)" +date: 2024-09-25T23:00:00+08:00 +important: false +home: true +--- +![](/assets/news/kernel-20240925.png) + +主线设备 Linux 6.11.0 内核及 MIPS 龙芯三号 (loongson3) Linux 5.4.285-rc1 内核已完成补丁及配置整理,现邀请安同 OS 用户好友们测试。 + +完整修改日志及参与测试的方式请详见下文。 + +## 用于主线设备的 Linux 6.11.0 更新 + +获取测试更新: +``` +oma topics --opt-in linux-kernel-6.11.0 +``` +Linux 内核 6.11 包含许多补丁调整,并新增由 bigshans 维护的 [cjktty 补丁](https://github.com/bigshans/cjktty-patches "cjktty 补丁")(在 KMSCON 接管终端前亦可显示 Unicode 文本,中文用户在遇到系统崩溃时也可以看到正确渲染的错误信息);内核配置亦有小幅度调整。 + +此版作为安同 OS 引入硬件验证测试的首个内核分支,测试周期较长,预计在 Kernel.org 上游 6.10 分支结束支持(EOL)或转为长期支持(longterm)前后合并,欢迎所有主线设备用户参与测试并提供反馈意见。 + +[更改日志 >>](https://github.com/AOSC-Dev/aosc-os-abbs/pull/7680) + +## 用于 MIPS 龙芯三号的 Linux 5.4.285-rc1 更新 + +获取测试更新: +``` +linux-kernel-lemote-5.4.285 +``` +常规更新并刷新补丁集,预计在 Kernel.org 上游发布 5.4.285 后合并,欢迎各类 3A/B1000-4000 设备用户参与测试并提供反馈意见。 + +[更改日志 >>](https://github.com/AOSC-Dev/aosc-os-abbs/pull/8028) diff --git a/content/news/2024-09-27-cups-0day-advisory.md b/content/news/2024-09-27-cups-0day-advisory.md new file mode 100644 index 00000000..e93dde85 --- /dev/null +++ b/content/news/2024-09-27-cups-0day-advisory.md @@ -0,0 +1,25 @@ +--- +categories: + - advisories +title: "前方注意!CUPS 及相关软件包推送高危漏洞修复" +date: 2024-09-27T10:00:00+08:00 +important: true +home: true +--- + +北京时间今日凌晨,安全研究员 [evilsocket](https://www.evilsocket.net/2024/09/26/Attacking-UNIX-systems-via-CUPS-Part-I/) 披露了与 CUPS 等软件包相关的四个安全漏洞,CVSS 3.1 评分最高达到 [9.1](https://www.cve.org/CVERecord?id=CVE-2024-47177)。 + +目前,安同 OS 相关修复已经推送至稳定 (`stable`) 软件源。考虑到该漏洞已公开且可利用,建议用户尽快更新,相关软件包及其修复版本见下: + +- `cups` (2.4.10-2) +- `cups-browsed` (2.0.0-1) +- `libcupsfilters` (2.0.0-1) +- `libppd` (2.0.0-1) + +升级完成后,如 cups.service 服务正在运行,推荐用户重启服务,方式见下。重启系统也能达成同样的效果。 + +``` +sudo systemctl try-restart cups +``` + +另:由于 `cups-browsed` 软件包在实践中用途有限,并且无法彻底修复与之相关的安全漏洞,软件包 `cups-filters` 版本 `2.0.0-2` 已不再推荐安装 `cups-browsed`,推荐无需相关功能的用户主动卸载 `cups-browsed` 软件包。 \ No newline at end of file diff --git a/content/news/2024-09-27-cups-0day-advisory.zh-cn.md b/content/news/2024-09-27-cups-0day-advisory.zh-cn.md new file mode 100644 index 00000000..e93dde85 --- /dev/null +++ b/content/news/2024-09-27-cups-0day-advisory.zh-cn.md @@ -0,0 +1,25 @@ +--- +categories: + - advisories +title: "前方注意!CUPS 及相关软件包推送高危漏洞修复" +date: 2024-09-27T10:00:00+08:00 +important: true +home: true +--- + +北京时间今日凌晨,安全研究员 [evilsocket](https://www.evilsocket.net/2024/09/26/Attacking-UNIX-systems-via-CUPS-Part-I/) 披露了与 CUPS 等软件包相关的四个安全漏洞,CVSS 3.1 评分最高达到 [9.1](https://www.cve.org/CVERecord?id=CVE-2024-47177)。 + +目前,安同 OS 相关修复已经推送至稳定 (`stable`) 软件源。考虑到该漏洞已公开且可利用,建议用户尽快更新,相关软件包及其修复版本见下: + +- `cups` (2.4.10-2) +- `cups-browsed` (2.0.0-1) +- `libcupsfilters` (2.0.0-1) +- `libppd` (2.0.0-1) + +升级完成后,如 cups.service 服务正在运行,推荐用户重启服务,方式见下。重启系统也能达成同样的效果。 + +``` +sudo systemctl try-restart cups +``` + +另:由于 `cups-browsed` 软件包在实践中用途有限,并且无法彻底修复与之相关的安全漏洞,软件包 `cups-filters` 版本 `2.0.0-2` 已不再推荐安装 `cups-browsed`,推荐无需相关功能的用户主动卸载 `cups-browsed` 软件包。 \ No newline at end of file diff --git a/content/news/2024-09-28-aosc-os-set-fcitx5-to-fcitx.md b/content/news/2024-09-28-aosc-os-set-fcitx5-to-fcitx.md new file mode 100644 index 00000000..a015bf27 --- /dev/null +++ b/content/news/2024-09-28-aosc-os-set-fcitx5-to-fcitx.md @@ -0,0 +1,32 @@ +--- +categories: + - advisories +title: "近期安装的安同 OS 可能无法在部分程序中使用输入法" +date: 2024-09-28T10:00:00+08:00 +important: true +home: true +--- + +在九月发布的安装盘中,默认系统配置中设置了错误的输入法模块,导致一部分闭源软件(已知微信及 Steam 受此问题波及)无法正常使用输入法。 + +由于这一部分默认配置属于用户配置,我们无法通过系统更新修复该问题;如果您遇到此问题,请打开终端模拟器,使用如下命令打开当前用户的 .xprofile 配置文件: +```shell +nano ~/.xprofile +``` +将文件开头四行的 `fcitx5` 字样逐一改为 `fcitx`,按 Ctrl-S、Ctrl-X 组合键保存退出;即从原文件中的: +``` +export GTK_IM_MODULE=fcitx5 +export QT_IM_MODULE=fcitx5 +export QT5_IM_MODULE=fcitx5 +export XMODIFIERS=@im=fcitx5 +``` +改为: +``` +export GTK_IM_MODULE=fcitx +export QT_IM_MODULE=fcitx +export QT5_IM_MODULE=fcitx +export XMODIFIERS=@im=fcitx +``` +完成后重新登录即可。 + +我们为此带来的不便表示歉意! diff --git a/content/news/2024-09-28-aosc-os-set-fcitx5-to-fcitx.zh-cn.md b/content/news/2024-09-28-aosc-os-set-fcitx5-to-fcitx.zh-cn.md new file mode 100644 index 00000000..a015bf27 --- /dev/null +++ b/content/news/2024-09-28-aosc-os-set-fcitx5-to-fcitx.zh-cn.md @@ -0,0 +1,32 @@ +--- +categories: + - advisories +title: "近期安装的安同 OS 可能无法在部分程序中使用输入法" +date: 2024-09-28T10:00:00+08:00 +important: true +home: true +--- + +在九月发布的安装盘中,默认系统配置中设置了错误的输入法模块,导致一部分闭源软件(已知微信及 Steam 受此问题波及)无法正常使用输入法。 + +由于这一部分默认配置属于用户配置,我们无法通过系统更新修复该问题;如果您遇到此问题,请打开终端模拟器,使用如下命令打开当前用户的 .xprofile 配置文件: +```shell +nano ~/.xprofile +``` +将文件开头四行的 `fcitx5` 字样逐一改为 `fcitx`,按 Ctrl-S、Ctrl-X 组合键保存退出;即从原文件中的: +``` +export GTK_IM_MODULE=fcitx5 +export QT_IM_MODULE=fcitx5 +export QT5_IM_MODULE=fcitx5 +export XMODIFIERS=@im=fcitx5 +``` +改为: +``` +export GTK_IM_MODULE=fcitx +export QT_IM_MODULE=fcitx +export QT5_IM_MODULE=fcitx +export XMODIFIERS=@im=fcitx +``` +完成后重新登录即可。 + +我们为此带来的不便表示歉意! diff --git a/content/news/2024-09-28-oma-1.11.0-rc1.md b/content/news/2024-09-28-oma-1.11.0-rc1.md new file mode 100644 index 00000000..fef7731d --- /dev/null +++ b/content/news/2024-09-28-oma-1.11.0-rc1.md @@ -0,0 +1,45 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.11.0-rc1 测试公告" +date: 2024-09-28T12:00:00+08:00 +important: true +home: true +--- +![](/assets/news/oma-1.11.0-rc1.png) + + + +oma 的下一特性更新发布在即,诚邀用户朋友们参与测试,提前发现问题、提出意见批评。 + +1.11 测试版的特性及修复内容如下,可供测试参考。 + +## 新特性 + +- `oma install` 新增软件包名提示功能:如运行 `oma install mate-screenshot`(`mate-screenshot` 命令由 `mate-utils` 包提供)时,向用户提示其可能在寻找的软件包(如本公告附图) +- `oma refresh` 命令添加源数据刷新成功后执行脚本的支持(由 `apt.conf.d` 中的 `APT::Update::Post-Invoke-Success` 配置项定义),改进对 Ubuntu 等 Debian 系发行版的源刷新行为兼容性 +- 添加了 `deb-src` 源的刷新支持 +- 为 `oma remove` 与 `oma purge` 命令添加包名补全(感谢 GitHub 用户 @qiqiqiao 的特性请求) +- 简化 `oma panic` 输出,方便用户及开发者报告及排查未知错误 + +## 问题修复 + +- 修复某些终端中进入 TUI 界面后,首次键盘输入无响应的问题 +- 修复在 Debian/Ubuntu 上错误下载 `deb-src` 源数据文件的问题(感谢 QQ 群友 @铺盖崽 的问题报告) +- 修复 `oma purge` 时,因依赖关系不满足被附带卸载的软件包的配置文件未被正确清理的问题(感谢 QQ 群友 @KFKK 的问题反馈) +- 修复 `oma provides/files` 在无 `rg` 命令环境下使用回退搜索方法时,无法通过绝对路径反查软件包的问题(感谢 QQ 群友 @KFKK 的问题反馈) + +## 发行版支持 + +- 新增 deepin 23 (amd64) 软件包 + +## 测试指引 + +安同 OS 可通过如下命令获取 oma 1.11.0-rc1 测试版更新: +``` +oma topics --opt-in oma-1.11.0-rc1 +``` +Debian 及 Ubuntu 用户可通过如下命令获取 oma(目前暂未区分测试源及稳定源,可直接获取 1.11.0-rc1 版更新): +``` +curl -sSf https://repo.aosc.io/get-oma.sh | sudo sh +``` diff --git a/content/news/2024-09-28-oma-1.11.0-rc1.zh-cn.md b/content/news/2024-09-28-oma-1.11.0-rc1.zh-cn.md new file mode 100644 index 00000000..fef7731d --- /dev/null +++ b/content/news/2024-09-28-oma-1.11.0-rc1.zh-cn.md @@ -0,0 +1,45 @@ +--- +categories: + - advisories +title: "小熊猫包管理 (oma) v1.11.0-rc1 测试公告" +date: 2024-09-28T12:00:00+08:00 +important: true +home: true +--- +![](/assets/news/oma-1.11.0-rc1.png) + + + +oma 的下一特性更新发布在即,诚邀用户朋友们参与测试,提前发现问题、提出意见批评。 + +1.11 测试版的特性及修复内容如下,可供测试参考。 + +## 新特性 + +- `oma install` 新增软件包名提示功能:如运行 `oma install mate-screenshot`(`mate-screenshot` 命令由 `mate-utils` 包提供)时,向用户提示其可能在寻找的软件包(如本公告附图) +- `oma refresh` 命令添加源数据刷新成功后执行脚本的支持(由 `apt.conf.d` 中的 `APT::Update::Post-Invoke-Success` 配置项定义),改进对 Ubuntu 等 Debian 系发行版的源刷新行为兼容性 +- 添加了 `deb-src` 源的刷新支持 +- 为 `oma remove` 与 `oma purge` 命令添加包名补全(感谢 GitHub 用户 @qiqiqiao 的特性请求) +- 简化 `oma panic` 输出,方便用户及开发者报告及排查未知错误 + +## 问题修复 + +- 修复某些终端中进入 TUI 界面后,首次键盘输入无响应的问题 +- 修复在 Debian/Ubuntu 上错误下载 `deb-src` 源数据文件的问题(感谢 QQ 群友 @铺盖崽 的问题报告) +- 修复 `oma purge` 时,因依赖关系不满足被附带卸载的软件包的配置文件未被正确清理的问题(感谢 QQ 群友 @KFKK 的问题反馈) +- 修复 `oma provides/files` 在无 `rg` 命令环境下使用回退搜索方法时,无法通过绝对路径反查软件包的问题(感谢 QQ 群友 @KFKK 的问题反馈) + +## 发行版支持 + +- 新增 deepin 23 (amd64) 软件包 + +## 测试指引 + +安同 OS 可通过如下命令获取 oma 1.11.0-rc1 测试版更新: +``` +oma topics --opt-in oma-1.11.0-rc1 +``` +Debian 及 Ubuntu 用户可通过如下命令获取 oma(目前暂未区分测试源及稳定源,可直接获取 1.11.0-rc1 版更新): +``` +curl -sSf https://repo.aosc.io/get-oma.sh | sudo sh +``` diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 00000000..45f3f168 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,15 @@ +import stylisticJs from '@stylistic/eslint-plugin-js'; +import withNuxt from './.nuxt/eslint.config.mjs'; +import eslintConfigPrettier from 'eslint-config-prettier'; + +export default withNuxt([ + { + plugins: { + // eslint将风格(stylistic)类的监控都转移到了另一个插件中 + // 理论上来说,只要运行prettier便无需stylisticJs提醒,但不是所有人都会在上传前运行prettier,所以我们保留stylisticJs + myJs: stylisticJs + } + }, + // 这个配置会关闭eslint与prettier冲突的配置,防止出现prettier格式完eslint爆红 + eslintConfigPrettier +]); diff --git a/middleware/routeguard.global.ts b/middleware/routeguard.global.ts new file mode 100644 index 00000000..490249ac --- /dev/null +++ b/middleware/routeguard.global.ts @@ -0,0 +1,3 @@ +export default defineNuxtRouteMiddleware((to, from) => { + return; +}); diff --git a/nuxt.config.ts b/nuxt.config.ts new file mode 100644 index 00000000..fef6abf3 --- /dev/null +++ b/nuxt.config.ts @@ -0,0 +1,44 @@ +// https://nuxt.com/docs/api/configuration/nuxt-config +export default defineNuxtConfig({ + compatibilityDate: '2024-04-03', + devtools: { enabled: true }, + // routeRules: { + // '/': { ssr: false } + // }, + modules: [ + '@element-plus/nuxt', + '@pinia/nuxt', + '@nuxt/content', + '@nuxt/eslint' + ], + css: ['~/assets/css/main.css'], + postcss: { + plugins: { + tailwindcss: {}, + autoprefixer: {} + } + }, + content: { + highlight: { + // Theme used in all color schemes. + theme: { + // Default theme (same as single string) + default: 'github-light', + // Theme used if `html.dark` + sepia: 'monokai' + } + } + }, + extends: '@nuxt-themes/docus' + // vite: { + // server: { + // proxy: { + // '/pasteApi': { + // target: 'http://localhost:41409', + // changeOrigin: true, + // rewrite: (path) => path.replace(/^\/pasteApi/, '') + // } + // } + // } + // } +}); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..93a169cb --- /dev/null +++ b/package-lock.json @@ -0,0 +1,19184 @@ +{ + "name": "website-nuxt", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "website-nuxt", + "hasInstallScript": true, + "dependencies": { + "@element-plus/nuxt": "^1.0.10", + "@mdi/font": "^7.4.47", + "@nuxt/content": "^2.13.2", + "@nuxt/eslint": "^0.5.7", + "@pinia/nuxt": "^0.5.4", + "axios": "^1.7.7", + "element-plus": "^2.8.4", + "eslint": "^9.12.0", + "eslit": "^6.0.0", + "highlightjs": "^9.16.2", + "nuxt": "^3.13.0", + "pinia": "^2.2.2", + "prettier": "^3.3.3", + "sass-embedded": "^1.79.4", + "tm-themes": "^1.8.7", + "vue": "^3.5.1", + "vue-router": "4" + }, + "devDependencies": { + "@element-plus/icons-svg": "^2.3.1", + "@element-plus/icons-vue": "^2.3.1", + "@guolao/vue-monaco-editor": "^1.5.4", + "@highlightjs/vue-plugin": "^2.1.0", + "@nuxt-themes/docus": "^1.15.0", + "@stylistic/eslint-plugin-js": "^2.9.0", + "autoprefixer": "^10.4.20", + "eslint-config-prettier": "^9.1.0", + "postcss": "^8.4.47", + "tailwindcss": "^3.4.13" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@antfu/utils": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.10.tgz", + "integrity": "sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@apidevtools/json-schema-ref-parser": { + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.7.0.tgz", + "integrity": "sha512-pRrmXMCwnmrkS3MLgAIW5dXRzeTv6GLjkjb4HmxNnvAKXN1Nfzp4KmGADBQvlVUcqi+a5D+hfGDLLnd5NnYxog==", + "license": "MIT", + "dependencies": { + "@jsdevtools/ono": "^7.1.3", + "@types/json-schema": "^7.0.15", + "js-yaml": "^4.1.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/philsturgeon" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/traverse": "^7.25.4", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", + "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.6" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz", + "integrity": "sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-decorators": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz", + "integrity": "sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz", + "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz", + "integrity": "sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz", + "integrity": "sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-typescript": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/standalone": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.25.6.tgz", + "integrity": "sha512-Kf2ZcZVqsKbtYhlA7sP0z5A3q5hmCVYMKMWRWNK/5OVwHIve3JY1djVRmIVAx8FMueLIfZGKQDIILK2w8zO4mg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bufbuild/protobuf": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.1.0.tgz", + "integrity": "sha512-+2Mx67Y3skJ4NCD/qNSdBJNWtu6x6Qr53jeNg+QcwiL6mt0wK+3jwHH2x1p7xaYH6Ve2JKOVn0OxU35WsmqI9A==", + "license": "(Apache-2.0 AND BSD-3-Clause)" + }, + "node_modules/@cloudflare/kv-asset-handler": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.3.4.tgz", + "integrity": "sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==", + "license": "MIT OR Apache-2.0", + "dependencies": { + "mime": "^3.0.0" + }, + "engines": { + "node": ">=16.13" + } + }, + "node_modules/@cloudflare/kv-asset-handler/node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@csstools/cascade-layer-name-parser": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.13.tgz", + "integrity": "sha512-MX0yLTwtZzr82sQ0zOjqimpZbzjMaK/h2pmlrLK7DCzlmiZLYFpoO94WmN1akRVo6ll/TdpHb53vihHLUMyvng==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.1.tgz", + "integrity": "sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^2.4.1" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.4.1.tgz", + "integrity": "sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@element-plus/icons-svg": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@element-plus/icons-svg/-/icons-svg-2.3.1.tgz", + "integrity": "sha512-mDrMx3zgAdJRUA26t4WB2A0DdRlw0iyvr2oamWhkhhE0VEuChLXagqJLx+noRSAzjJ1XACQRqSIGC9VwjBOLGA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@element-plus/nuxt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@element-plus/nuxt/-/nuxt-1.0.10.tgz", + "integrity": "sha512-jz8kWXr0cBc/9fN2fWdoiTVFWGVzltobZ0FIIEyG0AoXsNl2BJr7urvvscJS3UFy+zjVuFxB4FULLpx9RcwQLA==", + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^3.12.3", + "magic-string": "^0.27.0", + "unplugin": "^1.11.0" + }, + "peerDependencies": { + "@element-plus/icons-vue": ">=0.2.6", + "element-plus": ">=2" + } + }, + "node_modules/@es-joy/jsdoccomment": { + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.48.0.tgz", + "integrity": "sha512-G6QUWIcC+KvSwXNsJyDTHvqUdNoAVJPPgkc3+Uk4WBKqZvoXhlvazOgm9aL0HwihJLQf0l+tOE2UFzXBqCqgDw==", + "license": "MIT", + "dependencies": { + "comment-parser": "1.4.1", + "esquery": "^1.6.0", + "jsdoc-type-pratt-parser": "~4.1.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz", + "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz", + "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz", + "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz", + "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz", + "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz", + "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz", + "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz", + "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz", + "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz", + "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz", + "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz", + "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz", + "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz", + "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz", + "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz", + "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz", + "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz", + "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz", + "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz", + "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz", + "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz", + "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz", + "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz", + "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", + "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/compat": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.2.0.tgz", + "integrity": "sha512-CkPWddN7J9JPrQedEr2X7AjK9y1jaMJtxZ4A/+jTMFA2+n5BWhcKHW/EbJyARqg2zzQfgtWUtVmG3hrG6+nGpg==", + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": "^9.10.0" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/@eslint/config-array": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.4", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/config-inspector": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@eslint/config-inspector/-/config-inspector-0.5.4.tgz", + "integrity": "sha512-WB/U/B6HdRiIt/CfbcqqFp7Svz+3INLtnGcuMT2hnU39S3cb9JGGkvB1T6lbIlDoQ9VRnhc4riIFFoicGRZ2mw==", + "license": "Apache-2.0", + "dependencies": { + "@eslint/config-array": "^0.17.1", + "@voxpelli/config-array-find-files": "^0.1.2", + "bundle-require": "^5.0.0", + "cac": "^6.7.14", + "chokidar": "^3.6.0", + "esbuild": "^0.21.5", + "fast-glob": "^3.3.2", + "find-up": "^7.0.0", + "get-port-please": "^3.1.2", + "h3": "^1.12.0", + "minimatch": "^9.0.5", + "mlly": "^1.7.1", + "mrmime": "^2.0.0", + "open": "^10.1.0", + "picocolors": "^1.0.1", + "ws": "^8.18.0" + }, + "bin": { + "config-inspector": "bin.mjs", + "eslint-config-inspector": "bin.mjs" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^8.50.0 || ^9.0.0" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@eslint/config-array": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.1.tgz", + "integrity": "sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==", + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.4", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/config-inspector/node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/config-inspector/node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/config-inspector/node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/@eslint/config-inspector/node_modules/find-up": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", + "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", + "license": "MIT", + "dependencies": { + "locate-path": "^7.2.0", + "path-exists": "^5.0.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/config-inspector/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/config-inspector/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@eslint/config-inspector/node_modules/open": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/config-inspector/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/config-inspector/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "license": "MIT", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/config-inspector/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/@eslint/config-inspector/node_modules/yocto-queue": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/core": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.6.0.tgz", + "integrity": "sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==", + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.12.0.tgz", + "integrity": "sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==", + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.0.tgz", + "integrity": "sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==", + "license": "Apache-2.0", + "dependencies": { + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@fastify/busboy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", + "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.8.tgz", + "integrity": "sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.8" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.11.tgz", + "integrity": "sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.8" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.8.tgz", + "integrity": "sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==", + "license": "MIT" + }, + "node_modules/@guolao/vue-monaco-editor": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@guolao/vue-monaco-editor/-/vue-monaco-editor-1.5.4.tgz", + "integrity": "sha512-eyBAqxJeDpV4mZYZSpNvh3xUgKCld5eEe0dBtjJhsy2+L0MB6PYFZ/FbPHNwskgp2RoIpfn1DLrIhXXE3lVbwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@monaco-editor/loader": "^1.4.0", + "vue-demi": "latest" + }, + "peerDependencies": { + "@vue/composition-api": "^1.7.1", + "monaco-editor": ">=0.43.0", + "vue": "^2.6.14 || >=3.0.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@guolao/vue-monaco-editor/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@highlightjs/vue-plugin": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@highlightjs/vue-plugin/-/vue-plugin-2.1.0.tgz", + "integrity": "sha512-E+bmk4ncca+hBEYRV2a+1aIzIV0VSY/e5ArjpuSN9IO7wBJrzUE2u4ESCwrbQD7sAy+jWQjkV5qCCWgc+pu7CQ==", + "dev": true, + "license": "BSD-3-Clause", + "peerDependencies": { + "highlight.js": "^11.0.1", + "vue": "^3" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.0.tgz", + "integrity": "sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.5.tgz", + "integrity": "sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==", + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.0", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@iconify/vue": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@iconify/vue/-/vue-4.1.2.tgz", + "integrity": "sha512-CQnYqLiQD5LOAaXhBrmj1mdL2/NCJvwcC4jtW2Z8ukhThiFkLDkutarTOV2trfc9EXqUqRs0KqXOL9pZ/IyysA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@iconify/types": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/cyberalien" + }, + "peerDependencies": { + "vue": ">=3" + } + }, + "node_modules/@ioredis/commands": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", + "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==", + "license": "MIT" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", + "license": "MIT" + }, + "node_modules/@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.1" + } + }, + "node_modules/@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==", + "license": "MIT" + }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "license": "BSD-3-Clause", + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@mdi/font": { + "version": "7.4.47", + "resolved": "https://registry.npmjs.org/@mdi/font/-/font-7.4.47.tgz", + "integrity": "sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==", + "license": "Apache-2.0" + }, + "node_modules/@monaco-editor/loader": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@monaco-editor/loader/-/loader-1.4.0.tgz", + "integrity": "sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg==", + "dev": true, + "license": "MIT", + "dependencies": { + "state-local": "^1.0.6" + }, + "peerDependencies": { + "monaco-editor": ">= 0.21.0 < 1" + } + }, + "node_modules/@netlify/functions": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-2.8.1.tgz", + "integrity": "sha512-+6wtYdoz0yE06dSa9XkP47tw5zm6g13QMeCwM3MmHx1vn8hzwFa51JtmfraprdkL7amvb7gaNM+OOhQU1h6T8A==", + "license": "MIT", + "dependencies": { + "@netlify/serverless-functions-api": "1.19.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@netlify/node-cookies": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@netlify/node-cookies/-/node-cookies-0.1.0.tgz", + "integrity": "sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==", + "license": "MIT", + "engines": { + "node": "^14.16.0 || >=16.0.0" + } + }, + "node_modules/@netlify/serverless-functions-api": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.19.1.tgz", + "integrity": "sha512-2KYkyluThg1AKfd0JWI7FzpS4A/fzVVGYIf6AM4ydWyNj8eI/86GQVLeRgDoH7CNOxt243R5tutWlmHpVq0/Ew==", + "license": "MIT", + "dependencies": { + "@netlify/node-cookies": "^0.1.0", + "urlpattern-polyfill": "8.0.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nuxt-themes/docus": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@nuxt-themes/docus/-/docus-1.15.0.tgz", + "integrity": "sha512-V2kJ5ecGUxXcEovXeQkJBPYfQwjmjaxB5fnl2XaQV+S2Epcn+vhPWShSlL6/WXzLPiAkQFdwbBj9xedTvXgjkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nuxt-themes/elements": "^0.9.5", + "@nuxt-themes/tokens": "^1.9.1", + "@nuxt-themes/typography": "^0.11.0", + "@nuxt/content": "^2.8.5", + "@nuxthq/studio": "^1.0.0", + "@vueuse/integrations": "^10.4.1", + "@vueuse/nuxt": "^10.4.1", + "focus-trap": "^7.5.3", + "fuse.js": "^6.6.2" + } + }, + "node_modules/@nuxt-themes/elements": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@nuxt-themes/elements/-/elements-0.9.5.tgz", + "integrity": "sha512-uAA5AiIaT1SxCBjNIURJyCDPNR27+8J+t3AWuzWyhbNPr3L1inEcETZ3RVNzFdQE6mx7MGAMwFBqxPkOUhZQuA==", + "dev": true, + "dependencies": { + "@nuxt-themes/tokens": "^1.9.1", + "@vueuse/core": "^9.13.0" + } + }, + "node_modules/@nuxt-themes/tokens": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@nuxt-themes/tokens/-/tokens-1.9.1.tgz", + "integrity": "sha512-5C28kfRvKnTX8Tux+xwyaf+2pxKgQ53dC9l6C33sZwRRyfUJulGDZCFjKbuNq4iqVwdGvkFSQBYBYjFAv6t75g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nuxtjs/color-mode": "^3.2.0", + "@vueuse/core": "^9.13.0", + "pinceau": "^0.18.8" + } + }, + "node_modules/@nuxt-themes/typography": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@nuxt-themes/typography/-/typography-0.11.0.tgz", + "integrity": "sha512-TqyvD7sDWnqGmL00VtuI7JdmNTPL5/g957HCAWNzcNp+S20uJjW/FXSdkM76d4JSVDHvBqw7Wer3RsqVhqvA4w==", + "dev": true, + "dependencies": { + "@nuxtjs/color-mode": "^3.2.0", + "nuxt-config-schema": "^0.4.5", + "nuxt-icon": "^0.3.3", + "pinceau": "^0.18.8", + "ufo": "^1.1.1" + } + }, + "node_modules/@nuxt/content": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/@nuxt/content/-/content-2.13.2.tgz", + "integrity": "sha512-9AmX7iG8+1MaWia8XLe1TyzoLrTaIhchas19w6VxqZI0dEoQCGslEcdOxy8xLrdGVFuy6MObBwU8SZgpQB9pyA==", + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^3.12.4", + "@nuxtjs/mdc": "^0.8.3", + "@vueuse/core": "^10.11.0", + "@vueuse/head": "^2.0.0", + "@vueuse/nuxt": "^10.11.0", + "consola": "^3.2.3", + "defu": "^6.1.4", + "destr": "^2.0.3", + "json5": "^2.2.3", + "knitwork": "^1.1.0", + "listhen": "^1.7.2", + "mdast-util-to-string": "^4.0.0", + "mdurl": "^2.0.0", + "micromark": "^4.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-types": "^2.0.0", + "minisearch": "^7.0.2", + "ohash": "^1.1.3", + "pathe": "^1.1.2", + "scule": "^1.3.0", + "shiki": "^1.10.3", + "slugify": "^1.6.6", + "socket.io-client": "^4.7.5", + "ufo": "^1.5.4", + "unist-util-stringify-position": "^4.0.0", + "unstorage": "^1.10.2", + "ws": "^8.18.0" + } + }, + "node_modules/@nuxt/content/node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "license": "MIT" + }, + "node_modules/@nuxt/content/node_modules/@vueuse/core": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.11.1.tgz", + "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.11.1", + "@vueuse/shared": "10.11.1", + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@nuxt/content/node_modules/@vueuse/metadata": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.11.1.tgz", + "integrity": "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@nuxt/content/node_modules/@vueuse/shared": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.11.1.tgz", + "integrity": "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==", + "license": "MIT", + "dependencies": { + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@nuxt/content/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@nuxt/devalue": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@nuxt/devalue/-/devalue-2.0.2.tgz", + "integrity": "sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==", + "license": "MIT" + }, + "node_modules/@nuxt/devtools": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@nuxt/devtools/-/devtools-1.5.1.tgz", + "integrity": "sha512-A5+TEKJURuwes/PD30hl6gksA+935UY7i8DIkDr+9a4AWnPgrVt/WsGRmz84Q/9eRBxlLjwD9/kwDpNYcMST6Q==", + "license": "MIT", + "dependencies": { + "@antfu/utils": "^0.7.10", + "@nuxt/devtools-kit": "1.5.1", + "@nuxt/devtools-wizard": "1.5.1", + "@nuxt/kit": "^3.13.2", + "@vue/devtools-core": "7.4.4", + "@vue/devtools-kit": "7.4.4", + "birpc": "^0.2.17", + "consola": "^3.2.3", + "cronstrue": "^2.50.0", + "destr": "^2.0.3", + "error-stack-parser-es": "^0.1.5", + "execa": "^7.2.0", + "fast-npm-meta": "^0.2.2", + "flatted": "^3.3.1", + "get-port-please": "^3.1.2", + "hookable": "^5.5.3", + "image-meta": "^0.2.1", + "is-installed-globally": "^1.0.0", + "launch-editor": "^2.9.1", + "local-pkg": "^0.5.0", + "magicast": "^0.3.5", + "nypm": "^0.3.11", + "ohash": "^1.1.4", + "pathe": "^1.1.2", + "perfect-debounce": "^1.0.0", + "pkg-types": "^1.2.0", + "rc9": "^2.1.2", + "scule": "^1.3.0", + "semver": "^7.6.3", + "simple-git": "^3.27.0", + "sirv": "^2.0.4", + "tinyglobby": "^0.2.6", + "unimport": "^3.12.0", + "vite-plugin-inspect": "^0.8.7", + "vite-plugin-vue-inspector": "^5.2.0", + "which": "^3.0.1", + "ws": "^8.18.0" + }, + "bin": { + "devtools": "cli.mjs" + }, + "peerDependencies": { + "vite": "*" + } + }, + "node_modules/@nuxt/devtools-kit": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@nuxt/devtools-kit/-/devtools-kit-1.5.1.tgz", + "integrity": "sha512-s2dpN1vCOgua2pSYG7/xUMjf7CyLTBeEK2IRqeOeiNpiElft4ygDddlg6P3ot0Hpp+GvWTz0uPGot/vI73uk4w==", + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^3.13.2", + "@nuxt/schema": "^3.13.2", + "execa": "^7.2.0" + }, + "peerDependencies": { + "vite": "*" + } + }, + "node_modules/@nuxt/devtools-wizard": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@nuxt/devtools-wizard/-/devtools-wizard-1.5.1.tgz", + "integrity": "sha512-09VqUYnL8dh31GK85g9+L1xZCXCmieOBWsV9H5a3ZA7wNepDjbrmaRFr/KSA6fsI7AZoqzkNuRsGUzEksEDxpg==", + "license": "MIT", + "dependencies": { + "consola": "^3.2.3", + "diff": "^7.0.0", + "execa": "^7.2.0", + "global-directory": "^4.0.1", + "magicast": "^0.3.5", + "pathe": "^1.1.2", + "pkg-types": "^1.2.0", + "prompts": "^2.4.2", + "rc9": "^2.1.2", + "semver": "^7.6.3" + }, + "bin": { + "devtools-wizard": "cli.mjs" + } + }, + "node_modules/@nuxt/eslint": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@nuxt/eslint/-/eslint-0.5.7.tgz", + "integrity": "sha512-t2GoH8BIfDVysZ5Y9kPBTnT9rcUSJcXTeY5Fa93//qmHJba3kIpoETy3qJe/v75R1giGgIPO+Iydt6uXZ2jjJQ==", + "license": "MIT", + "dependencies": { + "@eslint/config-inspector": "^0.5.4", + "@nuxt/devtools-kit": "^1.4.2", + "@nuxt/eslint-config": "0.5.7", + "@nuxt/eslint-plugin": "0.5.7", + "@nuxt/kit": "^3.13.1", + "chokidar": "^3.6.0", + "eslint-flat-config-utils": "^0.4.0", + "eslint-typegen": "^0.3.2", + "find-up": "^7.0.0", + "get-port-please": "^3.1.2", + "mlly": "^1.7.1", + "pathe": "^1.1.2", + "unimport": "^3.11.1" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "eslint-webpack-plugin": "^4.1.0", + "vite-plugin-eslint2": "^4.4.0" + }, + "peerDependenciesMeta": { + "eslint-webpack-plugin": { + "optional": true + }, + "vite-plugin-eslint2": { + "optional": true + } + } + }, + "node_modules/@nuxt/eslint-config": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@nuxt/eslint-config/-/eslint-config-0.5.7.tgz", + "integrity": "sha512-B+snO9NS9+v2657Z84tMbW3hLxjauIUkk2m4vnYjb9xfAFdoQwK07q6aaf7LzvagmVFmQiclT9LbJMvlRqzmsA==", + "license": "MIT", + "dependencies": { + "@eslint/js": "^9.10.0", + "@nuxt/eslint-plugin": "0.5.7", + "@stylistic/eslint-plugin": "^2.8.0", + "@typescript-eslint/eslint-plugin": "^8.5.0", + "@typescript-eslint/parser": "^8.5.0", + "eslint-config-flat-gitignore": "^0.3.0", + "eslint-flat-config-utils": "^0.4.0", + "eslint-plugin-import-x": "^4.2.1", + "eslint-plugin-jsdoc": "^50.2.2", + "eslint-plugin-regexp": "^2.6.0", + "eslint-plugin-unicorn": "^55.0.0", + "eslint-plugin-vue": "^9.28.0", + "globals": "^15.9.0", + "local-pkg": "^0.5.0", + "pathe": "^1.1.2", + "vue-eslint-parser": "^9.4.3" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + } + }, + "node_modules/@nuxt/eslint-config/node_modules/globals": { + "version": "15.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.11.0.tgz", + "integrity": "sha512-yeyNSjdbyVaWurlwCpcA6XNBrHTMIeDdj0/hnvX/OLJ9ekOXYbLsLinH/MucQyGvNnXhidTdNhTtJaffL2sMfw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nuxt/eslint-plugin": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@nuxt/eslint-plugin/-/eslint-plugin-0.5.7.tgz", + "integrity": "sha512-vYQYs/L87g2pBIoTmkk2mgYBqePTQDnhk87nGqsosKbfQ80xj9kkN3dsVb6BDQFk0zik4THWpXmnfjkvsjm/eg==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "^8.5.0", + "@typescript-eslint/utils": "^8.5.0" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + } + }, + "node_modules/@nuxt/eslint/node_modules/find-up": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", + "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", + "license": "MIT", + "dependencies": { + "locate-path": "^7.2.0", + "path-exists": "^5.0.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nuxt/eslint/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nuxt/eslint/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nuxt/eslint/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "license": "MIT", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nuxt/eslint/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/@nuxt/eslint/node_modules/yocto-queue": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nuxt/kit": { + "version": "3.13.2", + "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.13.2.tgz", + "integrity": "sha512-KvRw21zU//wdz25IeE1E5m/aFSzhJloBRAQtv+evcFeZvuroIxpIQuUqhbzuwznaUwpiWbmwlcsp5uOWmi4vwA==", + "license": "MIT", + "dependencies": { + "@nuxt/schema": "3.13.2", + "c12": "^1.11.2", + "consola": "^3.2.3", + "defu": "^6.1.4", + "destr": "^2.0.3", + "globby": "^14.0.2", + "hash-sum": "^2.0.0", + "ignore": "^5.3.2", + "jiti": "^1.21.6", + "klona": "^2.0.6", + "knitwork": "^1.1.0", + "mlly": "^1.7.1", + "pathe": "^1.1.2", + "pkg-types": "^1.2.0", + "scule": "^1.3.0", + "semver": "^7.6.3", + "ufo": "^1.5.4", + "unctx": "^2.3.1", + "unimport": "^3.12.0", + "untyped": "^1.4.2" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/@nuxt/schema": { + "version": "3.13.2", + "resolved": "https://registry.npmjs.org/@nuxt/schema/-/schema-3.13.2.tgz", + "integrity": "sha512-CCZgpm+MkqtOMDEgF9SWgGPBXlQ01hV/6+2reDEpJuqFPGzV8HYKPBcIFvn7/z5ahtgutHLzjP71Na+hYcqSpw==", + "license": "MIT", + "dependencies": { + "compatx": "^0.1.8", + "consola": "^3.2.3", + "defu": "^6.1.4", + "hookable": "^5.5.3", + "pathe": "^1.1.2", + "pkg-types": "^1.2.0", + "scule": "^1.3.0", + "std-env": "^3.7.0", + "ufo": "^1.5.4", + "uncrypto": "^0.1.3", + "unimport": "^3.12.0", + "untyped": "^1.4.2" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/@nuxt/telemetry": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@nuxt/telemetry/-/telemetry-2.6.0.tgz", + "integrity": "sha512-h4YJ1d32cU7tDKjjhjtIIEck4WF/w3DTQBT348E9Pz85YLttnLqktLM0Ez9Xc2LzCeUgBDQv1el7Ob/zT3KUqg==", + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^3.13.1", + "ci-info": "^4.0.0", + "consola": "^3.2.3", + "create-require": "^1.1.1", + "defu": "^6.1.4", + "destr": "^2.0.3", + "dotenv": "^16.4.5", + "git-url-parse": "^15.0.0", + "is-docker": "^3.0.0", + "jiti": "^1.21.6", + "mri": "^1.2.0", + "nanoid": "^5.0.7", + "ofetch": "^1.3.4", + "package-manager-detector": "^0.2.0", + "parse-git-config": "^3.0.0", + "pathe": "^1.1.2", + "rc9": "^2.1.2", + "std-env": "^3.7.0" + }, + "bin": { + "nuxt-telemetry": "bin/nuxt-telemetry.mjs" + } + }, + "node_modules/@nuxt/vite-builder": { + "version": "3.13.2", + "resolved": "https://registry.npmjs.org/@nuxt/vite-builder/-/vite-builder-3.13.2.tgz", + "integrity": "sha512-3dzc3YH3UeTmzGtCevW1jTq0Q8/cm+yXqo/VS/EFM3aIO/tuNPS88is8ZF2YeBButFnLFllq/QenziPbq0YD6Q==", + "license": "MIT", + "dependencies": { + "@nuxt/kit": "3.13.2", + "@rollup/plugin-replace": "^5.0.7", + "@vitejs/plugin-vue": "^5.1.3", + "@vitejs/plugin-vue-jsx": "^4.0.1", + "autoprefixer": "^10.4.20", + "clear": "^0.1.0", + "consola": "^3.2.3", + "cssnano": "^7.0.6", + "defu": "^6.1.4", + "esbuild": "^0.23.1", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "externality": "^1.0.2", + "get-port-please": "^3.1.2", + "h3": "^1.12.0", + "knitwork": "^1.1.0", + "magic-string": "^0.30.11", + "mlly": "^1.7.1", + "ohash": "^1.1.4", + "pathe": "^1.1.2", + "perfect-debounce": "^1.0.0", + "pkg-types": "^1.2.0", + "postcss": "^8.4.47", + "rollup-plugin-visualizer": "^5.12.0", + "std-env": "^3.7.0", + "strip-literal": "^2.1.0", + "ufo": "^1.5.4", + "unenv": "^1.10.0", + "unplugin": "^1.14.1", + "vite": "^5.4.5", + "vite-node": "^2.1.1", + "vite-plugin-checker": "^0.8.0", + "vue-bundle-renderer": "^2.1.0" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0" + }, + "peerDependencies": { + "vue": "^3.3.4" + } + }, + "node_modules/@nuxt/vite-builder/node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/@nuxthq/studio": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@nuxthq/studio/-/studio-1.1.2.tgz", + "integrity": "sha512-YVEiIuU+5cLZ0qdLsRAYuFE395XoYf87UTR5xwxxpw9++uhlyLiQyO7JIXTTWIOdEiMHt8frrrLJBBPd5tHAeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^3.11.2", + "defu": "^6.1.4", + "git-url-parse": "^14.0.0", + "nuxt-component-meta": "^0.6.4", + "parse-git-config": "^3.0.0", + "pkg-types": "^1.1.1", + "socket.io-client": "^4.7.5", + "ufo": "^1.5.3", + "untyped": "^1.4.2" + } + }, + "node_modules/@nuxthq/studio/node_modules/git-url-parse": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-14.1.0.tgz", + "integrity": "sha512-8xg65dTxGHST3+zGpycMMFZcoTzAdZ2dOtu4vmgIfkTFnVHBxHMzBC2L1k8To7EmrSiHesT8JgPLT91VKw1B5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "git-up": "^7.0.0" + } + }, + "node_modules/@nuxtjs/color-mode": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@nuxtjs/color-mode/-/color-mode-3.5.1.tgz", + "integrity": "sha512-GRHF3WUwX6fXIiRVlngNq1nVDwrVuP6dWX1DRmox3QolzX0eH1oJEcFr/lAm1nkT71JVGb8mszho9w+yHJbePw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^3.13.1", + "changelogen": "^0.5.5", + "pathe": "^1.1.2", + "pkg-types": "^1.2.0", + "semver": "^7.6.3" + } + }, + "node_modules/@nuxtjs/mdc": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/@nuxtjs/mdc/-/mdc-0.8.3.tgz", + "integrity": "sha512-FqvJFWkBN9u2FeWog+7+C0aIOx0WIu61TYgAXPmmIOVVua6s2mXQsMyF3fXY2M56QBIaYJzK/SYN+5FGr5GNTQ==", + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^3.12.2", + "@shikijs/transformers": "^1.10.0", + "@types/hast": "^3.0.4", + "@types/mdast": "^4.0.4", + "@vue/compiler-core": "^3.4.31", + "consola": "^3.2.3", + "debug": "^4.3.5", + "defu": "^6.1.4", + "destr": "^2.0.3", + "detab": "^3.0.2", + "github-slugger": "^2.0.0", + "hast-util-to-string": "^3.0.0", + "mdast-util-to-hast": "^13.2.0", + "micromark-util-sanitize-uri": "^2.0.0", + "ohash": "^1.1.3", + "parse5": "^7.1.2", + "pathe": "^1.1.2", + "property-information": "^6.5.0", + "rehype-external-links": "^3.0.0", + "rehype-raw": "^7.0.0", + "rehype-slug": "^6.0.0", + "rehype-sort-attribute-values": "^5.0.0", + "rehype-sort-attributes": "^5.0.0", + "remark-emoji": "^5.0.0", + "remark-gfm": "^4.0.0", + "remark-mdc": "^3.2.1", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.0", + "scule": "^1.3.0", + "shiki": "^1.10.0", + "ufo": "^1.5.3", + "unified": "^11.0.5", + "unist-builder": "^4.0.0", + "unist-util-visit": "^5.0.0", + "unwasm": "^0.3.9" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", + "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", + "license": "MIT", + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.4.1", + "@parcel/watcher-darwin-arm64": "2.4.1", + "@parcel/watcher-darwin-x64": "2.4.1", + "@parcel/watcher-freebsd-x64": "2.4.1", + "@parcel/watcher-linux-arm-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-musl": "2.4.1", + "@parcel/watcher-linux-x64-glibc": "2.4.1", + "@parcel/watcher-linux-x64-musl": "2.4.1", + "@parcel/watcher-win32-arm64": "2.4.1", + "@parcel/watcher-win32-ia32": "2.4.1", + "@parcel/watcher-win32-x64": "2.4.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz", + "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz", + "integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz", + "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz", + "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz", + "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz", + "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz", + "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", + "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz", + "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-wasm": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.4.1.tgz", + "integrity": "sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==", + "bundleDependencies": [ + "napi-wasm" + ], + "license": "MIT", + "dependencies": { + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "napi-wasm": "^1.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-wasm/node_modules/napi-wasm": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz", + "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz", + "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", + "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "license": "Apache-2.0", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/@pinia/nuxt": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@pinia/nuxt/-/nuxt-0.5.4.tgz", + "integrity": "sha512-nNEs2pq6+Ji5qIyRwmeD9LUdctL8aJ8QMVLTYxUc16cXEOcIIN+MSA8Xudsd0lVETYgEAROT5HiBHnOYRDY3yQ==", + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^3.9.0", + "pinia": "^2.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.28", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz", + "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==", + "license": "MIT" + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/plugin-alias": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-5.1.1.tgz", + "integrity": "sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-commonjs": { + "version": "25.0.8", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.8.tgz", + "integrity": "sha512-ZEZWTK5n6Qde0to4vS9Mr5x/0UZoqCxPVR9KRUjU4kA2sO7GEUn1fop0DAwpO6z0Nw/kJON9bDmSxdWxO/TT1A==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "glob": "^8.0.3", + "is-reference": "1.2.1", + "magic-string": "^0.30.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.68.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@rollup/plugin-commonjs/node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/@rollup/plugin-inject": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz", + "integrity": "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-inject/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@rollup/plugin-inject/node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/@rollup/plugin-json": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz", + "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.1.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.3.0.tgz", + "integrity": "sha512-9eO5McEICxMzJpDW9OnMYSv4Sta3hmt7VtBFz5zR9273suNOydOyq/FrGeGy+KsTRFm8w0SLVhzig2ILFT63Ag==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-5.0.7.tgz", + "integrity": "sha512-PqxSfuorkHz/SPpyngLyg5GCEkOcee9M1bkxiVDr41Pd61mqP1PLOoDPbpl44SB2mQGKwV/In74gqQmGITOhEQ==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "magic-string": "^0.30.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-replace/node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "license": "MIT", + "dependencies": { + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.2.tgz", + "integrity": "sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.5.tgz", + "integrity": "sha512-SU5cvamg0Eyu/F+kLeMXS7GoahL+OoizlclVFX3l5Ql6yNlywJJ0OuqTzUx0v+aHhPHEB/56CT06GQrRrGNYww==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.5.tgz", + "integrity": "sha512-S4pit5BP6E5R5C8S6tgU/drvgjtYW76FBuG6+ibG3tMvlD1h9LHVF9KmlmaUBQ8Obou7hEyS+0w+IR/VtxwNMQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.5.tgz", + "integrity": "sha512-250ZGg4ipTL0TGvLlfACkIxS9+KLtIbn7BCZjsZj88zSg2Lvu3Xdw6dhAhfe/FjjXPVNCtcSp+WZjVsD3a/Zlw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.5.tgz", + "integrity": "sha512-D8brJEFg5D+QxFcW6jYANu+Rr9SlKtTenmsX5hOSzNYVrK5oLAEMTUgKWYJP+wdKyCdeSwnapLsn+OVRFycuQg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.5.tgz", + "integrity": "sha512-PNqXYmdNFyWNg0ma5LdY8wP+eQfdvyaBAojAXgO7/gs0Q/6TQJVXAXe8gwW9URjbS0YAammur0fynYGiWsKlXw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.5.tgz", + "integrity": "sha512-kSSCZOKz3HqlrEuwKd9TYv7vxPYD77vHSUvM2y0YaTGnFc8AdI5TTQRrM1yIp3tXCKrSL9A7JLoILjtad5t8pQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.5.tgz", + "integrity": "sha512-oTXQeJHRbOnwRnRffb6bmqmUugz0glXaPyspp4gbQOPVApdpRrY/j7KP3lr7M8kTfQTyrBUzFjj5EuHAhqH4/w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.5.tgz", + "integrity": "sha512-qnOTIIs6tIGFKCHdhYitgC2XQ2X25InIbZFor5wh+mALH84qnFHvc+vmWUpyX97B0hNvwNUL4B+MB8vJvH65Fw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.5.tgz", + "integrity": "sha512-TMYu+DUdNlgBXING13rHSfUc3Ky5nLPbWs4bFnT+R6Vu3OvXkTkixvvBKk8uO4MT5Ab6lC3U7x8S8El2q5o56w==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.5.tgz", + "integrity": "sha512-PTQq1Kz22ZRvuhr3uURH+U/Q/a0pbxJoICGSprNLAoBEkyD3Sh9qP5I0Asn0y0wejXQBbsVMRZRxlbGFD9OK4A==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.5.tgz", + "integrity": "sha512-bR5nCojtpuMss6TDEmf/jnBnzlo+6n1UhgwqUvRoe4VIotC7FG1IKkyJbwsT7JDsF2jxR+NTnuOwiGv0hLyDoQ==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.5.tgz", + "integrity": "sha512-N0jPPhHjGShcB9/XXZQWuWBKZQnC1F36Ce3sDqWpujsGjDz/CQtOL9LgTrJ+rJC8MJeesMWrMWVLKKNR/tMOCA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.5.tgz", + "integrity": "sha512-uBa2e28ohzNNwjr6Uxm4XyaA1M/8aTgfF2T7UIlElLaeXkgpmIJ2EitVNQxjO9xLLLy60YqAgKn/AqSpCUkE9g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.5.tgz", + "integrity": "sha512-RXT8S1HP8AFN/Kr3tg4fuYrNxZ/pZf1HemC5Tsddc6HzgGnJm0+Lh5rAHJkDuW3StI0ynNXukidROMXYl6ew8w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.5.tgz", + "integrity": "sha512-ElTYOh50InL8kzyUD6XsnPit7jYCKrphmddKAe1/Ytt74apOxDq5YEcbsiKs0fR3vff3jEneMM+3I7jbqaMyBg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.5.tgz", + "integrity": "sha512-+lvL/4mQxSV8MukpkKyyvfwhH266COcWlXE/1qxwN08ajovta3459zrjLghYMgDerlzNwLAcFpvU+WWE5y6nAQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.22.0.tgz", + "integrity": "sha512-S8sMe4q71TJAW+qG93s5VaiihujRK6rqDFqBnxqvga/3LvqHEnxqBIOPkt//IdXVtHkQWKu4nOQNk0uBGicU7Q==", + "license": "MIT", + "dependencies": { + "@shikijs/engine-javascript": "1.22.0", + "@shikijs/engine-oniguruma": "1.22.0", + "@shikijs/types": "1.22.0", + "@shikijs/vscode-textmate": "^9.3.0", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.3" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.22.0.tgz", + "integrity": "sha512-AeEtF4Gcck2dwBqCFUKYfsCq0s+eEbCEbkUuFou53NZ0sTGnJnJ/05KHQFZxpii5HMXbocV9URYVowOP2wH5kw==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.22.0", + "@shikijs/vscode-textmate": "^9.3.0", + "oniguruma-to-js": "0.4.3" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.22.0.tgz", + "integrity": "sha512-5iBVjhu/DYs1HB0BKsRRFipRrD7rqjxlWTj4F2Pf+nQSPqc3kcyqFFeZXnBMzDf0HdqaFVvhDRAGiYNvyLP+Mw==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.22.0", + "@shikijs/vscode-textmate": "^9.3.0" + } + }, + "node_modules/@shikijs/transformers": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.22.0.tgz", + "integrity": "sha512-k7iMOYuGQA62KwAuJOQBgH2IQb5vP8uiB3lMvAMGUgAMMurePOx3Z7oNqJdcpxqZP6I9cc7nc4DNqSKduCxmdg==", + "license": "MIT", + "dependencies": { + "shiki": "1.22.0" + } + }, + "node_modules/@shikijs/types": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.22.0.tgz", + "integrity": "sha512-Fw/Nr7FGFhlQqHfxzZY8Cwtwk5E9nKDUgeLjZgt3UuhcM3yJR9xj3ZGNravZZok8XmEZMiYkSMTPlPkULB8nww==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^9.3.0", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-9.3.0.tgz", + "integrity": "sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==", + "license": "MIT" + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "license": "MIT" + }, + "node_modules/@stylistic/eslint-plugin": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-2.9.0.tgz", + "integrity": "sha512-OrDyFAYjBT61122MIY1a3SfEgy3YCMgt2vL4eoPmvTwDBwyQhAXurxNQznlRD/jESNfYWfID8Ej+31LljvF7Xg==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^8.8.0", + "eslint-visitor-keys": "^4.1.0", + "espree": "^10.2.0", + "estraverse": "^5.3.0", + "picomatch": "^4.0.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "node_modules/@stylistic/eslint-plugin-js": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-2.9.0.tgz", + "integrity": "sha512-h08DQybPsXxIvHIvQqU1tFWcu74M7kZK/0S0jVIDdoHSFq7jB+TzxikBWAg5j0lPR17WsGGGHAS8GHFlAAQXHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^4.1.0", + "espree": "^10.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "node_modules/@stylistic/eslint-plugin/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "license": "MIT" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/http-proxy": { + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.9", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.9.tgz", + "integrity": "sha512-w9iWudx1XWOHW5lQRS9iKpK/XuRhnN+0T7HvdCCd802FYkT1AMTnxndJHGrNJwRoRHkslGr4S29tjm1cT7x/7w==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.7.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.4.tgz", + "integrity": "sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "license": "MIT" + }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "license": "MIT" + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.8.1.tgz", + "integrity": "sha512-xfvdgA8AP/vxHgtgU310+WBnLB4uJQ9XdyP17RebG26rLtDrQJV3ZYrcopX91GrHmMoH8bdSwMRh2a//TiJ1jQ==", + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.8.1", + "@typescript-eslint/type-utils": "8.8.1", + "@typescript-eslint/utils": "8.8.1", + "@typescript-eslint/visitor-keys": "8.8.1", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.8.1.tgz", + "integrity": "sha512-hQUVn2Lij2NAxVFEdvIGxT9gP1tq2yM83m+by3whWFsWC+1y8pxxxHUFE1UqDu2VsGi2i6RLcv4QvouM84U+ow==", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "8.8.1", + "@typescript-eslint/types": "8.8.1", + "@typescript-eslint/typescript-estree": "8.8.1", + "@typescript-eslint/visitor-keys": "8.8.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.8.1.tgz", + "integrity": "sha512-X4JdU+66Mazev/J0gfXlcC/dV6JI37h+93W9BRYXrSn0hrE64IoWgVkO9MSJgEzoWkxONgaQpICWg8vAN74wlA==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.8.1", + "@typescript-eslint/visitor-keys": "8.8.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.8.1.tgz", + "integrity": "sha512-qSVnpcbLP8CALORf0za+vjLYj1Wp8HSoiI8zYU5tHxRVj30702Z1Yw4cLwfNKhTPWp5+P+k1pjmD5Zd1nhxiZA==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "8.8.1", + "@typescript-eslint/utils": "8.8.1", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.8.1.tgz", + "integrity": "sha512-WCcTP4SDXzMd23N27u66zTKMuEevH4uzU8C9jf0RO4E04yVHgQgW+r+TeVTNnO1KIfrL8ebgVVYYMMO3+jC55Q==", + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.8.1.tgz", + "integrity": "sha512-A5d1R9p+X+1js4JogdNilDuuq+EHZdsH9MjTVxXOdVFfTJXunKJR/v+fNNyO4TnoOn5HqobzfRlc70NC6HTcdg==", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "8.8.1", + "@typescript-eslint/visitor-keys": "8.8.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.8.1.tgz", + "integrity": "sha512-/QkNJDbV0bdL7H7d0/y0qBbV2HTtf0TIyjSDTvvmQEzeVx8jEImEbLuOA4EsvE8gIgqMitns0ifb5uQhMj8d9w==", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.8.1", + "@typescript-eslint/types": "8.8.1", + "@typescript-eslint/typescript-estree": "8.8.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.8.1.tgz", + "integrity": "sha512-0/TdC3aeRAsW7MDvYRwEc1Uwm0TIBfzjPFgg60UU2Haj5qsCs9cc3zNgY71edqE3LbWfF/WoZQd3lJoDXFQpag==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.8.1", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "license": "ISC" + }, + "node_modules/@unhead/dom": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@unhead/dom/-/dom-1.11.6.tgz", + "integrity": "sha512-FYU8Cu+XWcpbO4OvXdB6x7m6GTPcl6CW7igI8rNu6Kc0Ilxb+atxIvyFXdTGAyB7h/F0w3ex06ZVWJ65f3EW8A==", + "license": "MIT", + "dependencies": { + "@unhead/schema": "1.11.6", + "@unhead/shared": "1.11.6" + }, + "funding": { + "url": "https://github.com/sponsors/harlan-zw" + } + }, + "node_modules/@unhead/schema": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@unhead/schema/-/schema-1.11.6.tgz", + "integrity": "sha512-Ava5+kQERaZ2fi66phgR9KZQr9SsheN1YhhKM8fCP2A4Jb5lHUssVQ19P0+89V6RX9iUg/Q27WdEbznm75LzhQ==", + "license": "MIT", + "dependencies": { + "hookable": "^5.5.3", + "zhead": "^2.2.4" + }, + "funding": { + "url": "https://github.com/sponsors/harlan-zw" + } + }, + "node_modules/@unhead/shared": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@unhead/shared/-/shared-1.11.6.tgz", + "integrity": "sha512-aGrtzRCcFlVh9iru73fBS8FA1vpQskS190t5cCRRMpisOEunVv3ueqXN1F8CseQd0W4wyEr/ycDvdfKt+RPv5g==", + "license": "MIT", + "dependencies": { + "@unhead/schema": "1.11.6" + }, + "funding": { + "url": "https://github.com/sponsors/harlan-zw" + } + }, + "node_modules/@unhead/ssr": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@unhead/ssr/-/ssr-1.11.6.tgz", + "integrity": "sha512-jmRkJB3UWlaAV6aoTBcsi2cLOje8hJxWqbmcLmekmCBZcCgR8yHEjxVCzLtYnAQg68Trgg9+uqMt+8UFY40tDA==", + "license": "MIT", + "dependencies": { + "@unhead/schema": "1.11.6", + "@unhead/shared": "1.11.6" + }, + "funding": { + "url": "https://github.com/sponsors/harlan-zw" + } + }, + "node_modules/@unhead/vue": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-1.11.6.tgz", + "integrity": "sha512-CMuDJGTi4n4wKdOp6/JmB9roGshjTdoFKF34PEkXu4+g97BiVFiZ9LvgY44+UlWCUzQHcqEPRQIzm9iKEqcfKw==", + "license": "MIT", + "dependencies": { + "@unhead/schema": "1.11.6", + "@unhead/shared": "1.11.6", + "defu": "^6.1.4", + "hookable": "^5.5.3", + "unhead": "1.11.6" + }, + "funding": { + "url": "https://github.com/sponsors/harlan-zw" + }, + "peerDependencies": { + "vue": ">=2.7 || >=3" + } + }, + "node_modules/@unocss/reset": { + "version": "0.50.8", + "resolved": "https://registry.npmjs.org/@unocss/reset/-/reset-0.50.8.tgz", + "integrity": "sha512-2WoM6O9VyuHDPAnvCXr7LBJQ8ZRHDnuQAFsL1dWXp561Iq2l9whdNtPuMcozLGJGUUrFfVBXIrHY4sfxxScgWg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vercel/nft": { + "version": "0.26.5", + "resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-0.26.5.tgz", + "integrity": "sha512-NHxohEqad6Ra/r4lGknO52uc/GrWILXAMs1BB4401GTqww0fw1bAqzpG1XHuDO+dprg4GvsD9ZLLSsdo78p9hQ==", + "license": "MIT", + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.5", + "@rollup/pluginutils": "^4.0.0", + "acorn": "^8.6.0", + "acorn-import-attributes": "^1.9.2", + "async-sema": "^3.1.1", + "bindings": "^1.4.0", + "estree-walker": "2.0.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.2", + "node-gyp-build": "^4.2.2", + "resolve-from": "^5.0.0" + }, + "bin": { + "nft": "out/cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@vercel/nft/node_modules/@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "license": "MIT", + "dependencies": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/@vercel/nft/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@vercel/nft/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@vercel/nft/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@vercel/nft/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.1.4.tgz", + "integrity": "sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==", + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vitejs/plugin-vue-jsx": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-4.0.1.tgz", + "integrity": "sha512-7mg9HFGnFHMEwCdB6AY83cVK4A6sCqnrjFYF4WIlebYAQVVJ/sC/CiTruVdrRlhrFoeZ8rlMxY9wYpPTIRhhAg==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.7", + "@babel/plugin-transform-typescript": "^7.24.7", + "@vue/babel-plugin-jsx": "^1.2.2" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0", + "vue": "^3.0.0" + } + }, + "node_modules/@volar/language-core": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.4.1.tgz", + "integrity": "sha512-EIY+Swv+TjsWpxOxujjMf1ZXqOjg9MT2VMXZ+1dKva0wD8W0L6EtptFFcCJdBbcKmGMFkr57Qzz9VNMWhs3jXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "1.4.1" + } + }, + "node_modules/@volar/source-map": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.4.1.tgz", + "integrity": "sha512-bZ46ad72dsbzuOWPUtJjBXkzSQzzSejuR3CT81+GvTEI2E994D8JPXzM3tl98zyCNnjgs4OkRyliImL1dvJ5BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "muggle-string": "^0.2.2" + } + }, + "node_modules/@volar/typescript": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.11.1.tgz", + "integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "1.11.1", + "path-browserify": "^1.0.1" + } + }, + "node_modules/@volar/typescript/node_modules/@volar/language-core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz", + "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "1.11.1" + } + }, + "node_modules/@volar/typescript/node_modules/@volar/source-map": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz", + "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "muggle-string": "^0.3.1" + } + }, + "node_modules/@volar/typescript/node_modules/muggle-string": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", + "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/vue-language-core": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@volar/vue-language-core/-/vue-language-core-1.6.5.tgz", + "integrity": "sha512-IF2b6hW4QAxfsLd5mePmLgtkXzNi+YnH6ltCd80gb7+cbdpFMjM1I+w+nSg2kfBTyfu+W8useCZvW89kPTBpzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "1.4.1", + "@volar/source-map": "1.4.1", + "@vue/compiler-dom": "^3.3.0", + "@vue/compiler-sfc": "^3.3.0", + "@vue/reactivity": "^3.3.0", + "@vue/shared": "^3.3.0", + "minimatch": "^9.0.0", + "muggle-string": "^0.2.2", + "vue-template-compiler": "^2.7.14" + } + }, + "node_modules/@volar/vue-language-core/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@voxpelli/config-array-find-files": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@voxpelli/config-array-find-files/-/config-array-find-files-0.1.2.tgz", + "integrity": "sha512-jOva73R+0Nc5/pyS/piBSjQzO4EehME7rPSkBpPC9PYSta+yj3OpF14v0m0HLLYLVNuyHbBjQh5QvGIZwTH2eA==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.walk": "^2.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "@eslint/config-array": ">=0.16.0" + } + }, + "node_modules/@voxpelli/config-array-find-files/node_modules/@nodelib/fs.scandir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-3.0.0.tgz", + "integrity": "sha512-ktI9+PxfHYtKjF3cLTUAh2N+b8MijCRPNwKJNqTVdL0gB0QxLU2rIRaZ1t71oEa3YBDE6bukH1sR0+CDnpp/Mg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "3.0.0", + "run-parallel": "^1.2.0" + }, + "engines": { + "node": ">=16.14.0" + } + }, + "node_modules/@voxpelli/config-array-find-files/node_modules/@nodelib/fs.stat": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-3.0.0.tgz", + "integrity": "sha512-2tQOI38s19P9i7X/Drt0v8iMA+KMsgdhB/dyPER+e+2Y8L1Z7QvnuRdW/uLuf5YRFUYmnj4bMA6qCuZHFI1GDQ==", + "license": "MIT", + "engines": { + "node": ">=16.14.0" + } + }, + "node_modules/@voxpelli/config-array-find-files/node_modules/@nodelib/fs.walk": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-2.0.0.tgz", + "integrity": "sha512-54voNDBobGdMl3BUXSu7UaDh1P85PGHWlJ5e0XhPugo1JulOyCtp2I+5ri4wplGDJ8QGwPEQW7/x3yTLU7yF1A==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "3.0.0", + "fastq": "^1.15.0" + }, + "engines": { + "node": ">=16.14.0" + } + }, + "node_modules/@vue-macros/common": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@vue-macros/common/-/common-1.14.0.tgz", + "integrity": "sha512-xwQhDoEXRNXobNQmdqOD20yUGdVLVLZe4zhDlT9q/E+z+mvT3wukaAoJG80XRnv/BcgOOCVpxqpkQZ3sNTgjWA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.6", + "@rollup/pluginutils": "^5.1.0", + "@vue/compiler-sfc": "^3.5.4", + "ast-kit": "^1.1.0", + "local-pkg": "^0.5.0", + "magic-string-ast": "^0.6.2" + }, + "engines": { + "node": ">=16.14.0" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.2.25" + }, + "peerDependenciesMeta": { + "vue": { + "optional": true + } + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.5.tgz", + "integrity": "sha512-lOz4t39ZdmU4DJAa2hwPYmKc8EsuGa2U0L9KaZaOJUt0UwQNjNA3AZTq6uEivhOKhhG1Wvy96SvYBoFmCg3uuw==", + "license": "MIT" + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.5.tgz", + "integrity": "sha512-zTrNmOd4939H9KsRIGmmzn3q2zvv1mjxkYZHgqHZgDrXz5B1Q3WyGEjO2f+JrmKghvl1JIRcvo63LgM1kH5zFg==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.6", + "@babel/types": "^7.25.6", + "@vue/babel-helper-vue-transform-on": "1.2.5", + "@vue/babel-plugin-resolve-type": "1.2.5", + "html-tags": "^3.3.1", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.5.tgz", + "integrity": "sha512-U/ibkQrf5sx0XXRnUZD1mo5F7PkpKyTbfXM3a3rC4YnUz6crHEz9Jg09jzzL6QYlXNto/9CePdOg/c87O4Nlfg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/parser": "^7.25.6", + "@vue/compiler-sfc": "^3.5.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.10.tgz", + "integrity": "sha512-iXWlk+Cg/ag7gLvY0SfVucU8Kh2CjysYZjhhP70w9qI4MvSox4frrP+vDGvtQuzIcgD8+sxM6lZvCtdxGunTAA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.10", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-core/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.10.tgz", + "integrity": "sha512-DyxHC6qPcktwYGKOIy3XqnHRrrXyWR2u91AjP+nLkADko380srsC2DC3s7Y1Rk6YfOlxOlvEQKa9XXmLI+W4ZA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.10", + "@vue/shared": "3.5.10" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.10.tgz", + "integrity": "sha512-to8E1BgpakV7224ZCm8gz1ZRSyjNCAWEplwFMWKlzCdP9DkMKhRRwt0WkCjY7jkzi/Vz3xgbpeig5Pnbly4Tow==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.10", + "@vue/compiler-dom": "3.5.10", + "@vue/compiler-ssr": "3.5.10", + "@vue/shared": "3.5.10", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.11", + "postcss": "^8.4.47", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@vue/compiler-sfc/node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.10.tgz", + "integrity": "sha512-hxP4Y3KImqdtyUKXDRSxKSRkSm1H9fCvhojEYrnaoWhE4w/y8vwWhnosJoPPe2AXm5sU7CSbYYAgkt2ZPhDz+A==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.10", + "@vue/shared": "3.5.10" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/@vue/devtools-core": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-7.4.4.tgz", + "integrity": "sha512-DLxgA3DfeADkRzhAfm3G2Rw/cWxub64SdP5b+s5dwL30+whOGj+QNhmyFpwZ8ZTrHDFRIPj0RqNzJ8IRR1pz7w==", + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.4.4", + "@vue/devtools-shared": "^7.4.4", + "mitt": "^3.0.1", + "nanoid": "^3.3.4", + "pathe": "^1.1.2", + "vite-hot-client": "^0.2.3" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-core/node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.4.4.tgz", + "integrity": "sha512-awK/4NfsUG0nQ7qnTM37m7ZkEUMREyPh8taFCX+uQYps/MTFEum0AD05VeGDRMXwWvMmGIcWX9xp8ZiBddY0jw==", + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.4.4", + "birpc": "^0.2.17", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.1" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.4.6.tgz", + "integrity": "sha512-rPeSBzElnHYMB05Cc056BQiJpgocQjY8XVulgni+O9a9Gr9tNXgPteSzFFD+fT/iWMxNuUgGKs9CuW5DZewfIg==", + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/language-core": { + "version": "1.8.27", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.27.tgz", + "integrity": "sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "~1.11.1", + "@volar/source-map": "~1.11.1", + "@vue/compiler-dom": "^3.3.0", + "@vue/shared": "^3.3.0", + "computeds": "^0.0.1", + "minimatch": "^9.0.3", + "muggle-string": "^0.3.1", + "path-browserify": "^1.0.1", + "vue-template-compiler": "^2.7.14" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/language-core/node_modules/@volar/language-core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz", + "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "1.11.1" + } + }, + "node_modules/@vue/language-core/node_modules/@volar/source-map": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz", + "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "muggle-string": "^0.3.1" + } + }, + "node_modules/@vue/language-core/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@vue/language-core/node_modules/muggle-string": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", + "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/reactivity": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.10.tgz", + "integrity": "sha512-kW08v06F6xPSHhid9DJ9YjOGmwNDOsJJQk0ax21wKaUYzzuJGEuoKNU2Ujux8FLMrP7CFJJKsHhXN9l2WOVi2g==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.10" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.10.tgz", + "integrity": "sha512-9Q86I5Qq3swSkFfzrZ+iqEy7Vla325M7S7xc1NwKnRm/qoi1Dauz0rT6mTMmscqx4qz0EDJ1wjB+A36k7rl8mA==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.10", + "@vue/shared": "3.5.10" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.10.tgz", + "integrity": "sha512-t3x7ht5qF8ZRi1H4fZqFzyY2j+GTMTDxRheT+i8M9Ph0oepUxoadmbwlFwMoW7RYCpNQLpP2Yx3feKs+fyBdpA==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.10", + "@vue/runtime-core": "3.5.10", + "@vue/shared": "3.5.10", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.10.tgz", + "integrity": "sha512-IVE97tt2kGKwHNq9yVO0xdh1IvYfZCShvDSy46JIh5OQxP1/EXSpoDqetVmyIzL7CYOWnnmMkVqd7YK2QSWkdw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.10", + "@vue/shared": "3.5.10" + }, + "peerDependencies": { + "vue": "3.5.10" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.10.tgz", + "integrity": "sha512-VkkBhU97Ki+XJ0xvl4C9YJsIZ2uIlQ7HqPpZOS3m9VCvmROPaChZU6DexdMJqvz9tbgG+4EtFVrSuailUq5KGQ==", + "license": "MIT" + }, + "node_modules/@vueuse/core": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/head": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@vueuse/head/-/head-2.0.0.tgz", + "integrity": "sha512-ykdOxTGs95xjD4WXE4na/umxZea2Itl0GWBILas+O4oqS7eXIods38INvk3XkJKjqMdWPcpCyLX/DioLQxU1KA==", + "license": "MIT", + "dependencies": { + "@unhead/dom": "^1.7.0", + "@unhead/schema": "^1.7.0", + "@unhead/ssr": "^1.7.0", + "@unhead/vue": "^1.7.0" + }, + "peerDependencies": { + "vue": ">=2.7 || >=3" + } + }, + "node_modules/@vueuse/integrations": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.11.1.tgz", + "integrity": "sha512-Y5hCGBguN+vuVYTZmdd/IMXLOdfS60zAmDmFYc4BKBcMUPZH1n4tdyDECCPjXm0bNT3ZRUy1xzTLGaUje8Xyaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vueuse/core": "10.11.1", + "@vueuse/shared": "10.11.1", + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "async-validator": "^4", + "axios": "^1", + "change-case": "^4", + "drauu": "^0.3", + "focus-trap": "^7", + "fuse.js": "^6", + "idb-keyval": "^6", + "jwt-decode": "^3", + "nprogress": "^0.2", + "qrcode": "^1.5", + "sortablejs": "^1", + "universal-cookie": "^6" + }, + "peerDependenciesMeta": { + "async-validator": { + "optional": true + }, + "axios": { + "optional": true + }, + "change-case": { + "optional": true + }, + "drauu": { + "optional": true + }, + "focus-trap": { + "optional": true + }, + "fuse.js": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "jwt-decode": { + "optional": true + }, + "nprogress": { + "optional": true + }, + "qrcode": { + "optional": true + }, + "sortablejs": { + "optional": true + }, + "universal-cookie": { + "optional": true + } + } + }, + "node_modules/@vueuse/integrations/node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vueuse/integrations/node_modules/@vueuse/core": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.11.1.tgz", + "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.11.1", + "@vueuse/shared": "10.11.1", + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/integrations/node_modules/@vueuse/metadata": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.11.1.tgz", + "integrity": "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/integrations/node_modules/@vueuse/shared": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.11.1.tgz", + "integrity": "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==", + "dev": true, + "license": "MIT", + "dependencies": { + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/integrations/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/nuxt": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/nuxt/-/nuxt-10.11.1.tgz", + "integrity": "sha512-UiaYSIwOkmUVn8Gl1AqtLWYR12flO+8sEu9X0Y1fNjSR7EWy9jMuiCvOGqwtoeTsqfHrivl0d5HfMzr11GFnMA==", + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^3.12.1", + "@vueuse/core": "10.11.1", + "@vueuse/metadata": "10.11.1", + "local-pkg": "^0.5.0", + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "nuxt": "^3.0.0" + } + }, + "node_modules/@vueuse/nuxt/node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "license": "MIT" + }, + "node_modules/@vueuse/nuxt/node_modules/@vueuse/core": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.11.1.tgz", + "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.11.1", + "@vueuse/shared": "10.11.1", + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/nuxt/node_modules/@vueuse/metadata": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.11.1.tgz", + "integrity": "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/nuxt/node_modules/@vueuse/shared": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.11.1.tgz", + "integrity": "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==", + "license": "MIT", + "dependencies": { + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/nuxt/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "license": "MIT", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "license": "ISC" + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "license": "ISC" + }, + "node_modules/archiver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", + "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.2", + "async": "^3.2.4", + "buffer-crc32": "^1.0.0", + "readable-stream": "^4.0.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^3.0.0", + "zip-stream": "^6.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/archiver-utils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", + "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", + "license": "MIT", + "dependencies": { + "glob": "^10.0.0", + "graceful-fs": "^4.2.0", + "is-stream": "^2.0.1", + "lazystream": "^1.0.0", + "lodash": "^4.17.15", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/archiver-utils/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/archiver-utils/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/archiver-utils/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/archiver-utils/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/are-docs-informative": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", + "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/assert": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", + "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "is-nan": "^1.3.2", + "object-is": "^1.1.5", + "object.assign": "^4.1.4", + "util": "^0.12.5" + } + }, + "node_modules/ast-kit": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ast-kit/-/ast-kit-1.2.1.tgz", + "integrity": "sha512-h31wotR7rkFLrlmGPn0kGqOZ/n5EQFvp7dBs400chpHDhHc8BK3gpvyHDluRujuGgeoTAv3dSIMz9BI3JxAWyQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.6", + "pathe": "^1.1.2" + }, + "engines": { + "node": ">=16.14.0" + } + }, + "node_modules/ast-types": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", + "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ast-walker-scope": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/ast-walker-scope/-/ast-walker-scope-0.6.2.tgz", + "integrity": "sha512-1UWOyC50xI3QZkRuDj6PqDtpm1oHWtYs+NQGwqL/2R11eN3Q81PHAHPM0SWW3BNQm53UDwS//Jv8L4CCVLM1bQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "ast-kit": "^1.0.1" + }, + "engines": { + "node": ">=16.14.0" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, + "node_modules/async-sema": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/async-sema/-/async-sema-3.1.1.tgz", + "integrity": "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==", + "license": "MIT" + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axios": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", + "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/b4a": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", + "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", + "license": "Apache-2.0" + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.0.tgz", + "integrity": "sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==", + "license": "Apache-2.0", + "optional": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "license": "MIT", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/birpc": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-0.2.17.tgz", + "integrity": "sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", + "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001663", + "electron-to-chromium": "^1.5.28", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-builder": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/buffer-builder/-/buffer-builder-0.2.0.tgz", + "integrity": "sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==", + "license": "MIT/X11" + }, + "node_modules/buffer-crc32": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", + "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bundle-require": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bundle-require/-/bundle-require-5.0.0.tgz", + "integrity": "sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==", + "license": "MIT", + "dependencies": { + "load-tsconfig": "^0.2.3" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "esbuild": ">=0.18" + } + }, + "node_modules/c12": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/c12/-/c12-1.11.2.tgz", + "integrity": "sha512-oBs8a4uvSDO9dm8b7OCFW7+dgtVrwmwnrVXYzLm43ta7ep2jCn/0MhoUFygIWtxhyy6+/MG7/agvpY0U1Iemew==", + "license": "MIT", + "dependencies": { + "chokidar": "^3.6.0", + "confbox": "^0.1.7", + "defu": "^6.1.4", + "dotenv": "^16.4.5", + "giget": "^1.2.3", + "jiti": "^1.21.6", + "mlly": "^1.7.1", + "ohash": "^1.1.3", + "pathe": "^1.1.2", + "perfect-debounce": "^1.0.0", + "pkg-types": "^1.2.0", + "rc9": "^2.1.2" + }, + "peerDependencies": { + "magicast": "^0.3.4" + }, + "peerDependenciesMeta": { + "magicast": { + "optional": true + } + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001664", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001664.tgz", + "integrity": "sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/capital-case": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz", + "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/change-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz", + "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "capital-case": "^1.0.4", + "constant-case": "^3.0.4", + "dot-case": "^3.0.4", + "header-case": "^2.0.4", + "no-case": "^3.0.4", + "param-case": "^3.0.4", + "pascal-case": "^3.1.2", + "path-case": "^3.0.4", + "sentence-case": "^3.0.4", + "snake-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/changelogen": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/changelogen/-/changelogen-0.5.7.tgz", + "integrity": "sha512-cTZXBcJMl3pudE40WENOakXkcVtrbBpbkmSkM20NdRiUqa4+VYRdXdEsgQ0BNQ6JBE2YymTNWtPKVF7UCTN5+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "c12": "^1.11.2", + "colorette": "^2.0.20", + "consola": "^3.2.3", + "convert-gitmoji": "^0.1.5", + "mri": "^1.2.0", + "node-fetch-native": "^1.6.4", + "ofetch": "^1.3.4", + "open": "^10.1.0", + "pathe": "^1.1.2", + "pkg-types": "^1.2.0", + "scule": "^1.3.0", + "semver": "^7.6.3", + "std-env": "^3.7.0", + "yaml": "^2.5.1" + }, + "bin": { + "changelogen": "dist/cli.mjs" + } + }, + "node_modules/changelogen/node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/changelogen/node_modules/open": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/chroma-js": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.6.0.tgz", + "integrity": "sha512-BLHvCB9s8Z1EV4ethr6xnkl/P2YRFOGqfgvuMG/MyCbZPrTA+NeiByY6XvgF0zP4/2deU2CXnWyMa3zu1LqQ3A==", + "dev": true, + "license": "(BSD-3-Clause AND Apache-2.0)" + }, + "node_modules/ci-info": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", + "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/citty": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", + "license": "MIT", + "dependencies": { + "consola": "^3.2.3" + } + }, + "node_modules/clean-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", + "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/clean-regexp/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/clear": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/clear/-/clear-0.1.0.tgz", + "integrity": "sha512-qMjRnoL+JDPJHeLePZJuao6+8orzHMGP04A8CdwCNsKhRbOnKRjefxONR7bwILT3MHecxKBjHkKL/tkZ8r4Uzw==", + "engines": { + "node": "*" + } + }, + "node_modules/clipboardy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz", + "integrity": "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==", + "license": "MIT", + "dependencies": { + "execa": "^8.0.1", + "is-wsl": "^3.1.0", + "is64bit": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clipboardy/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/clipboardy/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clipboardy/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/clipboardy/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cluster-key-slot": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", + "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorjs.io": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.5.2.tgz", + "integrity": "sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==", + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/comment-parser": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", + "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", + "license": "MIT", + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "license": "MIT" + }, + "node_modules/compatx": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/compatx/-/compatx-0.1.8.tgz", + "integrity": "sha512-jcbsEAR81Bt5s1qOFymBufmCbXCXbk0Ql+K5ouj6gCyx2yHlu6AgmGIi9HxfKixpUDO5bCFJUHQ5uM6ecbTebw==", + "license": "MIT" + }, + "node_modules/compress-commons": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", + "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "crc32-stream": "^6.0.0", + "is-stream": "^2.0.1", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/compress-commons/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/computeds": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz", + "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", + "license": "MIT" + }, + "node_modules/consola": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", + "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "license": "ISC" + }, + "node_modules/constant-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz", + "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case": "^2.0.2" + } + }, + "node_modules/convert-gitmoji": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/convert-gitmoji/-/convert-gitmoji-0.1.5.tgz", + "integrity": "sha512-4wqOafJdk2tqZC++cjcbGcaJ13BZ3kwldf06PTiAQRAB76Z1KJwZNL1SaRZMi2w1FM9RYTgZ6QErS8NUl/GBmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/cookie-es": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz", + "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "license": "MIT", + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/core-js-compat": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/crc32-stream": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", + "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "license": "MIT" + }, + "node_modules/croner": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/croner/-/croner-8.1.2.tgz", + "integrity": "sha512-ypfPFcAXHuAZRCzo3vJL6ltENzniTjwe/qsLleH1V2/7SRDjgvRQyrLmumFTLmjFax4IuSxfGXEn79fozXcJog==", + "license": "MIT", + "engines": { + "node": ">=18.0" + } + }, + "node_modules/cronstrue": { + "version": "2.50.0", + "resolved": "https://registry.npmjs.org/cronstrue/-/cronstrue-2.50.0.tgz", + "integrity": "sha512-ULYhWIonJzlScCCQrPUG5uMXzXxSixty4djud9SS37DoNxDdkeRocxzHuAo4ImRBUK+mAuU5X9TSwEDccnnuPg==", + "license": "MIT", + "bin": { + "cronstrue": "bin/cli.js" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crossws": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.2.4.tgz", + "integrity": "sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==", + "license": "MIT", + "peerDependencies": { + "uWebSockets.js": "*" + }, + "peerDependenciesMeta": { + "uWebSockets.js": { + "optional": true + } + } + }, + "node_modules/css-declaration-sorter": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", + "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", + "license": "ISC", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.0.6.tgz", + "integrity": "sha512-54woqx8SCbp8HwvNZYn68ZFAepuouZW4lTwiMVnBErM3VkO7/Sd4oTOt3Zz3bPx3kxQ36aISppyXj2Md4lg8bw==", + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^7.0.6", + "lilconfig": "^3.1.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-preset-default": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.6.tgz", + "integrity": "sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^5.0.0", + "postcss-calc": "^10.0.2", + "postcss-colormin": "^7.0.2", + "postcss-convert-values": "^7.0.4", + "postcss-discard-comments": "^7.0.3", + "postcss-discard-duplicates": "^7.0.1", + "postcss-discard-empty": "^7.0.0", + "postcss-discard-overridden": "^7.0.0", + "postcss-merge-longhand": "^7.0.4", + "postcss-merge-rules": "^7.0.4", + "postcss-minify-font-values": "^7.0.0", + "postcss-minify-gradients": "^7.0.0", + "postcss-minify-params": "^7.0.2", + "postcss-minify-selectors": "^7.0.4", + "postcss-normalize-charset": "^7.0.0", + "postcss-normalize-display-values": "^7.0.0", + "postcss-normalize-positions": "^7.0.0", + "postcss-normalize-repeat-style": "^7.0.0", + "postcss-normalize-string": "^7.0.0", + "postcss-normalize-timing-functions": "^7.0.0", + "postcss-normalize-unicode": "^7.0.2", + "postcss-normalize-url": "^7.0.0", + "postcss-normalize-whitespace": "^7.0.0", + "postcss-ordered-values": "^7.0.1", + "postcss-reduce-initial": "^7.0.2", + "postcss-reduce-transforms": "^7.0.0", + "postcss-svgo": "^7.0.1", + "postcss-unique-selectors": "^7.0.3" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-utils": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-5.0.0.tgz", + "integrity": "sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==", + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" + }, + "node_modules/db0": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/db0/-/db0-0.1.4.tgz", + "integrity": "sha512-Ft6eCwONYxlwLjBXSJxw0t0RYtA5gW9mq8JfBXn9TtC0nDPlqePAhpv9v4g9aONBi6JI1OXHTKKkUYGd+BOrCA==", + "license": "MIT", + "peerDependencies": { + "@libsql/client": "^0.5.2", + "better-sqlite3": "^9.4.3", + "drizzle-orm": "^0.29.4" + }, + "peerDependenciesMeta": { + "@libsql/client": { + "optional": true + }, + "better-sqlite3": { + "optional": true + }, + "drizzle-orm": { + "optional": true + } + } + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "license": "MIT" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "license": "MIT" + }, + "node_modules/denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destr": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.3.tgz", + "integrity": "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==", + "license": "MIT" + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detab": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/detab/-/detab-3.0.2.tgz", + "integrity": "sha512-7Bp16Bk8sk0Y6gdXiCtnpGbghn8atnTJdd/82aWvS5ESnlcNvgUc10U2NYS0PAiDSGjWiI8qs/Cv1b2uSGdQ8w==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/devalue": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.1.1.tgz", + "integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/diff": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-7.0.0.tgz", + "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dir-glob/node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-prop": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-8.0.2.tgz", + "integrity": "sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^3.8.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "license": "MIT" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.29", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.29.tgz", + "integrity": "sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw==", + "license": "ISC" + }, + "node_modules/element-plus": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.8.4.tgz", + "integrity": "sha512-ZlVAdUOoJliv4kW3ntWnnSHMT+u/Os7mXJjk2xzOlqNeHaI2/ozlF+R58ZCEak8ZnDi6+5A2viWEYRsq64IuiA==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.3", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/emojilib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", + "license": "MIT" + }, + "node_modules/emoticon": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.1.0.tgz", + "integrity": "sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/engine.io-client": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.1.tgz", + "integrity": "sha512-aYuoak7I+R83M/BBPIOs2to51BmFIpC1wZe6zZzMrT2llVsHy5cvcmdsJgP2Qz6smHu+sD9oexiSUAVd8OfBPw==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1", + "xmlhttprequest-ssl": "~2.1.1" + } + }, + "node_modules/engine.io-client/node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser-es": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-0.1.5.tgz", + "integrity": "sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/errx": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/errx/-/errx-0.1.0.tgz", + "integrity": "sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q==", + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "license": "MIT" + }, + "node_modules/esbuild": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", + "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.23.1", + "@esbuild/android-arm": "0.23.1", + "@esbuild/android-arm64": "0.23.1", + "@esbuild/android-x64": "0.23.1", + "@esbuild/darwin-arm64": "0.23.1", + "@esbuild/darwin-x64": "0.23.1", + "@esbuild/freebsd-arm64": "0.23.1", + "@esbuild/freebsd-x64": "0.23.1", + "@esbuild/linux-arm": "0.23.1", + "@esbuild/linux-arm64": "0.23.1", + "@esbuild/linux-ia32": "0.23.1", + "@esbuild/linux-loong64": "0.23.1", + "@esbuild/linux-mips64el": "0.23.1", + "@esbuild/linux-ppc64": "0.23.1", + "@esbuild/linux-riscv64": "0.23.1", + "@esbuild/linux-s390x": "0.23.1", + "@esbuild/linux-x64": "0.23.1", + "@esbuild/netbsd-x64": "0.23.1", + "@esbuild/openbsd-arm64": "0.23.1", + "@esbuild/openbsd-x64": "0.23.1", + "@esbuild/sunos-x64": "0.23.1", + "@esbuild/win32-arm64": "0.23.1", + "@esbuild/win32-ia32": "0.23.1", + "@esbuild/win32-x64": "0.23.1" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.12.0.tgz", + "integrity": "sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.11.0", + "@eslint/config-array": "^0.18.0", + "@eslint/core": "^0.6.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.12.0", + "@eslint/plugin-kit": "^0.2.0", + "@humanfs/node": "^0.16.5", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.3.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.1.0", + "eslint-visitor-keys": "^4.1.0", + "espree": "^10.2.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-flat-gitignore": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/eslint-config-flat-gitignore/-/eslint-config-flat-gitignore-0.3.0.tgz", + "integrity": "sha512-0Ndxo4qGhcewjTzw52TK06Mc00aDtHNTdeeW2JfONgDcLkRO/n/BteMRzNVpLQYxdCC/dFEilfM9fjjpGIJ9Og==", + "license": "MIT", + "dependencies": { + "@eslint/compat": "^1.1.1", + "find-up-simple": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "eslint": "^9.5.0" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-flat-config-utils": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/eslint-flat-config-utils/-/eslint-flat-config-utils-0.4.0.tgz", + "integrity": "sha512-kfd5kQZC+BMO0YwTol6zxjKX1zAsk8JfSAopbKjKqmENTJcew+yBejuvccAg37cvOrN0Mh+DVbeyznuNWEjt4A==", + "license": "MIT", + "dependencies": { + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import-x": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import-x/-/eslint-plugin-import-x-4.3.1.tgz", + "integrity": "sha512-5TriWkXulDl486XnYYRgsL+VQoS/7mhN/2ci02iLCuL7gdhbiWxnsuL/NTcaKY9fpMgsMFjWZBtIGW7pb+RX0g==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^8.1.0", + "debug": "^4.3.4", + "doctrine": "^3.0.0", + "eslint-import-resolver-node": "^0.3.9", + "get-tsconfig": "^4.7.3", + "is-glob": "^4.0.3", + "minimatch": "^9.0.3", + "semver": "^7.6.3", + "stable-hash": "^0.0.4", + "tslib": "^2.6.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-import-x/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/eslint-plugin-jsdoc": { + "version": "50.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.3.1.tgz", + "integrity": "sha512-SY9oUuTMr6aWoJggUS40LtMjsRzJPB5ZT7F432xZIHK3EfHF+8i48GbUBpwanrtlL9l1gILNTHK9o8gEhYLcKA==", + "license": "BSD-3-Clause", + "dependencies": { + "@es-joy/jsdoccomment": "~0.48.0", + "are-docs-informative": "^0.0.2", + "comment-parser": "1.4.1", + "debug": "^4.3.6", + "escape-string-regexp": "^4.0.0", + "espree": "^10.1.0", + "esquery": "^1.6.0", + "parse-imports": "^2.1.1", + "semver": "^7.6.3", + "spdx-expression-parse": "^4.0.0", + "synckit": "^0.9.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-regexp": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-regexp/-/eslint-plugin-regexp-2.6.0.tgz", + "integrity": "sha512-FCL851+kislsTEQEMioAlpDuK5+E5vs0hi1bF8cFlPlHcEjeRhuAzEsGikXRreE+0j4WhW2uO54MqTjXtYOi3A==", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.9.1", + "comment-parser": "^1.4.0", + "jsdoc-type-pratt-parser": "^4.0.0", + "refa": "^0.12.1", + "regexp-ast-analysis": "^0.7.1", + "scslre": "^0.3.0" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "eslint": ">=8.44.0" + } + }, + "node_modules/eslint-plugin-unicorn": { + "version": "55.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-55.0.0.tgz", + "integrity": "sha512-n3AKiVpY2/uDcGrS3+QsYDkjPfaOrNrsfQxU9nt5nitd9KuvVXrfAvgCO9DYPSfap+Gqjw9EOrXIsBp5tlHZjA==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.5", + "@eslint-community/eslint-utils": "^4.4.0", + "ci-info": "^4.0.0", + "clean-regexp": "^1.0.0", + "core-js-compat": "^3.37.0", + "esquery": "^1.5.0", + "globals": "^15.7.0", + "indent-string": "^4.0.0", + "is-builtin-module": "^3.2.1", + "jsesc": "^3.0.2", + "pluralize": "^8.0.0", + "read-pkg-up": "^7.0.1", + "regexp-tree": "^0.1.27", + "regjsparser": "^0.10.0", + "semver": "^7.6.1", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=18.18" + }, + "funding": { + "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" + }, + "peerDependencies": { + "eslint": ">=8.56.0" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/globals": { + "version": "15.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.11.0.tgz", + "integrity": "sha512-yeyNSjdbyVaWurlwCpcA6XNBrHTMIeDdj0/hnvX/OLJ9ekOXYbLsLinH/MucQyGvNnXhidTdNhTtJaffL2sMfw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-plugin-vue": { + "version": "9.28.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.28.0.tgz", + "integrity": "sha512-ShrihdjIhOTxs+MfWun6oJWuk+g/LAhN+CiuOl/jjkG3l0F2AuK5NMTaWqyvBgkFtpYmyks6P4603mLmhNJW8g==", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "globals": "^13.24.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.15", + "semver": "^7.6.3", + "vue-eslint-parser": "^9.4.3", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-vue/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-vue/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-scope": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.1.0.tgz", + "integrity": "sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-typegen": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/eslint-typegen/-/eslint-typegen-0.3.2.tgz", + "integrity": "sha512-YD/flDDDYoBszomo6wVAJ01HcEWTLfOb04+Mwir8/oR66t2bnajw+qUI6JfBoBQO3HbebcCmEtgjKgWVB67ggQ==", + "license": "MIT", + "dependencies": { + "json-schema-to-typescript-lite": "^14.1.0", + "ohash": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "eslint": "^8.45.0 || ^9.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz", + "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==", + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslit": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/eslit/-/eslit-6.0.0.tgz", + "integrity": "sha512-uDS+V9CJWX4fCfmJ50exSRkn5UTA9dx5RPPtGpmGwb1yniw0Gu9BGx3XmvaVDByL9pq22B7GnajaLm37BOEb4Q==", + "license": "CC0-1.0", + "dependencies": { + "@babel/core": "^7.2.2", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "glob": "^7.1.3" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eslit/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslit/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/eslit/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz", + "integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==", + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.12.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/externality": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/externality/-/externality-1.0.2.tgz", + "integrity": "sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==", + "license": "MIT", + "dependencies": { + "enhanced-resolve": "^5.14.1", + "mlly": "^1.3.0", + "pathe": "^1.1.1", + "ufo": "^1.1.2" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "license": "MIT" + }, + "node_modules/fast-npm-meta": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/fast-npm-meta/-/fast-npm-meta-0.2.2.tgz", + "integrity": "sha512-E+fdxeaOQGo/CMWc9f4uHFfgUPJRAu7N3uB8GBvB3SDPAIWJK4GKyYhkAGFq+GYrcbKNfQIz5VVQyJnDuPPCrg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "license": "MIT" + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-up-simple": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.0.tgz", + "integrity": "sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-6.0.1.tgz", + "integrity": "sha512-/3FfIa8mbrg3xE7+wAhWeV+bd7L2Mof+xtZb5dRDKZ+wDvYJK4WDYeIOuOhre5Yv5aQObZrlbRmk3RTSiuQBtw==", + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "license": "ISC" + }, + "node_modules/focus-trap": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.6.0.tgz", + "integrity": "sha512-1td0l3pMkWJLFipobUcGaf+5DTY4PLDDrcqoSaKP8ediO/CoWCCYk/fT/Y2A4e6TNB+Sh6clRJCjOPPnKoNHnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tabbable": "^6.2.0" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs-minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/fuse.js": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz", + "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-port-please": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.2.tgz", + "integrity": "sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==", + "license": "MIT" + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-tsconfig": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz", + "integrity": "sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==", + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/giget": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.3.tgz", + "integrity": "sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==", + "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.2.3", + "defu": "^6.1.4", + "node-fetch-native": "^1.6.3", + "nypm": "^0.3.8", + "ohash": "^1.1.3", + "pathe": "^1.1.2", + "tar": "^6.2.0" + }, + "bin": { + "giget": "dist/cli.mjs" + } + }, + "node_modules/git-config-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-2.0.0.tgz", + "integrity": "sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/git-up": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", + "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==", + "license": "MIT", + "dependencies": { + "is-ssh": "^1.4.0", + "parse-url": "^8.1.0" + } + }, + "node_modules/git-url-parse": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-15.0.0.tgz", + "integrity": "sha512-5reeBufLi+i4QD3ZFftcJs9jC26aULFLBU23FeKM/b1rI0K6ofIeAblmDVO7Ht22zTDE9+CkJ3ZVb0CgJmz3UQ==", + "license": "MIT", + "dependencies": { + "git-up": "^7.0.0" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-directory": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz", + "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==", + "license": "MIT", + "dependencies": { + "ini": "4.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", + "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "license": "MIT" + }, + "node_modules/gzip-size": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-7.0.0.tgz", + "integrity": "sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==", + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/h3": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.12.0.tgz", + "integrity": "sha512-Zi/CcNeWBXDrFNlV0hUBJQR9F7a96RjMeAZweW/ZWkR9fuXrMcvKnSA63f/zZ9l0GgQOZDVHGvXivNN9PWOwhA==", + "license": "MIT", + "dependencies": { + "cookie-es": "^1.1.0", + "crossws": "^0.2.4", + "defu": "^6.1.4", + "destr": "^2.0.3", + "iron-webcrypto": "^1.1.1", + "ohash": "^1.1.3", + "radix3": "^1.1.2", + "ufo": "^1.5.3", + "uncrypto": "^0.1.3", + "unenv": "^1.9.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "license": "ISC" + }, + "node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "license": "MIT" + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", + "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^8.0.0", + "property-information": "^6.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-heading-rank": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", + "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.4.tgz", + "integrity": "sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.3.tgz", + "integrity": "sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-string": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz", + "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/header-case": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz", + "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "capital-case": "^1.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/highlight.js": { + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.10.0.tgz", + "integrity": "sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==", + "dev": true, + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/highlightjs": { + "version": "9.16.2", + "resolved": "https://registry.npmjs.org/highlightjs/-/highlightjs-9.16.2.tgz", + "integrity": "sha512-FK1vmMj8BbEipEy8DLIvp71t5UsC7n2D6En/UfM/91PCwmOpj6f2iu0Y0coRC62KSRHHC+dquM2xMULV/X7NFg==", + "deprecated": "Use the 'highlight.js' package instead https://npm.im/highlight.js", + "license": "BSD-3-Clause" + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "license": "MIT" + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "license": "ISC" + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-shutdown": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz", + "integrity": "sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==", + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/httpxy": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/httpxy/-/httpxy-0.1.5.tgz", + "integrity": "sha512-hqLDO+rfststuyEUTWObQK6zHEEmZ/kaIP2/zclGGZn6X8h/ESTWg+WKecQ/e5k4nPswjzZD+q2VqZIbr15CoQ==", + "license": "MIT" + }, + "node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-meta": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/image-meta/-/image-meta-0.2.1.tgz", + "integrity": "sha512-K6acvFaelNxx8wc2VjbIzXKDVB0Khs0QT35U6NkGfTdCmjLNcO2945m7RFNR9/RPVFm48hq7QPzK8uGH18HCGw==", + "license": "MIT" + }, + "node_modules/immutable": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/impound": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/impound/-/impound-0.1.0.tgz", + "integrity": "sha512-F9nJgOsDc3tysjN74edE0vGPEQrU7DAje6g5nNAL5Jc9Tv4JW3mH7XMGne+EaadTniDXLeUrVR21opkNfWO1zQ==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.1.0", + "mlly": "^1.7.1", + "pathe": "^1.1.2", + "unenv": "^1.10.0", + "unplugin": "^1.12.2" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", + "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/ioredis": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.4.1.tgz", + "integrity": "sha512-2YZsvl7jopIa1gaePkeMtd9rAcSjOOjPtpcLlOeusyO+XH2SK5ZcT+UCrElPP+WVIInh2TzeI4XW9ENaSLVVHA==", + "license": "MIT", + "dependencies": { + "@ioredis/commands": "^1.1.1", + "cluster-key-slot": "^1.1.0", + "debug": "^4.3.4", + "denque": "^2.1.0", + "lodash.defaults": "^4.2.0", + "lodash.isarguments": "^3.1.0", + "redis-errors": "^1.2.0", + "redis-parser": "^3.0.0", + "standard-as-callback": "^2.1.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ioredis" + } + }, + "node_modules/iron-webcrypto": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/brc-dd" + } + }, + "node_modules/is-absolute-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", + "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "license": "MIT", + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-installed-globally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-1.0.0.tgz", + "integrity": "sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==", + "license": "MIT", + "dependencies": { + "global-directory": "^4.0.1", + "is-path-inside": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "license": "MIT" + }, + "node_modules/is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", + "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/is-ssh": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz", + "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==", + "license": "MIT", + "dependencies": { + "protocols": "^2.0.1" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "license": "MIT", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is64bit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is64bit/-/is64bit-2.0.0.tgz", + "integrity": "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==", + "license": "MIT", + "dependencies": { + "system-architecture": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdoc-type-pratt-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz", + "integrity": "sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/json-schema-to-typescript-lite": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/json-schema-to-typescript-lite/-/json-schema-to-typescript-lite-14.1.0.tgz", + "integrity": "sha512-b8K6P3aiLgiYKYcHacgZKrwPXPyjekqRPV5vkNfBt0EoohcOSXEbcuGzgi6KQmsAhuy5Mh2KMxofXodRhMxURA==", + "license": "MIT", + "dependencies": { + "@apidevtools/json-schema-ref-parser": "^11.7.0", + "@types/json-schema": "^7.0.15" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/knitwork": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/knitwork/-/knitwork-1.1.0.tgz", + "integrity": "sha512-oHnmiBUVHz1V+URE77PNot2lv3QiYU2zQf1JjOVkMt3YDKGbu8NAFr+c4mcNOhdsGrB/VpVbRwPwhiXrPhxQbw==", + "license": "MIT" + }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "license": "MIT" + }, + "node_modules/launch-editor": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", + "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", + "license": "MIT", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "license": "MIT", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/listhen": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.8.0.tgz", + "integrity": "sha512-Wj5hk++HPDqnG/0nc9++oXf8M3GlzObC6AJJJ9VYAVhVTdeW+t3HyeiKhK6Ro0GPhVd8lOYM75zsckrtzLB2Gw==", + "license": "MIT", + "dependencies": { + "@parcel/watcher": "^2.4.1", + "@parcel/watcher-wasm": "^2.4.1", + "citty": "^0.1.6", + "clipboardy": "^4.0.0", + "consola": "^3.2.3", + "crossws": "^0.2.4", + "defu": "^6.1.4", + "get-port-please": "^3.1.2", + "h3": "^1.12.0", + "http-shutdown": "^1.2.2", + "jiti": "^2.0.0", + "mlly": "^1.7.1", + "node-forge": "^1.3.1", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "ufo": "^1.5.4", + "untun": "^0.1.3", + "uqr": "^0.1.2" + }, + "bin": { + "listen": "bin/listhen.mjs", + "listhen": "bin/listhen.mjs" + } + }, + "node_modules/listhen/node_modules/jiti": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.0.0.tgz", + "integrity": "sha512-CJ7e7Abb779OTRv3lomfp7Mns/Sy1+U4pcAx5VbjxCZD5ZM/VJaXPpPjNKjtSvWQy/H86E49REXR34dl1JEz9w==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/load-tsconfig": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/load-tsconfig/-/load-tsconfig-0.2.5.tgz", + "integrity": "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "license": "MIT", + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "license": "MIT", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", + "license": "MIT" + }, + "node_modules/lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==", + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT" + }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/magic-string-ast": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/magic-string-ast/-/magic-string-ast-0.6.2.tgz", + "integrity": "sha512-oN3Bcd7ZVt+0VGEs7402qR/tjgjbM7kPlH/z7ufJnzTLVBzXJITRHOJiwMmmYMgZfdoWQsfQcY+iKlxiBppnMA==", + "license": "MIT", + "dependencies": { + "magic-string": "^0.30.10" + }, + "engines": { + "node": ">=16.14.0" + } + }, + "node_modules/magic-string-ast/node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/magicast": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.5.tgz", + "integrity": "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.4", + "@babel/types": "^7.25.4", + "source-map-js": "^1.2.0" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/markdown-table": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", + "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.1.tgz", + "integrity": "sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "license": "CC0-1.0" + }, + "node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "license": "MIT" + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.1.tgz", + "integrity": "sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz", + "integrity": "sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.1.tgz", + "integrity": "sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.4.tgz", + "integrity": "sha512-v8yqInVjhXyqP6+Kw4fV3ZzeMRqEW6FotRsKXjRS5VMTNIuXsdRoAvklpoRgSqXm6o9VNH4/C0mgedko9DdLsQ==", + "funding": [ + "https://github.com/sponsors/broofa" + ], + "license": "MIT", + "bin": { + "mime": "bin/cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/minisearch": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-7.1.0.tgz", + "integrity": "sha512-tv7c/uefWdEhcu6hvrfTihflgeEi2tN6VV7HJnCjK6VxM75QQJh4t9FwJCsA2EsRS8LCnu3W87CuGPWMocOLCA==", + "license": "MIT" + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mkdist": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mkdist/-/mkdist-1.6.0.tgz", + "integrity": "sha512-nD7J/mx33Lwm4Q4qoPgRBVA9JQNKgyE7fLo5vdPWVDdjz96pXglGERp/fRnGPCTB37Kykfxs5bDdXa9BWOT9nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "autoprefixer": "^10.4.20", + "citty": "^0.1.6", + "cssnano": "^7.0.6", + "defu": "^6.1.4", + "esbuild": "^0.24.0", + "jiti": "^1.21.6", + "mlly": "^1.7.1", + "pathe": "^1.1.2", + "pkg-types": "^1.2.0", + "postcss": "^8.4.45", + "postcss-nested": "^6.2.0", + "semver": "^7.6.3", + "tinyglobby": "^0.2.9" + }, + "bin": { + "mkdist": "dist/cli.cjs" + }, + "peerDependencies": { + "sass": "^1.78.0", + "typescript": ">=5.5.4", + "vue-tsc": "^1.8.27 || ^2.0.21" + }, + "peerDependenciesMeta": { + "sass": { + "optional": true + }, + "typescript": { + "optional": true + }, + "vue-tsc": { + "optional": true + } + } + }, + "node_modules/mkdist/node_modules/@esbuild/aix-ppc64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", + "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/android-arm": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz", + "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/android-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz", + "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/android-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz", + "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/darwin-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", + "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/darwin-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz", + "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/freebsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz", + "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/freebsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz", + "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/linux-arm": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz", + "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/linux-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz", + "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/linux-ia32": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz", + "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/linux-loong64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz", + "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/linux-mips64el": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz", + "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/linux-ppc64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz", + "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/linux-riscv64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz", + "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/linux-s390x": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz", + "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/linux-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz", + "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/netbsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz", + "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/openbsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", + "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/openbsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz", + "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/sunos-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz", + "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/win32-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz", + "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/win32-ia32": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz", + "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/@esbuild/win32-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz", + "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/mkdist/node_modules/esbuild": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz", + "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.24.0", + "@esbuild/android-arm": "0.24.0", + "@esbuild/android-arm64": "0.24.0", + "@esbuild/android-x64": "0.24.0", + "@esbuild/darwin-arm64": "0.24.0", + "@esbuild/darwin-x64": "0.24.0", + "@esbuild/freebsd-arm64": "0.24.0", + "@esbuild/freebsd-x64": "0.24.0", + "@esbuild/linux-arm": "0.24.0", + "@esbuild/linux-arm64": "0.24.0", + "@esbuild/linux-ia32": "0.24.0", + "@esbuild/linux-loong64": "0.24.0", + "@esbuild/linux-mips64el": "0.24.0", + "@esbuild/linux-ppc64": "0.24.0", + "@esbuild/linux-riscv64": "0.24.0", + "@esbuild/linux-s390x": "0.24.0", + "@esbuild/linux-x64": "0.24.0", + "@esbuild/netbsd-x64": "0.24.0", + "@esbuild/openbsd-arm64": "0.24.0", + "@esbuild/openbsd-x64": "0.24.0", + "@esbuild/sunos-x64": "0.24.0", + "@esbuild/win32-arm64": "0.24.0", + "@esbuild/win32-ia32": "0.24.0", + "@esbuild/win32-x64": "0.24.0" + } + }, + "node_modules/mkdist/node_modules/fdir": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.0.tgz", + "integrity": "sha512-3oB133prH1o4j/L5lLW7uOCF1PlD+/It2L0eL/iAqWMB91RBbqTewABqxhj0ibBd90EEmWZq7ntIWzVaWcXTGQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/mkdist/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mkdist/node_modules/tinyglobby": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.9.tgz", + "integrity": "sha512-8or1+BGEdk1Zkkw2ii16qSS7uVrQJPre5A9o/XkWPATkk23FZh/15BKFxPnlTy6vkljZxLqYCzzBMj30ZrSvjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.0", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/mlly": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz", + "integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==", + "license": "MIT", + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.1.1", + "ufo": "^1.5.3" + } + }, + "node_modules/monaco-editor": { + "version": "0.52.0", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.52.0.tgz", + "integrity": "sha512-OeWhNpABLCeTqubfqLMXGsqf6OmPU6pHM85kF3dhy6kq5hnhuVS1p3VrEW/XhWHc71P2tHyS5JFySD8mgs1crw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.2.2.tgz", + "integrity": "sha512-YVE1mIJ4VpUMqZObFndk9CJu6DBJR/GB13p3tXuNbwD4XExaI5EOuRl6BHeIDxIqXZVxSfAC+y6U1Z/IxCfKUg==", + "dev": true, + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.7.tgz", + "integrity": "sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "node_modules/nanotar": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/nanotar/-/nanotar-0.1.1.tgz", + "integrity": "sha512-AiJsGsSF3O0havL1BydvI4+wR76sKT+okKRwWIaK96cZUnXqH0uNBOsHlbwZq3+m2BR1VKqHDVudl3gO4mYjpQ==", + "license": "MIT" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "license": "MIT" + }, + "node_modules/nitropack": { + "version": "2.9.7", + "resolved": "https://registry.npmjs.org/nitropack/-/nitropack-2.9.7.tgz", + "integrity": "sha512-aKXvtNrWkOCMsQbsk4A0qQdBjrJ1ZcvwlTQevI/LAgLWLYc5L7Q/YiYxGLal4ITyNSlzir1Cm1D2ZxnYhmpMEw==", + "license": "MIT", + "dependencies": { + "@cloudflare/kv-asset-handler": "^0.3.4", + "@netlify/functions": "^2.8.0", + "@rollup/plugin-alias": "^5.1.0", + "@rollup/plugin-commonjs": "^25.0.8", + "@rollup/plugin-inject": "^5.0.5", + "@rollup/plugin-json": "^6.1.0", + "@rollup/plugin-node-resolve": "^15.2.3", + "@rollup/plugin-replace": "^5.0.7", + "@rollup/plugin-terser": "^0.4.4", + "@rollup/pluginutils": "^5.1.0", + "@types/http-proxy": "^1.17.14", + "@vercel/nft": "^0.26.5", + "archiver": "^7.0.1", + "c12": "^1.11.1", + "chalk": "^5.3.0", + "chokidar": "^3.6.0", + "citty": "^0.1.6", + "consola": "^3.2.3", + "cookie-es": "^1.1.0", + "croner": "^8.0.2", + "crossws": "^0.2.4", + "db0": "^0.1.4", + "defu": "^6.1.4", + "destr": "^2.0.3", + "dot-prop": "^8.0.2", + "esbuild": "^0.20.2", + "escape-string-regexp": "^5.0.0", + "etag": "^1.8.1", + "fs-extra": "^11.2.0", + "globby": "^14.0.1", + "gzip-size": "^7.0.0", + "h3": "^1.12.0", + "hookable": "^5.5.3", + "httpxy": "^0.1.5", + "ioredis": "^5.4.1", + "jiti": "^1.21.6", + "klona": "^2.0.6", + "knitwork": "^1.1.0", + "listhen": "^1.7.2", + "magic-string": "^0.30.10", + "mime": "^4.0.3", + "mlly": "^1.7.1", + "mri": "^1.2.0", + "node-fetch-native": "^1.6.4", + "ofetch": "^1.3.4", + "ohash": "^1.1.3", + "openapi-typescript": "^6.7.6", + "pathe": "^1.1.2", + "perfect-debounce": "^1.0.0", + "pkg-types": "^1.1.1", + "pretty-bytes": "^6.1.1", + "radix3": "^1.1.2", + "rollup": "^4.18.0", + "rollup-plugin-visualizer": "^5.12.0", + "scule": "^1.3.0", + "semver": "^7.6.2", + "serve-placeholder": "^2.0.2", + "serve-static": "^1.15.0", + "std-env": "^3.7.0", + "ufo": "^1.5.3", + "uncrypto": "^0.1.3", + "unctx": "^2.3.1", + "unenv": "^1.9.0", + "unimport": "^3.7.2", + "unstorage": "^1.10.2", + "unwasm": "^0.3.9" + }, + "bin": { + "nitro": "dist/cli/index.mjs", + "nitropack": "dist/cli/index.mjs" + }, + "engines": { + "node": "^16.11.0 || >=17.0.0" + }, + "peerDependencies": { + "xml2js": "^0.6.2" + }, + "peerDependenciesMeta": { + "xml2js": { + "optional": true + } + } + }, + "node_modules/nitropack/node_modules/@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/nitropack/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/nitropack/node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } + }, + "node_modules/nitropack/node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT" + }, + "node_modules/node-emoji": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz", + "integrity": "sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==", + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^4.6.0", + "char-regex": "^1.0.2", + "emojilib": "^2.4.0", + "skin-tone": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz", + "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==", + "license": "MIT" + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-gyp-build": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.2.tgz", + "integrity": "sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==", + "license": "MIT", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "license": "MIT" + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "license": "ISC", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", + "license": "BSD-3-Clause" + }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nuxi": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/nuxi/-/nuxi-3.14.0.tgz", + "integrity": "sha512-MhG4QR6D95jQxhnwKfdKXulZ8Yqy1nbpwbotbxY5IcabOzpEeTB8hYn2BFkmYdMUB0no81qpv2ldZmVCT9UsnQ==", + "license": "MIT", + "bin": { + "nuxi": "bin/nuxi.mjs", + "nuxi-ng": "bin/nuxi.mjs", + "nuxt": "bin/nuxi.mjs", + "nuxt-cli": "bin/nuxi.mjs" + }, + "engines": { + "node": "^16.10.0 || >=18.0.0" + } + }, + "node_modules/nuxt": { + "version": "3.13.2", + "resolved": "https://registry.npmjs.org/nuxt/-/nuxt-3.13.2.tgz", + "integrity": "sha512-Bjc2qRsipfBhjXsBEJCN+EUAukhdgFv/KoIR5HFB2hZOYRSqXBod3oWQs78k3ja1nlIhAEdBG533898KJxUtJw==", + "license": "MIT", + "dependencies": { + "@nuxt/devalue": "^2.0.2", + "@nuxt/devtools": "^1.4.2", + "@nuxt/kit": "3.13.2", + "@nuxt/schema": "3.13.2", + "@nuxt/telemetry": "^2.6.0", + "@nuxt/vite-builder": "3.13.2", + "@unhead/dom": "^1.11.5", + "@unhead/shared": "^1.11.5", + "@unhead/ssr": "^1.11.5", + "@unhead/vue": "^1.11.5", + "@vue/shared": "^3.5.5", + "acorn": "8.12.1", + "c12": "^1.11.2", + "chokidar": "^3.6.0", + "compatx": "^0.1.8", + "consola": "^3.2.3", + "cookie-es": "^1.2.2", + "defu": "^6.1.4", + "destr": "^2.0.3", + "devalue": "^5.0.0", + "errx": "^0.1.0", + "esbuild": "^0.23.1", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "globby": "^14.0.2", + "h3": "^1.12.0", + "hookable": "^5.5.3", + "ignore": "^5.3.2", + "impound": "^0.1.0", + "jiti": "^1.21.6", + "klona": "^2.0.6", + "knitwork": "^1.1.0", + "magic-string": "^0.30.11", + "mlly": "^1.7.1", + "nanotar": "^0.1.1", + "nitropack": "^2.9.7", + "nuxi": "^3.13.2", + "nypm": "^0.3.11", + "ofetch": "^1.3.4", + "ohash": "^1.1.4", + "pathe": "^1.1.2", + "perfect-debounce": "^1.0.0", + "pkg-types": "^1.2.0", + "radix3": "^1.1.2", + "scule": "^1.3.0", + "semver": "^7.6.3", + "std-env": "^3.7.0", + "strip-literal": "^2.1.0", + "tinyglobby": "0.2.6", + "ufo": "^1.5.4", + "ultrahtml": "^1.5.3", + "uncrypto": "^0.1.3", + "unctx": "^2.3.1", + "unenv": "^1.10.0", + "unhead": "^1.11.5", + "unimport": "^3.12.0", + "unplugin": "^1.14.1", + "unplugin-vue-router": "^0.10.8", + "unstorage": "^1.12.0", + "untyped": "^1.4.2", + "vue": "^3.5.5", + "vue-bundle-renderer": "^2.1.0", + "vue-devtools-stub": "^0.1.0", + "vue-router": "^4.4.5" + }, + "bin": { + "nuxi": "bin/nuxt.mjs", + "nuxt": "bin/nuxt.mjs" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0" + }, + "peerDependencies": { + "@parcel/watcher": "^2.1.0", + "@types/node": "^14.18.0 || >=16.10.0" + }, + "peerDependenciesMeta": { + "@parcel/watcher": { + "optional": true + }, + "@types/node": { + "optional": true + } + } + }, + "node_modules/nuxt-component-meta": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/nuxt-component-meta/-/nuxt-component-meta-0.6.6.tgz", + "integrity": "sha512-Y5/tuZuZOlD4GluAjcTU6JlhtEeg7/92VEfoV814t2uTuZK+b9RokJeGtrMotXuCJ4vuT1Is7M+pkPm+vY/tXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^3.9.1", + "citty": "^0.1.5", + "scule": "^1.1.1", + "typescript": "^5.3.3", + "vue-component-meta": "^1.8.27" + }, + "bin": { + "nuxt-component-meta": "bin/nuxt-component-meta.mjs" + } + }, + "node_modules/nuxt-config-schema": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/nuxt-config-schema/-/nuxt-config-schema-0.4.6.tgz", + "integrity": "sha512-kHLWJFynj5QrxVZ1MjY2xmDaTSN1BCMLGExA+hMMLoCb3wn9TJlDVqnE/nSdUJPMRkNn/NQ5WP9NLA9vlAXRUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^3.4.2", + "defu": "^6.1.2", + "jiti": "^1.18.2", + "pathe": "^1.0.0", + "untyped": "^1.3.2" + } + }, + "node_modules/nuxt-icon": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/nuxt-icon/-/nuxt-icon-0.3.3.tgz", + "integrity": "sha512-KdhJAigBGTP8/YIFZ3orwetk40AgLq6VQ5HRYuDLmv5hiDptor9Ro+WIdZggHw7nciRxZvDdQkEwi9B5G/jrkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@iconify/vue": "^4.1.0", + "@nuxt/kit": "^3.3.1", + "nuxt-config-schema": "^0.4.5" + } + }, + "node_modules/nuxt/node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/nypm": { + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.12.tgz", + "integrity": "sha512-D3pzNDWIvgA+7IORhD/IuWzEk4uXv6GsgOxiid4UU3h9oq5IqV1KtPDi63n4sZJ/xcWlr88c0QM2RgN5VbOhFA==", + "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.2.3", + "execa": "^8.0.1", + "pathe": "^1.1.2", + "pkg-types": "^1.2.0", + "ufo": "^1.5.4" + }, + "bin": { + "nypm": "dist/cli.mjs" + }, + "engines": { + "node": "^14.16.0 || >=16.10.0" + } + }, + "node_modules/nypm/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/nypm/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nypm/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/nypm/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ofetch": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.4.0.tgz", + "integrity": "sha512-MuHgsEhU6zGeX+EMh+8mSMrYTnsqJQQrpM00Q6QHMKNqQ0bKy0B43tk8tL1wg+CnsSTy1kg4Ir2T5Ig6rD+dfQ==", + "license": "MIT", + "dependencies": { + "destr": "^2.0.3", + "node-fetch-native": "^1.6.4", + "ufo": "^1.5.4" + } + }, + "node_modules/ohash": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.4.tgz", + "integrity": "sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==", + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/oniguruma-to-js": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/oniguruma-to-js/-/oniguruma-to-js-0.4.3.tgz", + "integrity": "sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==", + "license": "MIT", + "dependencies": { + "regex": "^4.3.2" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/openapi-typescript": { + "version": "6.7.6", + "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-6.7.6.tgz", + "integrity": "sha512-c/hfooPx+RBIOPM09GSxABOZhYPblDoyaGhqBkD/59vtpN21jEuWKDlM0KYTvqJVlSYjKs0tBcIdeXKChlSPtw==", + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.3", + "fast-glob": "^3.3.2", + "js-yaml": "^4.1.0", + "supports-color": "^9.4.0", + "undici": "^5.28.4", + "yargs-parser": "^21.1.1" + }, + "bin": { + "openapi-typescript": "bin/cli.js" + } + }, + "node_modules/openapi-typescript/node_modules/supports-color": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz", + "integrity": "sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/package-manager-detector": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-0.2.0.tgz", + "integrity": "sha512-E385OSk9qDcXhcM9LNSe4sdhx8a9mAPrZ4sMLW+tmxl5ZuGtPUcdFu+MPP2jbgiWAZ6Pfe5soGFMd+0Db5Vrog==", + "license": "MIT" + }, + "node_modules/paneer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/paneer/-/paneer-0.1.0.tgz", + "integrity": "sha512-SZfJe/y9fbpeXZU+Kf7cSG2G7rnGP50hUYzCvcWyhp7hYzA3YXGthpkGfv6NSt0oo6QbcRyKwycg/6dpG5p8aw==", + "deprecated": "Please migrate to https://github.com/unjs/magicast", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.15", + "@types/estree": "^1.0.0", + "recast": "^0.22.0" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", + "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/parse-git-config": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-3.0.0.tgz", + "integrity": "sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==", + "license": "MIT", + "dependencies": { + "git-config-path": "^2.0.0", + "ini": "^1.3.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/parse-git-config/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/parse-imports": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/parse-imports/-/parse-imports-2.2.1.tgz", + "integrity": "sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ==", + "license": "Apache-2.0 AND MIT", + "dependencies": { + "es-module-lexer": "^1.5.3", + "slashes": "^3.0.12" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-path": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz", + "integrity": "sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==", + "license": "MIT", + "dependencies": { + "protocols": "^2.0.0" + } + }, + "node_modules/parse-url": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz", + "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==", + "license": "MIT", + "dependencies": { + "parse-path": "^7.0.0" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "license": "MIT", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz", + "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "license": "MIT" + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinceau": { + "version": "0.18.9", + "resolved": "https://registry.npmjs.org/pinceau/-/pinceau-0.18.9.tgz", + "integrity": "sha512-GJ+l8a5Y+7PP/diwuajJhd2QONTIFkk2YXjrVTh7QKC3sMQEphpLH6ZJfXSeeSonQ0/BnhrrMi9a5e14mmqXug==", + "dev": true, + "license": "MIT", + "workspaces": [ + "docs", + "playground" + ], + "dependencies": { + "@unocss/reset": "^0.50.3", + "@volar/vue-language-core": "^1.2.0", + "acorn": "^8.8.2", + "chroma-js": "^2.4.2", + "consola": "^3.0.1", + "csstype": "^3.1.1", + "defu": "^6.1.2", + "magic-string": "^0.30.0", + "nanoid": "^4.0.1", + "ohash": "^1.0.0", + "paneer": "^0.1.0", + "pathe": "^1.1.0", + "postcss-custom-properties": "13.1.4", + "postcss-dark-theme-class": "0.7.3", + "postcss-nested": "^6.0.1", + "recast": "^0.22.0", + "scule": "^1.0.0", + "style-dictionary-esm": "^1.3.7", + "unbuild": "^1.1.2", + "unplugin": "^1.1.0" + } + }, + "node_modules/pinceau/node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/pinceau/node_modules/nanoid": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", + "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^14 || ^16 || >=18" + } + }, + "node_modules/pinia": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.2.2.tgz", + "integrity": "sha512-ja2XqFWZC36mupU4z1ZzxeTApV7DOw44cV4dhQ9sGwun+N89v/XP7+j7q6TanS1u1tdbK4r+1BUx7heMaIdagA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.3", + "vue-demi": "^0.14.10" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.3.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-types": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.2.0.tgz", + "integrity": "sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==", + "license": "MIT", + "dependencies": { + "confbox": "^0.1.7", + "mlly": "^1.7.1", + "pathe": "^1.1.2" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.0.2.tgz", + "integrity": "sha512-DT/Wwm6fCKgpYVI7ZEWuPJ4az8hiEHtCUeYjZXqU7Ou4QqYh1Df2yCQ7Ca6N7xqKPFkxN3fhf+u9KSoOCJNAjg==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12 || ^20.9 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.38" + } + }, + "node_modules/postcss-colormin": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.2.tgz", + "integrity": "sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-api": "^3.0.0", + "colord": "^2.9.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-convert-values": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.4.tgz", + "integrity": "sha512-e2LSXPqEHVW6aoGbjV9RsSSNDO3A0rZLCBxN24zvxF25WknMPpX8Dm9UxxThyEbaytzggRuZxaGXqaOhxQ514Q==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-custom-properties": { + "version": "13.1.4", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.1.4.tgz", + "integrity": "sha512-iSAdaZrM3KMec8cOSzeTUNXPYDlhqsMJHpt62yrjwG6nAnMtRHPk5JdMzGosBJtqEahDolvD5LNbcq+EZ78o5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^1.0.0", + "@csstools/css-parser-algorithms": "^2.0.0", + "@csstools/css-tokenizer": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-dark-theme-class": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/postcss-dark-theme-class/-/postcss-dark-theme-class-0.7.3.tgz", + "integrity": "sha512-M9vtfh8ORzQsVdT9BWb+xpEDAzC7nHBn7wVc988/JkEVLPupKcUnV0jw7RZ8sSj0ovpqN1POf6PLdt19JCHfhQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-discard-comments": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.3.tgz", + "integrity": "sha512-q6fjd4WU4afNhWOA2WltHgCbkRhZPgQe7cXF74fuVB/ge4QbM9HEaOIzGSiMvM+g/cOsNAUGdf2JDzqA2F8iLA==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.1.tgz", + "integrity": "sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==", + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-empty": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.0.tgz", + "integrity": "sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==", + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-7.0.0.tgz", + "integrity": "sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==", + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-merge-longhand": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.4.tgz", + "integrity": "sha512-zer1KoZA54Q8RVHKOY5vMke0cCdNxMP3KBfDerjH/BYHh4nCIh+1Yy0t1pAEQF18ac/4z3OFclO+ZVH8azjR4A==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^7.0.4" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-rules": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.4.tgz", + "integrity": "sha512-ZsaamiMVu7uBYsIdGtKJ64PkcQt6Pcpep/uO90EpLS3dxJi6OXamIobTYcImyXGoW0Wpugh7DSD3XzxZS9JCPg==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^5.0.0", + "postcss-selector-parser": "^6.1.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-7.0.0.tgz", + "integrity": "sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-7.0.0.tgz", + "integrity": "sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==", + "license": "MIT", + "dependencies": { + "colord": "^2.9.3", + "cssnano-utils": "^5.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-params": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.2.tgz", + "integrity": "sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "cssnano-utils": "^5.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.0.4.tgz", + "integrity": "sha512-JG55VADcNb4xFCf75hXkzc1rNeURhlo7ugf6JjiiKRfMsKlDzN9CXHZDyiG6x/zGchpjQS+UAgb1d4nqXqOpmA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "postcss-selector-parser": "^6.1.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-7.0.0.tgz", + "integrity": "sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==", + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-7.0.0.tgz", + "integrity": "sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-7.0.0.tgz", + "integrity": "sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-7.0.0.tgz", + "integrity": "sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-string": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-7.0.0.tgz", + "integrity": "sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-7.0.0.tgz", + "integrity": "sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.2.tgz", + "integrity": "sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-url": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-7.0.0.tgz", + "integrity": "sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-7.0.0.tgz", + "integrity": "sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-ordered-values": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-7.0.1.tgz", + "integrity": "sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==", + "license": "MIT", + "dependencies": { + "cssnano-utils": "^5.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.2.tgz", + "integrity": "sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-7.0.0.tgz", + "integrity": "sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.0.1.tgz", + "integrity": "sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^3.3.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >= 18" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.3.tgz", + "integrity": "sha512-J+58u5Ic5T1QjP/LDV9g3Cx4CNOgB5vz+kM6+OxHHhFACdcDeKhBXjQmB7fnIZM12YSTvsL0Opwco83DmacW2g==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/postcss/node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-bytes": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.1.1.tgz", + "integrity": "sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==", + "license": "MIT", + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/protocols": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz", + "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==", + "license": "MIT" + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "license": "MIT" + }, + "node_modules/radix3": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "license": "MIT" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/rc9": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz", + "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==", + "license": "MIT", + "dependencies": { + "defu": "^6.1.4", + "destr": "^2.0.3" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recast": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.22.0.tgz", + "integrity": "sha512-5AAx+mujtXijsEavc5lWXBPQqrM4+Dl5qNH96N2aNeuJFUzpiiToKPsxQD/zAIJHspz7zz0maX0PCtCTFVlixQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "assert": "^2.0.0", + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/recast/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/redis-errors": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", + "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/redis-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", + "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==", + "license": "MIT", + "dependencies": { + "redis-errors": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/refa": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/refa/-/refa-0.12.1.tgz", + "integrity": "sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==", + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.8.0" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/regex": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/regex/-/regex-4.3.3.tgz", + "integrity": "sha512-r/AadFO7owAq1QJVeZ/nq9jNS1vyZt+6t1p/E59B56Rn2GCya+gr1KSyOzNL/er+r+B7phv5jG2xU2Nz1YkmJg==", + "license": "MIT" + }, + "node_modules/regexp-ast-analysis": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regexp-ast-analysis/-/regexp-ast-analysis-0.7.1.tgz", + "integrity": "sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==", + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.8.0", + "refa": "^0.12.1" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/regexp-tree": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", + "license": "MIT", + "bin": { + "regexp-tree": "bin/regexp-tree" + } + }, + "node_modules/regjsparser": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.10.0.tgz", + "integrity": "sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==", + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/rehype-external-links": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz", + "integrity": "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-is-element": "^3.0.0", + "is-absolute-url": "^4.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-slug": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz", + "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "github-slugger": "^2.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-sort-attribute-values": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rehype-sort-attribute-values/-/rehype-sort-attribute-values-5.0.1.tgz", + "integrity": "sha512-lU3ABJO5frbUgV132YS6SL7EISf//irIm9KFMaeu5ixHfgWf6jhe+09Uf/Ef8pOYUJWKOaQJDRJGCXs6cNsdsQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-sort-attributes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rehype-sort-attributes/-/rehype-sort-attributes-5.0.1.tgz", + "integrity": "sha512-Bxo+AKUIELcnnAZwJDt5zUDDRpt4uzhfz9d0PVGhcxYWsbFj5Cv35xuWxu5r1LeYNFNhgGqsr9Q2QiIOM/Qctg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-emoji": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-5.0.1.tgz", + "integrity": "sha512-QCqTSvcZ65Ym+P+VyBKd4JfJfh7icMl7cIOGVmPMzWkDtdD8pQ0nQG7yxGolVIiMzSx90EZ7SwNiVpYpfTxn7w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.4", + "emoticon": "^4.0.1", + "mdast-util-find-and-replace": "^3.0.1", + "node-emoji": "^2.1.3", + "unified": "^11.0.4" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", + "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdc": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/remark-mdc/-/remark-mdc-3.2.1.tgz", + "integrity": "sha512-MLNqQE7ryygOA3TtH4hKmIvmjFAqTMzCs2zrMzXs4MWJXYM2vbtdwR2NfgcN3vxIp5Pllgq3oLGuKgQSs8J19w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.3", + "@types/unist": "^3.0.2", + "flat": "^6.0.1", + "js-yaml": "^4.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.1.0", + "micromark": "^4.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.1.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.1", + "scule": "^1.3.0", + "stringify-entities": "^4.0.3", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.1" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.1.tgz", + "integrity": "sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/rollup": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.5.tgz", + "integrity": "sha512-WoinX7GeQOFMGznEcWA1WrTQCd/tpEbMkc3nuMs9BT0CPjMdSjPMTVClwWd4pgSQwJdP65SK9mTCNvItlr5o7w==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.22.5", + "@rollup/rollup-android-arm64": "4.22.5", + "@rollup/rollup-darwin-arm64": "4.22.5", + "@rollup/rollup-darwin-x64": "4.22.5", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.5", + "@rollup/rollup-linux-arm-musleabihf": "4.22.5", + "@rollup/rollup-linux-arm64-gnu": "4.22.5", + "@rollup/rollup-linux-arm64-musl": "4.22.5", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.5", + "@rollup/rollup-linux-riscv64-gnu": "4.22.5", + "@rollup/rollup-linux-s390x-gnu": "4.22.5", + "@rollup/rollup-linux-x64-gnu": "4.22.5", + "@rollup/rollup-linux-x64-musl": "4.22.5", + "@rollup/rollup-win32-arm64-msvc": "4.22.5", + "@rollup/rollup-win32-ia32-msvc": "4.22.5", + "@rollup/rollup-win32-x64-msvc": "4.22.5", + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-visualizer": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz", + "integrity": "sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==", + "license": "MIT", + "dependencies": { + "open": "^8.4.0", + "picomatch": "^2.3.1", + "source-map": "^0.7.4", + "yargs": "^17.5.1" + }, + "bin": { + "rollup-plugin-visualizer": "dist/bin/cli.js" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "rollup": "2.x || 3.x || 4.x" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/sass-embedded": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.79.4.tgz", + "integrity": "sha512-3AATrtStMgxYjkit02/Ix8vx/P7qderYG6DHjmehfk5jiw53OaWVScmcGJSwp/d77kAkxDQ+Y0r+79VynGmrkw==", + "license": "MIT", + "dependencies": { + "@bufbuild/protobuf": "^2.0.0", + "buffer-builder": "^0.2.0", + "colorjs.io": "^0.5.0", + "immutable": "^4.0.0", + "rxjs": "^7.4.0", + "supports-color": "^8.1.1", + "varint": "^6.0.0" + }, + "bin": { + "sass": "dist/bin/sass.js" + }, + "engines": { + "node": ">=16.0.0" + }, + "optionalDependencies": { + "sass-embedded-android-arm": "1.79.4", + "sass-embedded-android-arm64": "1.79.4", + "sass-embedded-android-ia32": "1.79.4", + "sass-embedded-android-riscv64": "1.79.4", + "sass-embedded-android-x64": "1.79.4", + "sass-embedded-darwin-arm64": "1.79.4", + "sass-embedded-darwin-x64": "1.79.4", + "sass-embedded-linux-arm": "1.79.4", + "sass-embedded-linux-arm64": "1.79.4", + "sass-embedded-linux-ia32": "1.79.4", + "sass-embedded-linux-musl-arm": "1.79.4", + "sass-embedded-linux-musl-arm64": "1.79.4", + "sass-embedded-linux-musl-ia32": "1.79.4", + "sass-embedded-linux-musl-riscv64": "1.79.4", + "sass-embedded-linux-musl-x64": "1.79.4", + "sass-embedded-linux-riscv64": "1.79.4", + "sass-embedded-linux-x64": "1.79.4", + "sass-embedded-win32-arm64": "1.79.4", + "sass-embedded-win32-ia32": "1.79.4", + "sass-embedded-win32-x64": "1.79.4" + } + }, + "node_modules/sass-embedded-android-arm": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.79.4.tgz", + "integrity": "sha512-YOVpDGDcwWUQvktpJhYo4zOkknDpdX6ALpaeHDTX6GBUvnZfx+Widh76v+QFUhiJQ/I/hndXg1jv/PKilOHRrw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-android-arm64": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.79.4.tgz", + "integrity": "sha512-0JAZ8TtXYv9yI3Yasaq03xvo7DLJOmD+Exb30oJKxXcWTAV9TB0ZWKoIRsFxbCyPxyn7ouxkaCEXQtaTRKrmfw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-android-ia32": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.79.4.tgz", + "integrity": "sha512-IjO3RoyvNN84ZyfAR5s/a8TIdNPfClb7CLGrswB3BN/NElYIJUJMVHD6+Y8W9QwBIZ8DrK1IdLFSTV8nn82xMA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-android-riscv64": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.79.4.tgz", + "integrity": "sha512-uOT8nXmKxSwuIdcqvElVWBFcm/+YcIvmwfoKbpuuSOSxUe9eqFzxo+fk7ILhynzf6FBlvRUH5DcjGj+sXtCc3w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-android-x64": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.79.4.tgz", + "integrity": "sha512-W2FQoj3Z2J2DirNs3xSBVvrhMuqLnsqvOPulxOkhL/074+faKOZZnPx2tZ5zsHbY97SonciiU0SV0mm98xI42w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-darwin-arm64": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.79.4.tgz", + "integrity": "sha512-pcYtbN1VUAAcfgyHeX8ySndDWGjIvcq6rldduktPbGGuAlEWFDfnwjTbv0hS945ggdzZ6TFnaFlLEDr0SjKzBA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-darwin-x64": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.79.4.tgz", + "integrity": "sha512-ir8CFTfc4JLx/qCP8LK1/3pWv35nRyAQkUK7lBIKM6hWzztt64gcno9rZIk4SpHr7Z/Bp1IYWWRS4ZT+4HmsbA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-arm": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.79.4.tgz", + "integrity": "sha512-H/XEE3rY7c+tY0qDaELjPjC6VheAhBo1tPJQ6UHoBEf8xrbT/RT3dWiIS8grp9Vk54RCn05BEB/+POaljvvKGA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-arm64": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.79.4.tgz", + "integrity": "sha512-XIVn2mCuA422SR2kmKjF6jhjMs1Vrt1DbZ/ktSp+eR0sU4ugu2htg45GajiUFSKKRj7Sc+cBdThq1zPPsDLf1w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-ia32": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.79.4.tgz", + "integrity": "sha512-3nqZxV4nuUTb1ahLexVl4hsnx1KKwiGdHEf1xHWTZai6fYFMcwyNPrHySCQzFHqb5xiqSpPzzrKjuDhF6+guuQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-arm": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.79.4.tgz", + "integrity": "sha512-HnbU1DEiQdUayioNzxh2WlbTEgQRBPTgIIvof8J63QLmVItUqE7EkWYkSUy4RhO+8NsuN9wzGmGTzFBvTImU7g==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-arm64": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.79.4.tgz", + "integrity": "sha512-C6qX06waPEfDgOHR8jXoYxl0EtIXOyBDyyonrLO3StRjWjGx7XMQj2hA/KXSsV+Hr71fBOsaViosqWXPzTbEiQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-ia32": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.79.4.tgz", + "integrity": "sha512-y5b0fdOPWyhj4c+mc88GvQiC5onRH1V0iNaWNjsiZ+L4hHje6T98nDLrCJn0fz5GQnXjyLCLZduMWbfV0QjHGg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-riscv64": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.79.4.tgz", + "integrity": "sha512-G2M5ADMV9SqnkwpM0S+UzDz7xR2njCOhofku/sDMZABzAjQQWTsAykKoGmzlT98fTw2HbNhb6u74umf2WLhCfw==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-x64": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.79.4.tgz", + "integrity": "sha512-kQm8dCU3DXf7DtUGWYPiPs03KJYKvFeiZJHhSx993DCM8D2b0wCXWky0S0Z46gf1sEur0SN4Lvnt1WczTqxIBw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-riscv64": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.79.4.tgz", + "integrity": "sha512-GaTI/mXYWYSzG5wxtM4H2cozLpATyh+4l+rO9FFKOL8e1sUOLAzTeRdU2nSBYCuRqsxRuTZIwCXhSz9Q3NRuNA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-x64": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.79.4.tgz", + "integrity": "sha512-f9laGkqHgC01h99Qt4LsOV+OLMffjvUcTu14hYWqMS9QVX5a4ihMwpf1NoAtTUytb7cVF3rYY/NVGuXt6G3ppQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-win32-arm64": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.79.4.tgz", + "integrity": "sha512-cidBvtaA2cJ6dNlwQEa8qak+ezypurzKs0h0QAHLH324+j/6Jum7LCnQhZRPYJBFjHl+WYd7KwzPnJ2X5USWnQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-win32-ia32": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.79.4.tgz", + "integrity": "sha512-hexdmNTIZGTKNTzlMcdvEXzYuxOJcY89zqgsf45aQ2YMy4y2M8dTOxRI/Vz7p4iRxVp1Jow6LCtaLHrNI2Ordg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-win32-x64": { + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.79.4.tgz", + "integrity": "sha512-73yrpiWIbti6DkxhWURklkgSLYKfU9itDmvHxB+oYSb4vQveIApqTwSyTOuIUb/6Da/EsgEpdJ4Lbj4sLaMZWA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/sass-embedded/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/scslre": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/scslre/-/scslre-0.3.0.tgz", + "integrity": "sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==", + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.8.0", + "refa": "^0.12.0", + "regexp-ast-analysis": "^0.7.0" + }, + "engines": { + "node": "^14.0.0 || >=16.0.0" + } + }, + "node_modules/scule": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz", + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sentence-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz", + "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-placeholder": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/serve-placeholder/-/serve-placeholder-2.0.2.tgz", + "integrity": "sha512-/TMG8SboeiQbZJWRlfTCqMs2DD3SZgWp0kDQePz9yUuCnDfDh/92gf7/PxGhzXTKBIPASIHxFcZndoNbp6QOLQ==", + "license": "MIT", + "dependencies": { + "defu": "^6.1.4" + } + }, + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shiki": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.22.0.tgz", + "integrity": "sha512-/t5LlhNs+UOKQCYBtl5ZsH/Vclz73GIqT2yQsCBygr8L/ppTdmpL4w3kPLoZJbMKVWtoG77Ue1feOjZfDxvMkw==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "1.22.0", + "@shikijs/engine-javascript": "1.22.0", + "@shikijs/engine-oniguruma": "1.22.0", + "@shikijs/types": "1.22.0", + "@shikijs/vscode-textmate": "^9.3.0", + "@types/hast": "^3.0.4" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/simple-git": { + "version": "3.27.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.27.0.tgz", + "integrity": "sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA==", + "license": "MIT", + "dependencies": { + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.3.5" + }, + "funding": { + "type": "github", + "url": "https://github.com/steveukx/git-js?sponsor=1" + } + }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/skin-tone": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", + "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "license": "MIT", + "dependencies": { + "unicode-emoji-modifier-base": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/slashes": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/slashes/-/slashes-3.0.12.tgz", + "integrity": "sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==", + "license": "ISC" + }, + "node_modules/slugify": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", + "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/smob": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz", + "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==", + "license": "MIT" + }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/socket.io-client": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.0.tgz", + "integrity": "sha512-C0jdhD5yQahMws9alf/yvtsMGTaIDBnZ8Rb5HU56svyq0l5LIrGzIDZZD5pHQlmzxLuU91Gz+VpQMKgCTNYtkw==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.6.1", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-correct/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", + "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", + "license": "CC0-1.0" + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stable-hash": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.4.tgz", + "integrity": "sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==", + "license": "MIT" + }, + "node_modules/standard-as-callback": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", + "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==", + "license": "MIT" + }, + "node_modules/state-local": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/state-local/-/state-local-1.0.7.tgz", + "integrity": "sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==", + "dev": true, + "license": "MIT" + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "license": "MIT" + }, + "node_modules/streamx": { + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.20.1.tgz", + "integrity": "sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA==", + "license": "MIT", + "dependencies": { + "fast-fifo": "^1.3.2", + "queue-tick": "^1.0.1", + "text-decoder": "^1.1.0" + }, + "optionalDependencies": { + "bare-events": "^2.2.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", + "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", + "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", + "license": "MIT" + }, + "node_modules/style-dictionary-esm": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/style-dictionary-esm/-/style-dictionary-esm-1.9.2.tgz", + "integrity": "sha512-MR+ppTqzkJJtXH6UyDJ0h4h4ekBCePA8A8xlYNuL0tLj2K+ngyuxoe0AvCHQ7sJVX8O5WK2z32ANSgIcF4mGxw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "chalk": "^5.3.0", + "change-case": "^4.1.2", + "commander": "^11.1.0", + "consola": "^3.2.3", + "fast-glob": "^3.3.2", + "glob": "^10.3.10", + "jiti": "^1.21.0", + "json5": "^2.2.3", + "jsonc-parser": "^3.2.0", + "lodash.template": "^4.5.0", + "tinycolor2": "^1.6.0" + }, + "bin": { + "style-dictionary": "bin/style-dictionary.js" + } + }, + "node_modules/style-dictionary-esm/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/style-dictionary-esm/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/style-dictionary-esm/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/style-dictionary-esm/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/style-dictionary-esm/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/stylehacks": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.4.tgz", + "integrity": "sha512-i4zfNrGMt9SB4xRK9L83rlsFCgdGANfeDAYacO1pkqcE7cRHPdWHwnKZVz7WY17Veq/FvyYsRAU++Ga+qDFIww==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "postcss-selector-parser": "^6.1.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/superjson": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.1.tgz", + "integrity": "sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==", + "license": "MIT", + "dependencies": { + "copy-anything": "^3.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==" + }, + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/synckit": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz", + "integrity": "sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==", + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/system-architecture": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz", + "integrity": "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==", + "dev": true, + "license": "MIT" + }, + "node_modules/tailwindcss": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz", + "integrity": "sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tailwindcss/node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/terser": { + "version": "5.34.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.34.1.tgz", + "integrity": "sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA==", + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/text-decoder": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.0.tgz", + "integrity": "sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "license": "MIT" + }, + "node_modules/tinycolor2": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.6.tgz", + "integrity": "sha512-NbBoFBpqfcgd1tCiO8Lkfdk+xrA7mlLR9zgvZcZWQQwU63XAfUePyd6wZBaU93Hqw347lHnwFzttAkemHzzz4g==", + "license": "ISC", + "dependencies": { + "fdir": "^6.3.0", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.3.0.tgz", + "integrity": "sha512-QOnuT+BOtivR77wYvCWHfGt9s4Pz1VIMbD463vegT5MLqNXy8rYFT/lPVEqf/bhYeT6qmqrNHhsX+rWwe3rOCQ==", + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tm-themes": { + "version": "1.8.7", + "resolved": "https://registry.npmjs.org/tm-themes/-/tm-themes-1.8.7.tgz", + "integrity": "sha512-JdABosHlB36PMrF+0VySYnNZRwVAmpaN2NhZPCQjCnWYHkq3NLBKYRepY3B6sgOmvnKOhtk1uxRe4Is5bf3cpg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", + "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", + "license": "MIT" + }, + "node_modules/ultrahtml": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.5.3.tgz", + "integrity": "sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==", + "license": "MIT" + }, + "node_modules/unbuild": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/unbuild/-/unbuild-1.2.1.tgz", + "integrity": "sha512-J4efk69Aye43tWcBPCsLK7TIRppGrEN4pAlDzRKo3HSE6MgTSTBxSEuE3ccx7ixc62JvGQ/CoFXYqqF2AHozow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/plugin-alias": "^5.0.0", + "@rollup/plugin-commonjs": "^24.1.0", + "@rollup/plugin-json": "^6.0.0", + "@rollup/plugin-node-resolve": "^15.0.2", + "@rollup/plugin-replace": "^5.0.2", + "@rollup/pluginutils": "^5.0.2", + "chalk": "^5.2.0", + "consola": "^3.0.2", + "defu": "^6.1.2", + "esbuild": "^0.17.16", + "globby": "^13.1.4", + "hookable": "^5.5.3", + "jiti": "^1.18.2", + "magic-string": "^0.30.0", + "mkdist": "^1.2.0", + "mlly": "^1.2.0", + "mri": "^1.2.0", + "pathe": "^1.1.0", + "pkg-types": "^1.0.2", + "pretty-bytes": "^6.1.0", + "rollup": "^3.20.2", + "rollup-plugin-dts": "^5.3.0", + "scule": "^1.0.0", + "typescript": "^5.0.4", + "untyped": "^1.3.2" + }, + "bin": { + "unbuild": "dist/cli.mjs" + } + }, + "node_modules/unbuild/node_modules/@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/@rollup/plugin-commonjs": { + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-24.1.0.tgz", + "integrity": "sha512-eSL45hjhCWI0jCCXcNtLVqM5N1JlBGvlFfY0m6oOYnLCJ6N0qEXoZql4sY2MOUArzhH4SA/qBpTxvvZp2Sc+DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "glob": "^8.0.3", + "is-reference": "1.2.1", + "magic-string": "^0.27.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.68.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/unbuild/node_modules/@rollup/plugin-commonjs/node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/unbuild/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/unbuild/node_modules/esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "node_modules/unbuild/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/unbuild/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unbuild/node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/unbuild/node_modules/rollup": { + "version": "3.29.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", + "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/unbuild/node_modules/rollup-plugin-dts": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-5.3.1.tgz", + "integrity": "sha512-gusMi+Z4gY/JaEQeXnB0RUdU82h1kF0WYzCWgVmV4p3hWXqelaKuCvcJawfeg+EKn2T1Ie+YWF2OiN1/L8bTVg==", + "dev": true, + "license": "LGPL-3.0", + "dependencies": { + "magic-string": "^0.30.2" + }, + "engines": { + "node": ">=v14.21.3" + }, + "funding": { + "url": "https://github.com/sponsors/Swatinem" + }, + "optionalDependencies": { + "@babel/code-frame": "^7.22.5" + }, + "peerDependencies": { + "rollup": "^3.0", + "typescript": "^4.1 || ^5.0" + } + }, + "node_modules/unbuild/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" + }, + "node_modules/unctx": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.3.1.tgz", + "integrity": "sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==", + "license": "MIT", + "dependencies": { + "acorn": "^8.8.2", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.0", + "unplugin": "^1.3.1" + } + }, + "node_modules/unctx/node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/undici": { + "version": "5.28.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", + "license": "MIT", + "dependencies": { + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "license": "MIT" + }, + "node_modules/unenv": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/unenv/-/unenv-1.10.0.tgz", + "integrity": "sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==", + "license": "MIT", + "dependencies": { + "consola": "^3.2.3", + "defu": "^6.1.4", + "mime": "^3.0.0", + "node-fetch-native": "^1.6.4", + "pathe": "^1.1.2" + } + }, + "node_modules/unenv/node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/unhead": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/unhead/-/unhead-1.11.6.tgz", + "integrity": "sha512-TKTQGUzHKF925VZ4KZVbLfKFzTVTEWfPLaXKmkd/ptEY2FHEoJUF7xOpAWc3K7Jzy/ExS66TL7GnLLjtd4sISg==", + "license": "MIT", + "dependencies": { + "@unhead/dom": "1.11.6", + "@unhead/schema": "1.11.6", + "@unhead/shared": "1.11.6", + "hookable": "^5.5.3" + }, + "funding": { + "url": "https://github.com/sponsors/harlan-zw" + } + }, + "node_modules/unicode-emoji-modifier-base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", + "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unimport": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.13.1.tgz", + "integrity": "sha512-nNrVzcs93yrZQOW77qnyOVHtb68LegvhYFwxFMfuuWScmwQmyVCG/NBuN8tYsaGzgQUVYv34E/af+Cc9u4og4A==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.1.2", + "acorn": "^8.12.1", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "fast-glob": "^3.3.2", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.11", + "mlly": "^1.7.1", + "pathe": "^1.1.2", + "pkg-types": "^1.2.0", + "scule": "^1.3.0", + "strip-literal": "^2.1.0", + "unplugin": "^1.14.1" + } + }, + "node_modules/unimport/node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/unist-builder": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-4.0.0.tgz", + "integrity": "sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unplugin": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.14.1.tgz", + "integrity": "sha512-lBlHbfSFPToDYp9pjXlUEFVxYLaue9f9T1HC+4OHlmj+HnMDdz9oZY+erXfoCe/5V/7gKUSY2jpXPb9S7f0f/w==", + "license": "MIT", + "dependencies": { + "acorn": "^8.12.1", + "webpack-virtual-modules": "^0.6.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "webpack-sources": "^3" + }, + "peerDependenciesMeta": { + "webpack-sources": { + "optional": true + } + } + }, + "node_modules/unplugin-vue-router": { + "version": "0.10.8", + "resolved": "https://registry.npmjs.org/unplugin-vue-router/-/unplugin-vue-router-0.10.8.tgz", + "integrity": "sha512-xi+eLweYAqolIoTRSmumbi6Yx0z5M0PLvl+NFNVWHJgmE2ByJG1SZbrn+TqyuDtIyln20KKgq8tqmL7aLoiFjw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.4", + "@rollup/pluginutils": "^5.1.0", + "@vue-macros/common": "^1.12.2", + "ast-walker-scope": "^0.6.2", + "chokidar": "^3.6.0", + "fast-glob": "^3.3.2", + "json5": "^2.2.3", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.11", + "mlly": "^1.7.1", + "pathe": "^1.1.2", + "scule": "^1.3.0", + "unplugin": "^1.12.2", + "yaml": "^2.5.0" + }, + "peerDependencies": { + "vue-router": "^4.4.0" + }, + "peerDependenciesMeta": { + "vue-router": { + "optional": true + } + } + }, + "node_modules/unplugin-vue-router/node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/unstorage": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.12.0.tgz", + "integrity": "sha512-ARZYTXiC+e8z3lRM7/qY9oyaOkaozCeNd2xoz7sYK9fv7OLGhVsf+BZbmASqiK/HTZ7T6eAlnVq9JynZppyk3w==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^3.6.0", + "destr": "^2.0.3", + "h3": "^1.12.0", + "listhen": "^1.7.2", + "lru-cache": "^10.4.3", + "mri": "^1.2.0", + "node-fetch-native": "^1.6.4", + "ofetch": "^1.3.4", + "ufo": "^1.5.4" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.7.0", + "@azure/cosmos": "^4.1.1", + "@azure/data-tables": "^13.2.2", + "@azure/identity": "^4.4.1", + "@azure/keyvault-secrets": "^4.8.0", + "@azure/storage-blob": "^12.24.0", + "@capacitor/preferences": "^6.0.2", + "@netlify/blobs": "^6.5.0 || ^7.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.0", + "@vercel/kv": "^1.0.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.1" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + } + } + }, + "node_modules/unstorage/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/untun": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/untun/-/untun-0.1.3.tgz", + "integrity": "sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==", + "license": "MIT", + "dependencies": { + "citty": "^0.1.5", + "consola": "^3.2.3", + "pathe": "^1.1.1" + }, + "bin": { + "untun": "bin/untun.mjs" + } + }, + "node_modules/untyped": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/untyped/-/untyped-1.5.0.tgz", + "integrity": "sha512-o2Vjmn2dal08BzCcINxSmWuAteReUUiXseii5VRhmxyLF0b21K0iKZQ9fMYK7RWspVkY+0saqaVQNq4roe3Efg==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/standalone": "^7.25.6", + "@babel/types": "^7.25.6", + "defu": "^6.1.4", + "jiti": "^2.0.0", + "mri": "^1.2.0", + "scule": "^1.3.0" + }, + "bin": { + "untyped": "dist/cli.mjs" + } + }, + "node_modules/untyped/node_modules/jiti": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.0.0.tgz", + "integrity": "sha512-CJ7e7Abb779OTRv3lomfp7Mns/Sy1+U4pcAx5VbjxCZD5ZM/VJaXPpPjNKjtSvWQy/H86E49REXR34dl1JEz9w==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/unwasm": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/unwasm/-/unwasm-0.3.9.tgz", + "integrity": "sha512-LDxTx/2DkFURUd+BU1vUsF/moj0JsoTvl+2tcg2AUOiEzVturhGGx17/IMgGvKUYdZwr33EJHtChCJuhu9Ouvg==", + "license": "MIT", + "dependencies": { + "knitwork": "^1.0.0", + "magic-string": "^0.30.8", + "mlly": "^1.6.1", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "unplugin": "^1.10.0" + } + }, + "node_modules/unwasm/node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/upper-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", + "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/upper-case-first": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", + "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/uqr": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/uqr/-/uqr-0.1.2.tgz", + "integrity": "sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==", + "license": "MIT" + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urlpattern-polyfill": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", + "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==", + "license": "MIT" + }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", + "license": "MIT" + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "5.4.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz", + "integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-hot-client": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vite-hot-client/-/vite-hot-client-0.2.3.tgz", + "integrity": "sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0" + } + }, + "node_modules/vite-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", + "integrity": "sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==", + "license": "MIT", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.6", + "pathe": "^1.1.2", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vite-plugin-checker": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/vite-plugin-checker/-/vite-plugin-checker-0.8.0.tgz", + "integrity": "sha512-UA5uzOGm97UvZRTdZHiQVYFnd86AVn8EVaD4L3PoVzxH+IZSfaAw14WGFwX9QS23UW3lV/5bVKZn6l0w+q9P0g==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "ansi-escapes": "^4.3.0", + "chalk": "^4.1.1", + "chokidar": "^3.5.1", + "commander": "^8.0.0", + "fast-glob": "^3.2.7", + "fs-extra": "^11.1.0", + "npm-run-path": "^4.0.1", + "strip-ansi": "^6.0.0", + "tiny-invariant": "^1.1.0", + "vscode-languageclient": "^7.0.0", + "vscode-languageserver": "^7.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-uri": "^3.0.2" + }, + "engines": { + "node": ">=14.16" + }, + "peerDependencies": { + "@biomejs/biome": ">=1.7", + "eslint": ">=7", + "meow": "^9.0.0", + "optionator": "^0.9.1", + "stylelint": ">=13", + "typescript": "*", + "vite": ">=2.0.0", + "vls": "*", + "vti": "*", + "vue-tsc": "~2.1.6" + }, + "peerDependenciesMeta": { + "@biomejs/biome": { + "optional": true + }, + "eslint": { + "optional": true + }, + "meow": { + "optional": true + }, + "optionator": { + "optional": true + }, + "stylelint": { + "optional": true + }, + "typescript": { + "optional": true + }, + "vls": { + "optional": true + }, + "vti": { + "optional": true + }, + "vue-tsc": { + "optional": true + } + } + }, + "node_modules/vite-plugin-checker/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/vite-plugin-checker/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/vite-plugin-checker/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/vite-plugin-checker/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/vite-plugin-checker/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/vite-plugin-checker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/vite-plugin-checker/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/vite-plugin-checker/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/vite-plugin-inspect": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-0.8.7.tgz", + "integrity": "sha512-/XXou3MVc13A5O9/2Nd6xczjrUwt7ZyI9h8pTnUMkr5SshLcb0PJUOVq2V+XVkdeU4njsqAtmK87THZuO2coGA==", + "license": "MIT", + "dependencies": { + "@antfu/utils": "^0.7.10", + "@rollup/pluginutils": "^5.1.0", + "debug": "^4.3.6", + "error-stack-parser-es": "^0.1.5", + "fs-extra": "^11.2.0", + "open": "^10.1.0", + "perfect-debounce": "^1.0.0", + "picocolors": "^1.0.1", + "sirv": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/vite-plugin-inspect/node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vite-plugin-inspect/node_modules/open": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vite-plugin-vue-inspector": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.2.0.tgz", + "integrity": "sha512-wWxyb9XAtaIvV/Lr7cqB1HIzmHZFVUJsTNm3yAxkS87dgh/Ky4qr2wDEWNxF23fdhVa3jQ8MZREpr4XyiuaRqA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.0", + "@babel/plugin-proposal-decorators": "^7.23.0", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.22.15", + "@vue/babel-plugin-jsx": "^1.1.5", + "@vue/compiler-dom": "^3.3.4", + "kolorist": "^1.8.0", + "magic-string": "^0.30.4" + }, + "peerDependencies": { + "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0" + } + }, + "node_modules/vite-plugin-vue-inspector/node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/vscode-jsonrpc": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz", + "integrity": "sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==", + "license": "MIT", + "engines": { + "node": ">=8.0.0 || >=10.0.0" + } + }, + "node_modules/vscode-languageclient": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-7.0.0.tgz", + "integrity": "sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==", + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.4", + "semver": "^7.3.4", + "vscode-languageserver-protocol": "3.16.0" + }, + "engines": { + "vscode": "^1.52.0" + } + }, + "node_modules/vscode-languageclient/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/vscode-languageclient/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/vscode-languageserver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz", + "integrity": "sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==", + "license": "MIT", + "dependencies": { + "vscode-languageserver-protocol": "3.16.0" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz", + "integrity": "sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==", + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "6.0.0", + "vscode-languageserver-types": "3.16.0" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", + "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==", + "license": "MIT" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", + "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==", + "license": "MIT" + }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.10.tgz", + "integrity": "sha512-Vy2kmJwHPlouC/tSnIgXVg03SG+9wSqT1xu1Vehc+ChsXsRd7jLkKgMltVEFOzUdBr3uFwBCG+41LJtfAcBRng==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.10", + "@vue/compiler-sfc": "3.5.10", + "@vue/runtime-dom": "3.5.10", + "@vue/server-renderer": "3.5.10", + "@vue/shared": "3.5.10" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-bundle-renderer": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vue-bundle-renderer/-/vue-bundle-renderer-2.1.1.tgz", + "integrity": "sha512-+qALLI5cQncuetYOXp4yScwYvqh8c6SMXee3B+M7oTZxOgtESP0l4j/fXdEJoZ+EdMxkGWIj+aSEyjXkOdmd7g==", + "license": "MIT", + "dependencies": { + "ufo": "^1.5.4" + } + }, + "node_modules/vue-component-meta": { + "version": "1.8.27", + "resolved": "https://registry.npmjs.org/vue-component-meta/-/vue-component-meta-1.8.27.tgz", + "integrity": "sha512-j3WJsyQHP4TDlvnjHc/eseo0/eVkf0FaCpkqGwez5zD+Tj31onBzWZEXTnWKs8xRj0n3dMNYdy3SpiS6NubSvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "~1.11.1", + "@vue/language-core": "1.8.27", + "path-browserify": "^1.0.1", + "vue-component-type-helpers": "1.8.27" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-component-type-helpers": { + "version": "1.8.27", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-1.8.27.tgz", + "integrity": "sha512-0vOfAtI67UjeO1G6UiX5Kd76CqaQ67wrRZiOe7UAb9Jm6GzlUr/fC7CV90XfwapJRjpCMaZFhv1V0ajWRmE9Dg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-devtools-stub": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/vue-devtools-stub/-/vue-devtools-stub-0.1.0.tgz", + "integrity": "sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==", + "license": "MIT" + }, + "node_modules/vue-eslint-parser": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz", + "integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-router": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.4.5.tgz", + "integrity": "sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-template-compiler": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", + "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/webpack-virtual-modules": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", + "license": "MIT" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlhttprequest-ssl": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.1.tgz", + "integrity": "sha512-ptjR8YSJIXoA3Mbv5po7RtSYHO6mZr8s7i5VGmEk7QY2pQWyT1o0N+W1gKbOyJPUCGXGnuw0wqe8f0L6Y0ny7g==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", + "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zhead": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/zhead/-/zhead-2.2.4.tgz", + "integrity": "sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/harlan-zw" + } + }, + "node_modules/zip-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", + "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.0", + "compress-commons": "^6.0.2", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..e314fbff --- /dev/null +++ b/package.json @@ -0,0 +1,43 @@ +{ + "name": "website-nuxt", + "private": true, + "type": "module", + "scripts": { + "build": "nuxt build", + "dev": "nuxt dev", + "generate": "nuxt generate", + "preview": "nuxt preview", + "postinstall": "nuxt prepare" + }, + "dependencies": { + "@element-plus/nuxt": "^1.0.10", + "@mdi/font": "^7.4.47", + "@nuxt/content": "^2.13.2", + "@nuxt/eslint": "^0.5.7", + "@pinia/nuxt": "^0.5.4", + "axios": "^1.7.7", + "element-plus": "^2.8.4", + "eslint": "^9.12.0", + "eslit": "^6.0.0", + "highlightjs": "^9.16.2", + "nuxt": "^3.13.0", + "pinia": "^2.2.2", + "prettier": "^3.3.3", + "sass-embedded": "^1.79.4", + "tm-themes": "^1.8.7", + "vue": "^3.5.1", + "vue-router": "4" + }, + "devDependencies": { + "@element-plus/icons-svg": "^2.3.1", + "@element-plus/icons-vue": "^2.3.1", + "@guolao/vue-monaco-editor": "^1.5.4", + "@highlightjs/vue-plugin": "^2.1.0", + "@nuxt-themes/docus": "^1.15.0", + "@stylistic/eslint-plugin-js": "^2.9.0", + "autoprefixer": "^10.4.20", + "eslint-config-prettier": "^9.1.0", + "postcss": "^8.4.47", + "tailwindcss": "^3.4.13" + } +} diff --git a/pages/About.vue b/pages/About.vue new file mode 100644 index 00000000..b2e52f47 --- /dev/null +++ b/pages/About.vue @@ -0,0 +1,114 @@ + + + + + +./components/Header.vue diff --git a/pages/about/index.vue b/pages/about/index.vue new file mode 100644 index 00000000..7742c6be --- /dev/null +++ b/pages/about/index.vue @@ -0,0 +1,113 @@ + + + + + +./components/Header.vue diff --git a/pages/afterglow/index.vue b/pages/afterglow/index.vue new file mode 100644 index 00000000..c880334c --- /dev/null +++ b/pages/afterglow/index.vue @@ -0,0 +1,107 @@ + + + + + +./components/Header.vue diff --git a/pages/afterglow/isa.vue b/pages/afterglow/isa.vue new file mode 100644 index 00000000..113bff62 --- /dev/null +++ b/pages/afterglow/isa.vue @@ -0,0 +1,118 @@ + + + + + +./components/Header.vue diff --git a/pages/afterglow/relnote.vue b/pages/afterglow/relnote.vue new file mode 100644 index 00000000..76a5c4e0 --- /dev/null +++ b/pages/afterglow/relnote.vue @@ -0,0 +1,12 @@ + + + + + +./components/Header.vue diff --git a/pages/afterglow/requirements.vue b/pages/afterglow/requirements.vue new file mode 100644 index 00000000..809b6cc8 --- /dev/null +++ b/pages/afterglow/requirements.vue @@ -0,0 +1,95 @@ + + + + + +./components/Header.vue diff --git a/pages/aosc-os/index.vue b/pages/aosc-os/index.vue new file mode 100644 index 00000000..00cd7bc9 --- /dev/null +++ b/pages/aosc-os/index.vue @@ -0,0 +1,131 @@ + + + + + +./components/Header.vue diff --git a/pages/aosc-os/isa.vue b/pages/aosc-os/isa.vue new file mode 100644 index 00000000..e12c1265 --- /dev/null +++ b/pages/aosc-os/isa.vue @@ -0,0 +1,162 @@ + + + + + +./components/Header.vue diff --git a/pages/aosc-os/livekit/relnote.vue b/pages/aosc-os/livekit/relnote.vue new file mode 100644 index 00000000..d99f4005 --- /dev/null +++ b/pages/aosc-os/livekit/relnote.vue @@ -0,0 +1,46 @@ + + + + + +./components/Header.vue diff --git a/pages/aosc-os/livekit/requirements.vue b/pages/aosc-os/livekit/requirements.vue new file mode 100644 index 00000000..cfc5fea2 --- /dev/null +++ b/pages/aosc-os/livekit/requirements.vue @@ -0,0 +1,109 @@ + + + + + +./components/Header.vue diff --git a/pages/aosc-os/relnote.vue b/pages/aosc-os/relnote.vue new file mode 100644 index 00000000..5d69c2dc --- /dev/null +++ b/pages/aosc-os/relnote.vue @@ -0,0 +1,204 @@ +b + + + + + +./components/Header.vue diff --git a/pages/aosc-os/requirements.vue b/pages/aosc-os/requirements.vue new file mode 100644 index 00000000..9300db89 --- /dev/null +++ b/pages/aosc-os/requirements.vue @@ -0,0 +1,110 @@ + + + + + +./components/Header.vue diff --git a/pages/aosc-os/right-for-me/index.vue b/pages/aosc-os/right-for-me/index.vue new file mode 100644 index 00000000..ae0e65e4 --- /dev/null +++ b/pages/aosc-os/right-for-me/index.vue @@ -0,0 +1,96 @@ + + + + + +./components/Header.vue diff --git a/pages/aosc-os/rightForMe.vue b/pages/aosc-os/rightForMe.vue new file mode 100644 index 00000000..7221d4d2 --- /dev/null +++ b/pages/aosc-os/rightForMe.vue @@ -0,0 +1,97 @@ + + + + + +./components/Header.vue diff --git a/pages/aosc-os/wsl/relnote.vue b/pages/aosc-os/wsl/relnote.vue new file mode 100644 index 00000000..9e265afa --- /dev/null +++ b/pages/aosc-os/wsl/relnote.vue @@ -0,0 +1,23 @@ + + + + + +./components/Header.vue diff --git a/pages/aosc-os/wsl/requirements.vue b/pages/aosc-os/wsl/requirements.vue new file mode 100644 index 00000000..88167ff3 --- /dev/null +++ b/pages/aosc-os/wsl/requirements.vue @@ -0,0 +1,169 @@ + + + + + +./components/Header.vue diff --git a/pages/contact/index.vue b/pages/contact/index.vue new file mode 100644 index 00000000..8666fa4a --- /dev/null +++ b/pages/contact/index.vue @@ -0,0 +1,139 @@ + + + + + +./components/Header.vue diff --git a/pages/crowdsourcing/index.vue b/pages/crowdsourcing/index.vue new file mode 100644 index 00000000..bb3d0fee --- /dev/null +++ b/pages/crowdsourcing/index.vue @@ -0,0 +1,49 @@ + +const s=1 + + + diff --git a/pages/download/index.vue b/pages/download/index.vue new file mode 100644 index 00000000..a2212d08 --- /dev/null +++ b/pages/download/index.vue @@ -0,0 +1,668 @@ + + + + + diff --git a/pages/events/index.vue b/pages/events/index.vue new file mode 100644 index 00000000..5797d9cc --- /dev/null +++ b/pages/events/index.vue @@ -0,0 +1,219 @@ + + + + + diff --git a/pages/gallery/index.vue b/pages/gallery/index.vue new file mode 100644 index 00000000..12327e7e --- /dev/null +++ b/pages/gallery/index.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/pages/guidelines/index.vue b/pages/guidelines/index.vue new file mode 100644 index 00000000..3925fbe1 --- /dev/null +++ b/pages/guidelines/index.vue @@ -0,0 +1,289 @@ + + + + + +./components/Header.vue diff --git a/pages/index.vue b/pages/index.vue new file mode 100644 index 00000000..ec19425e --- /dev/null +++ b/pages/index.vue @@ -0,0 +1,114 @@ + + + + + diff --git a/pages/internship/index.vue b/pages/internship/index.vue new file mode 100644 index 00000000..1315d0a7 --- /dev/null +++ b/pages/internship/index.vue @@ -0,0 +1,226 @@ + + + + + diff --git a/pages/l10n/index.vue b/pages/l10n/index.vue new file mode 100644 index 00000000..5081da4c --- /dev/null +++ b/pages/l10n/index.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/pages/liblol/index.vue b/pages/liblol/index.vue new file mode 100644 index 00000000..0b27c141 --- /dev/null +++ b/pages/liblol/index.vue @@ -0,0 +1,81 @@ + + + + + +./components/Header.vue diff --git a/pages/mascot/index.vue b/pages/mascot/index.vue new file mode 100644 index 00000000..2a37ffb8 --- /dev/null +++ b/pages/mascot/index.vue @@ -0,0 +1,153 @@ + + + + + diff --git a/pages/news/components/NewsCategoryList.vue b/pages/news/components/NewsCategoryList.vue new file mode 100644 index 00000000..0a44e681 --- /dev/null +++ b/pages/news/components/NewsCategoryList.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/pages/news/detail/[newsPath].vue b/pages/news/detail/[newsPath].vue new file mode 100644 index 00000000..d4735d5a --- /dev/null +++ b/pages/news/detail/[newsPath].vue @@ -0,0 +1,21 @@ + + + + + diff --git a/pages/news/index.vue b/pages/news/index.vue new file mode 100644 index 00000000..3174d548 --- /dev/null +++ b/pages/news/index.vue @@ -0,0 +1,69 @@ + + + + + +./components/Header.vue diff --git a/pages/news/list/[category]/[categoryTitle].vue b/pages/news/list/[category]/[categoryTitle].vue new file mode 100644 index 00000000..7a0c238a --- /dev/null +++ b/pages/news/list/[category]/[categoryTitle].vue @@ -0,0 +1,31 @@ + + + + + +./components/Header.vue diff --git a/pages/oma/index.vue b/pages/oma/index.vue new file mode 100644 index 00000000..e73ce305 --- /dev/null +++ b/pages/oma/index.vue @@ -0,0 +1,93 @@ + + + + + +./components/Header.vue diff --git a/pages/paste/detail/index.vue b/pages/paste/detail/index.vue new file mode 100644 index 00000000..c957f5ab --- /dev/null +++ b/pages/paste/detail/index.vue @@ -0,0 +1,106 @@ + + + + + diff --git a/pages/paste/index.vue b/pages/paste/index.vue new file mode 100644 index 00000000..66037074 --- /dev/null +++ b/pages/paste/index.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/pages/sponsors/index.vue b/pages/sponsors/index.vue new file mode 100644 index 00000000..989b78fa --- /dev/null +++ b/pages/sponsors/index.vue @@ -0,0 +1,260 @@ + + + + + +./components/Header.vue diff --git a/plugins/highlight.client.ts b/plugins/highlight.client.ts new file mode 100644 index 00000000..74a369ae --- /dev/null +++ b/plugins/highlight.client.ts @@ -0,0 +1,392 @@ +import highlightJS from '@highlightjs/vue-plugin'; +import 'highlight.js/styles/atom-one-dark.css'; +import 'highlight.js/styles/stackoverflow-light.css'; +import hljs from 'highlight.js/lib/core'; + +import abnf from 'highlight.js/lib/languages/abnf'; +import accesslog from 'highlight.js/lib/languages/accesslog'; +import actionscript from 'highlight.js/lib/languages/actionscript'; +import ada from 'highlight.js/lib/languages/ada'; +import angelscript from 'highlight.js/lib/languages/angelscript'; +import apache from 'highlight.js/lib/languages/apache'; +import applescript from 'highlight.js/lib/languages/applescript'; +import arcade from 'highlight.js/lib/languages/arcade'; +import arduino from 'highlight.js/lib/languages/arduino'; +import armasm from 'highlight.js/lib/languages/armasm'; +import xml from 'highlight.js/lib/languages/xml'; +import asciidoc from 'highlight.js/lib/languages/asciidoc'; +import aspectj from 'highlight.js/lib/languages/aspectj'; +import autohotkey from 'highlight.js/lib/languages/autohotkey'; +import autoit from 'highlight.js/lib/languages/autoit'; +import avrasm from 'highlight.js/lib/languages/avrasm'; +import awk from 'highlight.js/lib/languages/awk'; +import axapta from 'highlight.js/lib/languages/axapta'; +import bash from 'highlight.js/lib/languages/bash'; +import basic from 'highlight.js/lib/languages/basic'; +import bnf from 'highlight.js/lib/languages/bnf'; +import brainfuck from 'highlight.js/lib/languages/brainfuck'; +import c from 'highlight.js/lib/languages/c'; +import cal from 'highlight.js/lib/languages/cal'; +import capnproto from 'highlight.js/lib/languages/capnproto'; +import ceylon from 'highlight.js/lib/languages/ceylon'; +import clean from 'highlight.js/lib/languages/clean'; +import clojure from 'highlight.js/lib/languages/clojure'; +import clojure_repl from 'highlight.js/lib/languages/clojure-repl'; +import cmake from 'highlight.js/lib/languages/cmake'; +import coffeescript from 'highlight.js/lib/languages/coffeescript'; +import coq from 'highlight.js/lib/languages/coq'; +import cos from 'highlight.js/lib/languages/cos'; +import cpp from 'highlight.js/lib/languages/cpp'; +import crmsh from 'highlight.js/lib/languages/crmsh'; +import crystal from 'highlight.js/lib/languages/crystal'; +import csharp from 'highlight.js/lib/languages/csharp'; +import csp from 'highlight.js/lib/languages/csp'; +import css from 'highlight.js/lib/languages/css'; +import d from 'highlight.js/lib/languages/d'; +import markdown from 'highlight.js/lib/languages/markdown'; +import dart from 'highlight.js/lib/languages/dart'; +import delphi from 'highlight.js/lib/languages/delphi'; +import diff from 'highlight.js/lib/languages/diff'; +import django from 'highlight.js/lib/languages/django'; +import dns from 'highlight.js/lib/languages/dns'; +import dockerfile from 'highlight.js/lib/languages/dockerfile'; +import dos from 'highlight.js/lib/languages/dos'; +import dsconfig from 'highlight.js/lib/languages/dsconfig'; +import dts from 'highlight.js/lib/languages/dts'; +import dust from 'highlight.js/lib/languages/dust'; +import ebnf from 'highlight.js/lib/languages/ebnf'; +import elixir from 'highlight.js/lib/languages/elixir'; +import elm from 'highlight.js/lib/languages/elm'; +import ruby from 'highlight.js/lib/languages/ruby'; +import erb from 'highlight.js/lib/languages/erb'; +import erlang_repl from 'highlight.js/lib/languages/erlang-repl'; +import erlang from 'highlight.js/lib/languages/erlang'; +import excel from 'highlight.js/lib/languages/excel'; +import fix from 'highlight.js/lib/languages/fix'; +import flix from 'highlight.js/lib/languages/flix'; +import fortran from 'highlight.js/lib/languages/fortran'; +import fsharp from 'highlight.js/lib/languages/fsharp'; +import gams from 'highlight.js/lib/languages/gams'; +import gauss from 'highlight.js/lib/languages/gauss'; +import gcode from 'highlight.js/lib/languages/gcode'; +import gherkin from 'highlight.js/lib/languages/gherkin'; +import glsl from 'highlight.js/lib/languages/glsl'; +import gml from 'highlight.js/lib/languages/gml'; +import go from 'highlight.js/lib/languages/go'; +import golo from 'highlight.js/lib/languages/golo'; +import gradle from 'highlight.js/lib/languages/gradle'; +import graphql from 'highlight.js/lib/languages/graphql'; +import groovy from 'highlight.js/lib/languages/groovy'; +import haml from 'highlight.js/lib/languages/haml'; +import handlebars from 'highlight.js/lib/languages/handlebars'; +import haskell from 'highlight.js/lib/languages/haskell'; +import haxe from 'highlight.js/lib/languages/haxe'; +import hsp from 'highlight.js/lib/languages/hsp'; +import http from 'highlight.js/lib/languages/http'; +import hy from 'highlight.js/lib/languages/hy'; +import inform7 from 'highlight.js/lib/languages/inform7'; +import ini from 'highlight.js/lib/languages/ini'; +import irpf90 from 'highlight.js/lib/languages/irpf90'; +import isbl from 'highlight.js/lib/languages/isbl'; +import java from 'highlight.js/lib/languages/java'; +import javascript from 'highlight.js/lib/languages/javascript'; +import jboss_cli from 'highlight.js/lib/languages/jboss-cli'; +import json from 'highlight.js/lib/languages/json'; +import julia from 'highlight.js/lib/languages/julia'; +import julia_repl from 'highlight.js/lib/languages/julia-repl'; +import kotlin from 'highlight.js/lib/languages/kotlin'; +import lasso from 'highlight.js/lib/languages/lasso'; +import latex from 'highlight.js/lib/languages/latex'; +import ldif from 'highlight.js/lib/languages/ldif'; +import leaf from 'highlight.js/lib/languages/leaf'; +import less from 'highlight.js/lib/languages/less'; +import lisp from 'highlight.js/lib/languages/lisp'; +import livecodeserver from 'highlight.js/lib/languages/livecodeserver'; +import livescript from 'highlight.js/lib/languages/livescript'; +import llvm from 'highlight.js/lib/languages/llvm'; +import lsl from 'highlight.js/lib/languages/lsl'; +import lua from 'highlight.js/lib/languages/lua'; +import makefile from 'highlight.js/lib/languages/makefile'; +import mathematica from 'highlight.js/lib/languages/mathematica'; +import matlab from 'highlight.js/lib/languages/matlab'; +import maxima from 'highlight.js/lib/languages/maxima'; +import mel from 'highlight.js/lib/languages/mel'; +import mercury from 'highlight.js/lib/languages/mercury'; +import mipsasm from 'highlight.js/lib/languages/mipsasm'; +import mizar from 'highlight.js/lib/languages/mizar'; +import perl from 'highlight.js/lib/languages/perl'; +import mojolicious from 'highlight.js/lib/languages/mojolicious'; +import monkey from 'highlight.js/lib/languages/monkey'; +import moonscript from 'highlight.js/lib/languages/moonscript'; +import n1ql from 'highlight.js/lib/languages/n1ql'; +import nestedtext from 'highlight.js/lib/languages/nestedtext'; +import nginx from 'highlight.js/lib/languages/nginx'; +import nim from 'highlight.js/lib/languages/nim'; +import nix from 'highlight.js/lib/languages/nix'; +import node_repl from 'highlight.js/lib/languages/node-repl'; +import nsis from 'highlight.js/lib/languages/nsis'; +import objectivec from 'highlight.js/lib/languages/objectivec'; +import ocaml from 'highlight.js/lib/languages/ocaml'; +import openscad from 'highlight.js/lib/languages/openscad'; +import oxygene from 'highlight.js/lib/languages/oxygene'; +import parser3 from 'highlight.js/lib/languages/parser3'; +import pf from 'highlight.js/lib/languages/pf'; +import pgsql from 'highlight.js/lib/languages/pgsql'; +import php from 'highlight.js/lib/languages/php'; +import php_template from 'highlight.js/lib/languages/php-template'; +import plaintext from 'highlight.js/lib/languages/plaintext'; +import pony from 'highlight.js/lib/languages/pony'; +import powershell from 'highlight.js/lib/languages/powershell'; +import processing from 'highlight.js/lib/languages/processing'; +import profile from 'highlight.js/lib/languages/profile'; +import prolog from 'highlight.js/lib/languages/prolog'; +import properties from 'highlight.js/lib/languages/properties'; +import protobuf from 'highlight.js/lib/languages/protobuf'; +import puppet from 'highlight.js/lib/languages/puppet'; +import purebasic from 'highlight.js/lib/languages/purebasic'; +import python from 'highlight.js/lib/languages/python'; +import python_repl from 'highlight.js/lib/languages/python-repl'; +import q from 'highlight.js/lib/languages/q'; +import qml from 'highlight.js/lib/languages/qml'; +import r from 'highlight.js/lib/languages/r'; +import reasonml from 'highlight.js/lib/languages/reasonml'; +import rib from 'highlight.js/lib/languages/rib'; +import roboconf from 'highlight.js/lib/languages/roboconf'; +import routeros from 'highlight.js/lib/languages/routeros'; +import rsl from 'highlight.js/lib/languages/rsl'; +import ruleslanguage from 'highlight.js/lib/languages/ruleslanguage'; +import rust from 'highlight.js/lib/languages/rust'; +import sas from 'highlight.js/lib/languages/sas'; +import scala from 'highlight.js/lib/languages/scala'; +import scheme from 'highlight.js/lib/languages/scheme'; +import scilab from 'highlight.js/lib/languages/scilab'; +import scss from 'highlight.js/lib/languages/scss'; +import shell from 'highlight.js/lib/languages/shell'; +import smali from 'highlight.js/lib/languages/smali'; +import smalltalk from 'highlight.js/lib/languages/smalltalk'; +import sml from 'highlight.js/lib/languages/sml'; +import sqf from 'highlight.js/lib/languages/sqf'; +import sql from 'highlight.js/lib/languages/sql'; +import stan from 'highlight.js/lib/languages/stan'; +import stata from 'highlight.js/lib/languages/stata'; +import step21 from 'highlight.js/lib/languages/step21'; +import stylus from 'highlight.js/lib/languages/stylus'; +import subunit from 'highlight.js/lib/languages/subunit'; +import swift from 'highlight.js/lib/languages/swift'; +import taggerscript from 'highlight.js/lib/languages/taggerscript'; +import yaml from 'highlight.js/lib/languages/yaml'; +import tap from 'highlight.js/lib/languages/tap'; +import tcl from 'highlight.js/lib/languages/tcl'; +import thrift from 'highlight.js/lib/languages/thrift'; +import tp from 'highlight.js/lib/languages/tp'; +import twig from 'highlight.js/lib/languages/twig'; +import typescript from 'highlight.js/lib/languages/typescript'; +import vala from 'highlight.js/lib/languages/vala'; +import vbnet from 'highlight.js/lib/languages/vbnet'; +import vbscript from 'highlight.js/lib/languages/vbscript'; +import vbscript_html from 'highlight.js/lib/languages/vbscript-html'; +import verilog from 'highlight.js/lib/languages/verilog'; +import vhdl from 'highlight.js/lib/languages/vhdl'; +import vim from 'highlight.js/lib/languages/vim'; +import wasm from 'highlight.js/lib/languages/wasm'; +import wren from 'highlight.js/lib/languages/wren'; +import x86asm from 'highlight.js/lib/languages/x86asm'; +import xl from 'highlight.js/lib/languages/xl'; +import xquery from 'highlight.js/lib/languages/xquery'; +import zephir from 'highlight.js/lib/languages/zephir'; + +export default defineNuxtPlugin((nuxtApp) => { + hljs.registerLanguage('javascript', javascript); + hljs.registerLanguage('abnf', abnf); + hljs.registerLanguage('accesslog', accesslog); + hljs.registerLanguage('actionscript', actionscript); + hljs.registerLanguage('ada', ada); + hljs.registerLanguage('angelscript', angelscript); + hljs.registerLanguage('apache', apache); + hljs.registerLanguage('applescript', applescript); + hljs.registerLanguage('arcade', arcade); + hljs.registerLanguage('arduino', arduino); + hljs.registerLanguage('armasm', armasm); + hljs.registerLanguage('xml', xml); + hljs.registerLanguage('asciidoc', asciidoc); + hljs.registerLanguage('aspectj', aspectj); + hljs.registerLanguage('autohotkey', autohotkey); + hljs.registerLanguage('autoit', autoit); + hljs.registerLanguage('avrasm', avrasm); + hljs.registerLanguage('awk', awk); + hljs.registerLanguage('axapta', axapta); + hljs.registerLanguage('bash', bash); + hljs.registerLanguage('basic', basic); + hljs.registerLanguage('bnf', bnf); + hljs.registerLanguage('brainfuck', brainfuck); + hljs.registerLanguage('c', c); + hljs.registerLanguage('cal', cal); + hljs.registerLanguage('capnproto', capnproto); + hljs.registerLanguage('ceylon', ceylon); + hljs.registerLanguage('clean', clean); + hljs.registerLanguage('clojure', clojure); + hljs.registerLanguage('clojure_repl', clojure_repl); + hljs.registerLanguage('cmake', cmake); + hljs.registerLanguage('coffeescript', coffeescript); + hljs.registerLanguage('coq', coq); + hljs.registerLanguage('cos', cos); + hljs.registerLanguage('cpp', cpp); + hljs.registerLanguage('crmsh', crmsh); + hljs.registerLanguage('crystal', crystal); + hljs.registerLanguage('csharp', csharp); + hljs.registerLanguage('csp', csp); + hljs.registerLanguage('css', css); + hljs.registerLanguage('d', d); + hljs.registerLanguage('markdown', markdown); + hljs.registerLanguage('dart', dart); + hljs.registerLanguage('delphi', delphi); + hljs.registerLanguage('diff', diff); + hljs.registerLanguage('django', django); + hljs.registerLanguage('dns', dns); + hljs.registerLanguage('dockerfile', dockerfile); + hljs.registerLanguage('dos', dos); + hljs.registerLanguage('dsconfig', dsconfig); + hljs.registerLanguage('dts', dts); + hljs.registerLanguage('dust', dust); + hljs.registerLanguage('ebnf', ebnf); + hljs.registerLanguage('elixir', elixir); + hljs.registerLanguage('elm', elm); + hljs.registerLanguage('ruby', ruby); + hljs.registerLanguage('erb', erb); + hljs.registerLanguage('erlang_repl', erlang_repl); + hljs.registerLanguage('erlang', erlang); + hljs.registerLanguage('excel', excel); + hljs.registerLanguage('fix', fix); + hljs.registerLanguage('flix', flix); + hljs.registerLanguage('fortran', fortran); + hljs.registerLanguage('fsharp', fsharp); + hljs.registerLanguage('gams', gams); + hljs.registerLanguage('gauss', gauss); + hljs.registerLanguage('gcode', gcode); + hljs.registerLanguage('gherkin', gherkin); + hljs.registerLanguage('glsl', glsl); + hljs.registerLanguage('gml', gml); + hljs.registerLanguage('go', go); + hljs.registerLanguage('golo', golo); + hljs.registerLanguage('gradle', gradle); + hljs.registerLanguage('graphql', graphql); + hljs.registerLanguage('groovy', groovy); + hljs.registerLanguage('haml', haml); + hljs.registerLanguage('handlebars', handlebars); + hljs.registerLanguage('haskell', haskell); + hljs.registerLanguage('haxe', haxe); + hljs.registerLanguage('hsp', hsp); + hljs.registerLanguage('http', http); + hljs.registerLanguage('hy', hy); + hljs.registerLanguage('inform7', inform7); + hljs.registerLanguage('ini', ini); + hljs.registerLanguage('irpf90', irpf90); + hljs.registerLanguage('isbl', isbl); + hljs.registerLanguage('java', java); + hljs.registerLanguage('javascript', javascript); + hljs.registerLanguage('jboss_cli', jboss_cli); + hljs.registerLanguage('json', json); + hljs.registerLanguage('julia', julia); + hljs.registerLanguage('julia_repl', julia_repl); + hljs.registerLanguage('kotlin', kotlin); + hljs.registerLanguage('lasso', lasso); + hljs.registerLanguage('latex', latex); + hljs.registerLanguage('ldif', ldif); + hljs.registerLanguage('leaf', leaf); + hljs.registerLanguage('less', less); + hljs.registerLanguage('lisp', lisp); + hljs.registerLanguage('livecodeserver', livecodeserver); + hljs.registerLanguage('livescript', livescript); + hljs.registerLanguage('llvm', llvm); + hljs.registerLanguage('lsl', lsl); + hljs.registerLanguage('lua', lua); + hljs.registerLanguage('makefile', makefile); + hljs.registerLanguage('mathematica', mathematica); + hljs.registerLanguage('matlab', matlab); + hljs.registerLanguage('maxima', maxima); + hljs.registerLanguage('mel', mel); + hljs.registerLanguage('mercury', mercury); + hljs.registerLanguage('mipsasm', mipsasm); + hljs.registerLanguage('mizar', mizar); + hljs.registerLanguage('perl', perl); + hljs.registerLanguage('mojolicious', mojolicious); + hljs.registerLanguage('monkey', monkey); + hljs.registerLanguage('moonscript', moonscript); + hljs.registerLanguage('n1ql', n1ql); + hljs.registerLanguage('nestedtext', nestedtext); + hljs.registerLanguage('nginx', nginx); + hljs.registerLanguage('nim', nim); + hljs.registerLanguage('nix', nix); + hljs.registerLanguage('node_repl', node_repl); + hljs.registerLanguage('nsis', nsis); + hljs.registerLanguage('objectivec', objectivec); + hljs.registerLanguage('ocaml', ocaml); + hljs.registerLanguage('openscad', openscad); + hljs.registerLanguage('oxygene', oxygene); + hljs.registerLanguage('parser3', parser3); + hljs.registerLanguage('pf', pf); + hljs.registerLanguage('pgsql', pgsql); + hljs.registerLanguage('php', php); + hljs.registerLanguage('php_template', php_template); + hljs.registerLanguage('plaintext', plaintext); + hljs.registerLanguage('pony', pony); + hljs.registerLanguage('powershell', powershell); + hljs.registerLanguage('processing', processing); + hljs.registerLanguage('profile', profile); + hljs.registerLanguage('prolog', prolog); + hljs.registerLanguage('properties', properties); + hljs.registerLanguage('protobuf', protobuf); + hljs.registerLanguage('puppet', puppet); + hljs.registerLanguage('purebasic', purebasic); + hljs.registerLanguage('python', python); + hljs.registerLanguage('python_repl', python_repl); + hljs.registerLanguage('q', q); + hljs.registerLanguage('qml', qml); + hljs.registerLanguage('r', r); + hljs.registerLanguage('reasonml', reasonml); + hljs.registerLanguage('rib', rib); + hljs.registerLanguage('roboconf', roboconf); + hljs.registerLanguage('routeros', routeros); + hljs.registerLanguage('rsl', rsl); + hljs.registerLanguage('ruleslanguage', ruleslanguage); + hljs.registerLanguage('rust', rust); + hljs.registerLanguage('sas', sas); + hljs.registerLanguage('scala', scala); + hljs.registerLanguage('scheme', scheme); + hljs.registerLanguage('scilab', scilab); + hljs.registerLanguage('scss', scss); + hljs.registerLanguage('shell', shell); + hljs.registerLanguage('smali', smali); + hljs.registerLanguage('smalltalk', smalltalk); + hljs.registerLanguage('sml', sml); + hljs.registerLanguage('sqf', sqf); + hljs.registerLanguage('sql', sql); + hljs.registerLanguage('stan', stan); + hljs.registerLanguage('stata', stata); + hljs.registerLanguage('step21', step21); + hljs.registerLanguage('stylus', stylus); + hljs.registerLanguage('subunit', subunit); + hljs.registerLanguage('swift', swift); + hljs.registerLanguage('taggerscript', taggerscript); + hljs.registerLanguage('yaml', yaml); + hljs.registerLanguage('tap', tap); + hljs.registerLanguage('tcl', tcl); + hljs.registerLanguage('thrift', thrift); + hljs.registerLanguage('tp', tp); + hljs.registerLanguage('twig', twig); + hljs.registerLanguage('typescript', typescript); + hljs.registerLanguage('vala', vala); + hljs.registerLanguage('vbnet', vbnet); + hljs.registerLanguage('vbscript', vbscript); + hljs.registerLanguage('vbscript_html', vbscript_html); + hljs.registerLanguage('verilog', verilog); + hljs.registerLanguage('vhdl', vhdl); + hljs.registerLanguage('vim', vim); + hljs.registerLanguage('wasm', wasm); + hljs.registerLanguage('wren', wren); + hljs.registerLanguage('x86asm', x86asm); + hljs.registerLanguage('xl', xl); + hljs.registerLanguage('xquery', xquery); + hljs.registerLanguage('zephir', zephir); + nuxtApp.vueApp.use(highlightJS); +}); diff --git a/plugins/vue-monaco-editor.ts b/plugins/vue-monaco-editor.ts new file mode 100644 index 00000000..119ef2e1 --- /dev/null +++ b/plugins/vue-monaco-editor.ts @@ -0,0 +1,4 @@ +import { install as VueMonacoEditorPlugin } from '@guolao/vue-monaco-editor' +export default defineNuxtPlugin((nuxtApp) => { + nuxtApp.vueApp.use(VueMonacoEditorPlugin) + }) \ No newline at end of file diff --git a/public/afterglow/afterglow.zh-cn.jpg b/public/afterglow/afterglow.zh-cn.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ddb6a391a733e909a4a210d22d8df7ecead5e057 GIT binary patch literal 189263 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 z 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 Zbp<5{OKX{Q)7AR=iiZr- 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 literal 0 HcmV?d00001 diff --git a/public/aosc-os/aosc-os.zh-cn.jpg b/public/aosc-os/aosc-os.zh-cn.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9086a7fdddc498376683e8b3ea0f999d16a21f19 GIT binary patch literal 425798 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℞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 literal 0 HcmV?d00001 diff --git a/public/aosc.svg b/public/aosc.svg new file mode 100644 index 00000000..221cd9f0 --- /dev/null +++ b/public/aosc.svg @@ -0,0 +1,39 @@ + + + Logo of Anthon Open Source Community + + + + image/svg+xml + + Logo of Anthon Open Source Community + + + Junde Yi + + + + + + Tom Yan, Jeff Bai, Junde Yi + + + + + + + + + + + + + + + + + + + + + diff --git a/public/backgrounds/afterglow.webp b/public/backgrounds/afterglow.webp new file mode 100755 index 0000000000000000000000000000000000000000..1e5edf0df04b0329fda0ae68497466424a8cfeb7 GIT binary patch literal 89164 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%0D!F=>IVFVfDlQhhH9^ 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 literal 0 HcmV?d00001 diff --git a/public/backgrounds/aosc-os-wsl.webp b/public/backgrounds/aosc-os-wsl.webp new file mode 100644 index 0000000000000000000000000000000000000000..407f6bf3466ea777c7b543337c7efc5d9b32bcda GIT binary patch literal 140248 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 BcZ2`{ literal 0 HcmV?d00001 diff --git a/public/backgrounds/aosc-os.webp b/public/backgrounds/aosc-os.webp new file mode 100644 index 0000000000000000000000000000000000000000..fc2fdab7c6af2ed0c23107e1b4a694997d11691d GIT binary patch literal 90274 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

DFSGQ_;sWEF<4ctuHu3@bZMn!j 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

0?{Kb*C3o!Xw4VX<@A9Z%q7`St1YF33 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 dUUCU*axHOkO?3(A`zxj>p)aW;4iWSeamless pattern \ No newline at end of file diff --git a/public/backgrounds/floral.svg b/public/backgrounds/floral.svg new file mode 100644 index 00000000..9215cb1a --- /dev/null +++ b/public/backgrounds/floral.svg @@ -0,0 +1 @@ +Seamless pattern \ No newline at end of file diff --git a/public/backgrounds/livekit.jpg b/public/backgrounds/livekit.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ec076455d01377392cc577045876c2e816e4fac5 GIT binary patch literal 220850 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�FnhBt@xw$+lyPd0sh-7F#7PKKvXTgDd|JH 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%0A&WK4M9=w9Pbyy%MVY5cy@2B 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 literal 0 HcmV?d00001 diff --git a/public/backgrounds/spring.svg b/public/backgrounds/spring.svg new file mode 100644 index 00000000..0858df4e --- /dev/null +++ b/public/backgrounds/spring.svg @@ -0,0 +1 @@ +Seamless pattern \ No newline at end of file diff --git a/public/backgrounds/summer.svg b/public/backgrounds/summer.svg new file mode 100644 index 00000000..1060e9df --- /dev/null +++ b/public/backgrounds/summer.svg @@ -0,0 +1 @@ +Seamless pattern \ No newline at end of file diff --git a/public/backgrounds/winter.svg b/public/backgrounds/winter.svg new file mode 100644 index 00000000..4a77e019 --- /dev/null +++ b/public/backgrounds/winter.svg @@ -0,0 +1 @@ +Seamless pattern \ No newline at end of file diff --git a/public/distros/afterglow.svg b/public/distros/afterglow.svg new file mode 100644 index 00000000..4be3abb8 --- /dev/null +++ b/public/distros/afterglow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/distros/aosc-os.svg b/public/distros/aosc-os.svg new file mode 100644 index 00000000..00e15d1c --- /dev/null +++ b/public/distros/aosc-os.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/download/afterglow-web.svg b/public/download/afterglow-web.svg new file mode 100644 index 00000000..b14cb947 --- /dev/null +++ b/public/download/afterglow-web.svg @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/download/aosc-os-web.svg b/public/download/aosc-os-web.svg new file mode 100644 index 00000000..e06de247 --- /dev/null +++ b/public/download/aosc-os-web.svg @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/download/oma-mascot.svg b/public/download/oma-mascot.svg new file mode 100644 index 00000000..959e869e --- /dev/null +++ b/public/download/oma-mascot.svg @@ -0,0 +1,430 @@ + + + + diff --git a/public/download/oma.svg b/public/download/oma.svg new file mode 100644 index 00000000..03a67d67 --- /dev/null +++ b/public/download/oma.svg @@ -0,0 +1,39 @@ + + + + diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..18993ad91cfd43e03b074dd0b5cc3f37ab38e49c GIT binary patch literal 4286 zcmeHLOKuuL5PjK%MHWVi6lD zOGiREbCw`xmFozJ^aNatJY>w+g ze6a2@u~m#^BZm@8wco9#Crlli0uLb^3E$t2-WIc^#(?t)*@`UpuofJ(Uyh@F>b3Ph z$D^m8Xq~pTkGJ4Q`Q2)te3mgkWYZ^Ijq|hkiP^9`De={bQQ%heZC$QU2UpP(-tbl8 zPWD2abEew;oat@w`uP3J^YpsgT%~jT(Dk%oU}sa$7|n6hBjDj`+I;RX(>)%lm_7N{+B7Mu%H?422lE%MBJH!!YTN2oT7xr>>N-8OF$C&qU^ z>vLsa{$0X%q1fjOe3P1mCv#lN{xQ4_*HCSAZjTb1`}mlc+9rl8$B3OP%VT@mch_~G z7Y+4b{r>9e=M+7vSI;BgB?ryZDY4m>&wcHSn81VH1N~`0gvwH{ z8dv#hG|OK`>1;j7tM#B)Z7zDN?{6=dUal}$e|| \ No newline at end of file diff --git a/public/heading/portal-logo-typed.en.svg b/public/heading/portal-logo-typed.en.svg new file mode 100644 index 00000000..2c6c0f08 --- /dev/null +++ b/public/heading/portal-logo-typed.en.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + AOSC + + + + diff --git a/public/heading/portal-logo-typed.zh-cn.svg b/public/heading/portal-logo-typed.zh-cn.svg new file mode 100644 index 00000000..b8fd2abc --- /dev/null +++ b/public/heading/portal-logo-typed.zh-cn.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + AOSC社区门户 + + diff --git a/public/heading/portal-logo.en.svg b/public/heading/portal-logo.en.svg new file mode 100644 index 00000000..c87d7a40 --- /dev/null +++ b/public/heading/portal-logo.en.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + diff --git a/public/heading/portal-logo.zh-cn.svg b/public/heading/portal-logo.zh-cn.svg new file mode 100644 index 00000000..dc375b55 --- /dev/null +++ b/public/heading/portal-logo.zh-cn.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + diff --git a/public/icons/document-properties.min.svg b/public/icons/document-properties.min.svg new file mode 100644 index 00000000..3eaa09b5 --- /dev/null +++ b/public/icons/document-properties.min.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/key-enter.min.svg b/public/icons/key-enter.min.svg new file mode 100644 index 00000000..acce8849 --- /dev/null +++ b/public/icons/key-enter.min.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/love.min.svg b/public/icons/love.min.svg new file mode 100644 index 00000000..b6d3978e --- /dev/null +++ b/public/icons/love.min.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/tools-wizard.min.svg b/public/icons/tools-wizard.min.svg new file mode 100644 index 00000000..95087c87 --- /dev/null +++ b/public/icons/tools-wizard.min.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/jumbotron/main1.svg b/public/jumbotron/main1.svg new file mode 100644 index 00000000..5bb04e09 --- /dev/null +++ b/public/jumbotron/main1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/jumbotron/minor1.svg b/public/jumbotron/minor1.svg new file mode 100644 index 00000000..1a24db2e --- /dev/null +++ b/public/jumbotron/minor1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/jumbotron/minor2.svg b/public/jumbotron/minor2.svg new file mode 100644 index 00000000..c41c0be3 --- /dev/null +++ b/public/jumbotron/minor2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/liblol/liblol.svg b/public/liblol/liblol.svg new file mode 100644 index 00000000..d29fb566 --- /dev/null +++ b/public/liblol/liblol.svg @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + diff --git a/public/mascot/anan.png b/public/mascot/anan.png new file mode 100644 index 0000000000000000000000000000000000000000..16ce1e8074d3cd16d95033bb7a1e90231c253d03 GIT binary patch literal 601500 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�!T^tJ~Wd zD;%scIpnqxUFW`K?92qz>&f!g{#EYQZdJ&-3m}1sssK0q|ECJ9J%wZfIn@Y%=Z7&T$hAk`{aNZ;+ zk55L)*3>Ub&?(crS+aA-PWy0dxUnAj9|pIiaIM1A1!TcK+a^AfsP(_o2hC3NetC_KSM8lD^u}}%ZuAT~DcJzORK8lce05e}b-b zR+R3w8Qk^9;0^@QlA4G?CgU<1pNt4U#p{0{#qYmxXzf;XXdABC##?AHpv`aRoXwz_ zM!q2tjY!^ggqLy}m?mb~N#}_fK^$TpivL~aWcxxfVjvKEE}W>Y`61TlxFy~Hdi60` z`0R-8Zg}-pzf8ZS5@sSlnaHgi*V<+zVRMnMvX0B%w=)+bKRRBa-kvS-Xk7R>q#(X1 zrWwnDm+skOFH&{+kxT(aA3K}J z2?OBbAmnt)g¨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 z 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 literal 0 HcmV?d00001 diff --git a/public/mascot/qr.png b/public/mascot/qr.png new file mode 100644 index 0000000000000000000000000000000000000000..711dc6e071f29c98d3b2a6e41730cfc171e8beb9 GIT binary patch literal 80187 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 T?5}8GRzce825KcLHevq@l%yUH literal 0 HcmV?d00001 diff --git a/public/newsCategories/advisories.en.json b/public/newsCategories/advisories.en.json new file mode 100644 index 00000000..a40a2aad --- /dev/null +++ b/public/newsCategories/advisories.en.json @@ -0,0 +1 @@ +[{"Path":"2024-09-18-aosc-os-relnote.md","Title":"安同 OS 九月发行更新发布","Date":"2024-09-18","Important":true},{"Path":"2024-09-16-oma-1.10.md","Title":"小熊猫包管理 oma 1.10 版发布","Date":"2024-09-16","Important":true},{"Path":"2024-09-15-oma-1.10-rc1.md","Title":"小熊猫包管理 (oma) v1.10.0-rc1 版测试公告","Date":"2024-09-15","Important":true},{"Path":"2024-09-13-aosc-os-installer-ssh-keys.md","Title":"安同 OS 离线安装盘意外安装预制 SSH 主机密钥","Date":"2024-09-13","Important":true},{"Path":"2024-09-06-oma-1.9.md","Title":"小熊猫包管理 oma 1.9 版发布啦!","Date":"2024-09-06","Important":true},{"Path":"2024-08-28-oma-1.8.md","Title":"小熊猫包管理 oma 1.8 版发布","Date":"2024-08-28","Important":true},{"Path":"2024-08-24-oma-1.7.md","Title":"小熊猫包管理 oma 1.7 版发布","Date":"2024-08-15","Important":true},{"Path":"2024-08-20-gstreamer-break.md","Title":"GStreamer 更新可能无法正常完成","Date":"2024-08-20","Important":true},{"Path":"2024-08-15-oma-1.5.2.md","Title":"小熊猫包管理 (oma) v1.5.2 更新日志","Date":"2024-08-15","Important":true},{"Path":"2024-08-15-aosc-os-for-loongarch-old-world.md","Title":"安同 OS 龙架构“旧世界”设备兼容方案正式发布","Date":"2024-08-15","Important":true},{"Path":"2024-08-12-oma-for-debian-and-ubuntu.md","Title":"小熊猫包管理 (oma) Debian 及 Ubuntu 版安装包发布","Date":"2024-08-12","Important":true},{"Path":"2024-08-12-oma-1.4.3.md","Title":"小熊猫包管理 (oma) v1.4.3 更新日志","Date":"2024-08-12","Important":true},{"Path":"2024-08-12-aosc-os-base-and-essential-package.md","Title":"测试公告:系统套件与关键组件调整","Date":"2024-08-12","Important":true},{"Path":"2024-08-08-oma-1.4.2.md","Title":"小熊猫包管理 (oma) v1.4.2 更新日志","Date":"2024-08-08","Important":true},{"Path":"2024-08-06-oma-1.4.1.md","Title":"小熊猫包管理 (oma) v1.4.1 更新日志","Date":"2024-08-06","Important":true},{"Path":"2024-08-04-offline-installer-release-notes.md","Title":"安同 OS 离线安装盘发布说明","Date":"2024-08-04","Important":false},{"Path":"2024-08-01-oma-update-log.md","Title":"小熊猫包管理 (oma) v1.3.36 更新日志","Date":"2024-08-01","Important":true},{"Path":"2024-07-30-chromium-update-log.md","Title":"安同 OS 测试源现已推送 Chromium 127.0.6533.72","Date":"2024-07-30","Important":true},{"Path":"2024-07-29-postgresql-break.md","Title":"【已解决】PostgreSQL 推送事故说明","Date":"2024-07-29","Important":true},{"Path":"2024-07-29-oma-1.3.34.md","Title":"小熊猫包管理 (oma) v1.3.34 更新日志","Date":"2024-07-29","Important":true},{"Path":"2024-07-29-mips-r6-closing-time.md","Title":"紫华不再:安同 OS MIPS64 Release 6 移植停止维护","Date":"2024-07-29","Important":true},{"Path":"2024-07-29-flac-break.md","Title":"【已解决】FLAC 1.4.3 更新可能导致桌面启动失败","Date":"2024-07-29","Important":true},{"Path":"2024-07-28-oma-1.3.33.md","Title":"小熊猫包管理 (oma) v1.3.33 更新日志","Date":"2024-07-28","Important":true},{"Path":"2024-07-26-oma-1.3.32.md","Title":"小熊猫包管理 (oma) v1.3.32 更新日志","Date":"2024-07-26","Important":true},{"Path":"2024-07-24-oma-1.3.31.md","Title":"小熊猫包管理 (oma) v1.3.31 更新日志","Date":"2024-07-24","Important":true},{"Path":"2024-07-24-deploykit-update-log.md","Title":"安同 OS 图形安装器(Deploykit)更新日志","Date":"2024-07-24","Important":true},{"Path":"2024-07-22-oma-1.3.30.md","Title":"小熊猫包管理 (oma) v1.3.30 更新日志","Date":"2024-07-22","Important":false},{"Path":"2024-07-22-loongarch-oldworld-boot-support.md","Title":"世界线“合龙”:龙架构旧世界固件启动新世界系统已成现实!","Date":"2024-07-22","Important":true},{"Path":"2024-07-21-oma-1.3.29.md","Title":"小熊猫包管理 (oma) v1.3.29 更新日志","Date":"2024-07-21","Important":false},{"Path":"2024-07-21-deploykit-update-log.md","Title":"安同 OS 图形安装器(Deploykit)更新日志","Date":"2024-07-21","Important":false},{"Path":"2024-07-16-mesa-llvmpipe-orcjit-and-risc-v-support-merged.md","Title":"Mesa 上游合并 llvmpipe OrcJIT 及 RISC-V 支持","Date":"2024-07-16","Important":true},{"Path":"2024-06-27-aosc-os-installer-preview.md","Title":"安同 OS 预览版离线安装盘发布!","Date":"2024-06-27","Important":false},{"Path":"2024-06-17-fix-amd-gpu-reset-pre.md","Title":"请您测试:龙架构 AMD 显卡稳定性修复","Date":"2024-06-17","Important":false},{"Path":"2024-06-04-aosc-os-livekit-pre.md","Title":"安同 OS 图形安装程序预览镜像发布","Date":"2024-06-04","Important":false},{"Path":"2024-05-29-oma-upgrade-bug.md","Title":"[已修复] oma 可能接收不到软件包更新","Date":"2024-05-29","Important":false},{"Path":"2024-05-01-liblol-0.1.5.md","Title":"libLoL 0.1.5 发布","Date":"2024-05-01","Important":false},{"Path":"2024-04-26-aosc-os-system-upgrade-error.md","Title":"[已修复] 从较老的系统版本更新时可能遇到错误","Date":"2024-04-26","Important":true},{"Path":"2024-04-05-wps-office-dropped.md","Title":"我社停止维护 WPS Office for Linux 软件包","Date":"2024-04-05","Important":false},{"Path":"2024-04-04-oma-1.3.md","Title":"超级小熊猫力:oma 1.3 开放测试","Date":"2024-04-04","Important":false},{"Path":"2024-04-02-media-writer.md","Title":"AOSC 启动盘制作向导发布","Date":"2024-04-02","Important":false},{"Path":"2024-04-02-aosc-os-system-upgrade-error.md","Title":"[已修复] 近期一轮系统更新可能安装失败","Date":"2024-04-02","Important":true},{"Path":"2024-03-27-spiral.md","Title":"Spiral 更新正式推送:安同 OS 的超级旋风牛力!","Date":"2024-03-27","Important":true},{"Path":"2024-03-20-unwanted-dependencies.md","Title":"[已修复] 近期更新引入了不必要的依赖","Date":"2024-03-20","Important":true},{"Path":"2024-02-27-aosc-os-repo-up.md","Title":"AOSC OS 软件源服务器恢复服务","Date":"2024-02-27","Important":true},{"Path":"2024-02-26-aosc-os-repo-down.md","Title":"[已修复] AOSC OS 软件源服务器故障:文件误删","Date":"2024-02-26","Important":true},{"Path":"2024-02-23-aosc-os-repo-up.md","Title":"AOSC OS 社区源服务器恢复服务","Date":"2024-02-23","Important":true},{"Path":"2024-02-23-aosc-os-repo-down.md","Title":"[已修复] AOSC OS 社区源服务器故障","Date":"2024-02-23","Important":true},{"Path":"2024-02-15-aosc-os-loongarch64-release.md","Title":"2024-02-15: AOSC OS 龙架构版发布!","Date":"2024-02-15","Important":false},{"Path":"2024-02-09-aosc-os-loongarch64-mainlined.md","Title":"AOSC OS 合龙工程圆满收官!","Date":"2024-02-09","Important":false},{"Path":"2024-01-25-font-update-issue.md","Title":"User Interface May Present Display Issues Following Recent Font Updates","Date":"2024-01-25","Important":true},{"Path":"2024-01-24-mips64r6el-demotion.md","Title":"MIPS64 Release 6 Port (mips64r6el) Demoted As Experimental","Date":"2024-01-24","Important":false},{"Path":"2024-01-14-grub-2-12-update-is-ready-for-testing.md","Title":"GRUB 2.12 Now Available for Testing","Date":"2024-01-14","Important":true},{"Path":"2023-12-31-kmod-update-renders-the-system-unbootable.md","Title":"[SOLVED] Recent kmod 31 Update May Prevent System from Booting","Date":"2023-12-31","Important":true},{"Path":"2023-11-20-aosc-os-for-apple-silicon.md","Title":"AOSC OS for Apple Silicon Now Available","Date":"2023-11-20","Important":false},{"Path":"2023-10-17-aosc-os-releases-2023-10.md","Title":"Now Available: New Wave of AOSC OS System Releases","Date":"2023-10-17","Important":true},{"Path":"2023-10-11-curl-8.4.0.md","Title":"curl 8.4.0 Update Now Available to Address a Severe Security Vulnerability","Date":"2023-10-11","Important":true},{"Path":"2023-10-06-openssl-3-update.md","Title":"OpenSSL 3 Update Now Available","Date":"2023-10-06","Important":true},{"Path":"2023-09-20-thunderbird-scaling-issue.md","Title":"[SOLVED] Recent Thunderbird Update May Have Incorrect UI Scaling","Date":"2023-09-21","Important":false},{"Path":"2023-08-28-nit-cips-mirror.md","Title":"NIT-CIPS Now Mirroring Our Community Repository!","Date":"2023-08-28","Important":false},{"Path":"2023-08-27-sjtug-mirror.md","Title":"Shanghai Jiao Tong University's *NIX User Group Now Mirroring Our Community Repository!","Date":"2023-08-27","Important":false},{"Path":"2023-07-06-tmux-behavior-change.md","Title":"Recent tmux Update May Change Its Default Behaviors","Date":"2023-07-06","Important":false},{"Path":"2023-06-23-hook-uname-residual-config.md","Title":"Recent `devel-base` Update May Require Manual Intervention","Date":"2023-06-23","Important":false},{"Path":"2023-04-05-mcfly-residual-config.md","Title":"Residual Configuration After McFly Update May Cause Errors","Date":"2023-04-05","Important":false},{"Path":"2023-04-03-sddm-failed-to-remember-recently-used-session.md","Title":"[SOLVED] SDDM Does Not Remember Recently Used Session","Date":"2023-04-03","Important":true},{"Path":"2023-03-09-mozilla-xdg-desktop-portal.md","Title":"Firefox and Thunderbird Update May Require System Reboot","Date":"2023-03-09","Important":true},{"Path":"2023-02-25-omakase-preview.md","Title":"Experimental AOSC OS Package Manager \"Omakase\" Now Available for Testing","Date":"2023-02-25","Important":false},{"Path":"2023-02-12-package-retirement-20230211.md","Title":"700+ Packages Retired - What You Should Know","Date":"2023-02-11","Important":true},{"Path":"2023-02-10-amdgpu-mesa-llvm15-glitches.md","Title":"[SOLVED] AMD GPUs May Suffer from Display Artifacts After LLVM 15 Update","Date":"2023-02-09","Important":true},{"Path":"2022-10-15-libffi-3.4.2-gnome-breakage.md","Title":"[SOLVED] GNOME May Be Unusable After libffi 3.4.2 Updates","Date":"2022-10-16","Important":true},{"Path":"2022-10-14-reboot-your-system-after-libffi-3.4.2-update.md","Title":"System Reboot May Be Required After libffi 3.4.2 Update to Prevent Stability Issues","Date":"2022-10-14","Important":false},{"Path":"2022-09-03-issues-with-thunderbird-102-2-0.md","Title":"Issues with Thunderbird 102.2.0","Date":"2022-09-02","Important":true},{"Path":"2022-09-01-critical-design-flaw-in-livekit-installer.md","Title":"Critical Design Flaw in LiveKit Installer","Date":"2022-08-31","Important":true},{"Path":"2022-08-26-recent-kernel-update-breaks-kvm.md","Title":"Recent Kernel Update May Break Virtual Machines on Intel 11th Gen (or Newer) Platforms","Date":"2022-08-26","Important":true},{"Path":"2022-07-27-multimc5-migrate-to-polymc.md","Title":"Recent Update Introduces PolyMC as Replacement for MultiMC 5","Date":"2022-07-27","Important":false},{"Path":"2022-07-02-critical-shadow-security-fix.md","Title":"Critical Shadow Security Fix","Date":"2022-07-02","Important":true},{"Path":"2022-06-14-power-port-reboot.md","Title":"AOSC OS POWER (ppc64el) Port Reboot","Date":"2022-06-14","Important":true},{"Path":"2022-05-13-elvish-update.md","Title":"Cautions and Considerations Regarding the Upcoming Elvish 0.18.0 Update","Date":"2022-05-13","Important":true},{"Path":"2022-05-05-mesa-update.md","Title":"Device Support Changes in the Upcoming Mesa 22.0.2 Update","Date":"2022-05-05","Important":true},{"Path":"2022-04-27-nvidia-32.md","Title":"Recent NVIDIA Proprietary Driver Update May Report File Conflict Errors","Date":"2022-04-27","Important":true},{"Path":"2022-01-26-glib-fam-ff-stability.md","Title":"[SOLVED] GLib's FAM Module May Cause Stability Issues in Firefox","Date":"2022-01-26","Important":false},{"Path":"2022-01-16-aosc-os-9.md","Title":"AOSC OS Core 9 is Now Available","Date":"2022-01-16","Important":false},{"Path":"2022-01-13-firefox-http3-issue.md","Title":"HTTP3 Feature in Firefox May Cause Usability Issues","Date":"2022-01-13","Important":true},{"Path":"2021-11-29-python-3-10-update.md","Title":"Python 3.10 Availability and Possible Issues","Date":"2021-11-29","Important":true},{"Path":"2021-11-05-removing-lightcord.md","Title":"Removal of Lightcord from the Community Repository","Date":"2021-11-05","Important":true},{"Path":"2021-10-21-chromium-95-pkg-issue.md","Title":"[SOLVED] Chromium 95.0.4638.54 Fails to Launch","Date":"2021-10-21","Important":false},{"Path":"2021-09-27-lets-encrypt-cert-expire.md","Title":"Usability Notes on Let's Encrypt's Primary Root Certificate Migration","Date":"2021-09-27","Important":true},{"Path":"2021-09-24-remove-brise.md","Title":"Brise Users May Need to Migrate to Schema Packages","Date":"2021-09-24","Important":false},{"Path":"2021-09-04-cutefish-kde-confl.md","Title":"Cutefish Configuration Files May Interfere with KDE User Configurations","Date":"2021-09-04","Important":false},{"Path":"2021-09-02-vscode-update.md","Title":"VSCode 1.59.1 Update May Require Manual Intervention","Date":"2021-09-02","Important":false},{"Path":"2021-08-18-comm-repo-server-maintenance.md","Title":"Community Repository Server Maintenance","Date":"2021-08-18","Important":true},{"Path":"2021-07-21-rpi-kernel-update-policy-changed.md","Title":"Updating Kernel on Raspberry Pi Requires Manual Intervention","Date":"2021-07-21","Important":true},{"Path":"2021-07-03-apt-dracut-trigger-looping.md","Title":"Trigger Looping While Upgrading the System","Date":"2021-07-03","Important":false},{"Path":"2021-06-30-xrdp-emergency-update.md","Title":"[SOLVED] EMERGENCY UPDATE: xrdp Contains Pre-generated Private Keys","Date":"2021-06-30","Important":false},{"Path":"2021-06-30-rnnoise-not-as-advertised.md","Title":"[SOLVED] Incorrect Software Packaged in rnnoise","Date":"2021-06-30","Important":false},{"Path":"2021-06-30-kde-brightness-control-not-functional.md","Title":"[SOLVED] KDE Brightness Control May Not Function Due to D-Bus Permission Issue","Date":"2021-06-30","Important":false},{"Path":"2021-06-11-fwupd-missing-lib.md","Title":"[SOLVED] fwupd May Not Be Able to Update and Install Device Firmwares","Date":"2021-06-11","Important":false},{"Path":"2021-06-11-discover-fails-to-launch.md","Title":"[SOLVED] Discover Fails to Launch Due to Missing Runtime Library","Date":"2021-06-11","Important":false},{"Path":"2021-05-15-plasma-5.12.5-inadequate-handling-of-file-transfer.md","Title":"[SOLVED] Plasma 5.12.5 Update May Fail to Complete Due to Inadequate File Handling","Date":"2021-05-15","Important":false},{"Path":"2021-05-02-samba-4.14.2-dependency-issue.md","Title":"[SOLVED] Samba 4.14.2 Update May Cause Dependency Issue","Date":"2021-05-02","Important":false},{"Path":"2021-04-30-retro-new-systemd-cause-fcitx-and-audio-not-working.md","Title":"Newer systemd Versions in AOSC OS/Retro May Cause Problems with Fcitx Input and Audio Playback","Date":"2021-04-30","Important":false},{"Path":"2021-04-19-samba-4.14.2-topic-file-confl.md","Title":"[SOLVED] Enabling samba-4.14.2 Topic Updates May Result in File Conflicts","Date":"2021-04-19","Important":false},{"Path":"2021-04-19-general-survey-large-mariadb.md","Title":"Unusually Large MariaDB Package in general-survey-20210301","Date":"2021-04-19","Important":false},{"Path":"2021-04-13-rime-base-uninstall-issue.md","Title":"[SOLVED] Uninstalling rime-base May Result in Configuration Errors","Date":"2021-04-13","Important":false},{"Path":"2021-04-10-dracut-trigger-cycle.md","Title":"Dracut Trigger May Fail with Error while Updating System","Date":"2021-04-10","Important":false},{"Path":"2021-04-06-gnome-40-gdm-not-working.md","Title":"[SOLVED] GDM Not Working on GNOME 40","Date":"2021-04-06","Important":false},{"Path":"2021-03-28-switch-to-shadowsocks-rust.md","Title":"Upstream Advises Migration to `shadowsocks-rust`","Date":"2021-03-28","Important":false}] \ No newline at end of file diff --git a/public/newsCategories/advisories.zh-cn.json b/public/newsCategories/advisories.zh-cn.json new file mode 100644 index 00000000..e9917719 --- /dev/null +++ b/public/newsCategories/advisories.zh-cn.json @@ -0,0 +1 @@ +[{"Path":"2024-09-18-aosc-os-relnote.zh-cn.md","Title":"安同 OS 九月发行更新发布","Date":"2024-09-18","Important":true},{"Path":"2024-09-16-oma-1.10.zh-cn.md","Title":"小熊猫包管理 oma 1.10 版发布","Date":"2024-09-16","Important":true},{"Path":"2024-09-15-oma-1.10-rc1.zh-cn.md","Title":"小熊猫包管理 (oma) v1.10.0-rc1 版测试公告","Date":"2024-09-15","Important":true},{"Path":"2024-09-13-aosc-os-installer-ssh-keys.zh-cn.md","Title":"安同 OS 离线安装盘意外安装预制 SSH 主机密钥","Date":"2024-09-13","Important":true},{"Path":"2024-09-06-oma-1.9.zh-cn.md","Title":"小熊猫包管理 oma 1.9 版发布啦!","Date":"2024-09-06","Important":true},{"Path":"2024-08-28-oma-1.8.zh-cn.md","Title":"小熊猫包管理 oma 1.8 版发布","Date":"2024-08-28","Important":true},{"Path":"2024-08-24-oma-1.7.zh-cn.md","Title":"小熊猫包管理 oma 1.7 版发布","Date":"2024-08-15","Important":true},{"Path":"2024-08-20-gstreamer-break.zh-cn.md","Title":"GStreamer 更新可能无法正常完成","Date":"2024-08-20","Important":true},{"Path":"2024-08-15-oma-1.5.2.zh-cn.md","Title":"小熊猫包管理 (oma) v1.5.2 更新日志","Date":"2024-08-15","Important":true},{"Path":"2024-08-15-aosc-os-for-loongarch-old-world.zh-cn.md","Title":"安同 OS 龙架构“旧世界”设备兼容方案正式发布","Date":"2024-08-15","Important":true},{"Path":"2024-08-12-oma-for-debian-and-ubuntu.zh-cn.md","Title":"小熊猫包管理 (oma) Debian 及 Ubuntu 版安装包发布","Date":"2024-08-12","Important":true},{"Path":"2024-08-12-oma-1.4.3.zh-cn.md","Title":"小熊猫包管理 (oma) v1.4.3 更新日志","Date":"2024-08-12","Important":true},{"Path":"2024-08-12-aosc-os-base-and-essential-package.zh-cn.md","Title":"测试公告:系统套件与关键组件调整","Date":"2024-08-12","Important":true},{"Path":"2024-08-08-oma-1.4.2.zh-cn.md","Title":"小熊猫包管理 (oma) v1.4.2 更新日志","Date":"2024-08-08","Important":true},{"Path":"2024-08-06-oma-1.4.1.zh-cn.md","Title":"小熊猫包管理 (oma) v1.4.1 更新日志","Date":"2024-08-06","Important":true},{"Path":"2024-08-04-offline-installer-release-notes.zh-cn.md","Title":"安同 OS 离线安装盘发布说明","Date":"2024-08-04","Important":false},{"Path":"2024-08-01-oma-update-log.zh-cn.md","Title":"小熊猫包管理 (oma) v1.3.36 更新日志","Date":"2024-08-01","Important":true},{"Path":"2024-07-30-chromium-update-log.zh-cn.md","Title":"安同 OS 测试源现已推送 Chromium 127.0.6533.72","Date":"2024-07-30","Important":true},{"Path":"2024-07-29-postgresql-break.zh-cn.md","Title":"【已解决】PostgreSQL 推送事故说明","Date":"2024-07-29","Important":true},{"Path":"2024-07-29-oma-1.3.34.zh-cn.md","Title":"小熊猫包管理 (oma) v1.3.34 更新日志","Date":"2024-07-29","Important":true},{"Path":"2024-07-29-mips-r6-closing-time.zh-cn.md","Title":"紫华不再:安同 OS MIPS64 Release 6 移植停止维护","Date":"2024-07-29","Important":true},{"Path":"2024-07-29-flac-break.zh-cn.md","Title":"【已解决】FLAC 1.4.3 更新可能导致桌面启动失败","Date":"2024-07-29","Important":true},{"Path":"2024-07-28-oma-1.3.33.zh-cn.md","Title":"小熊猫包管理 (oma) v1.3.33 更新日志","Date":"2024-07-28","Important":true},{"Path":"2024-07-26-oma-1.3.32.zh-cn.md","Title":"小熊猫包管理 (oma) v1.3.32 更新日志","Date":"2024-07-26","Important":true},{"Path":"2024-07-24-oma-1.3.31.zh-cn.md","Title":"小熊猫包管理 (oma) v1.3.31 更新日志","Date":"2024-07-24","Important":true},{"Path":"2024-07-24-deploykit-update-log.zh-cn.md","Title":"安同 OS 图形安装器(Deploykit)更新日志","Date":"2024-07-24","Important":true},{"Path":"2024-07-22-oma-1.3.30.zh-cn.md","Title":"小熊猫包管理 (oma) v1.3.30 更新日志","Date":"2024-07-22","Important":false},{"Path":"2024-07-22-loongarch-oldworld-boot-support.zh-cn.md","Title":"世界线“合龙”:龙架构旧世界固件启动新世界系统已成现实!","Date":"2024-07-22","Important":true},{"Path":"2024-07-21-oma-1.3.29.zh-cn.md","Title":"小熊猫包管理 (oma) v1.3.29 更新日志","Date":"2024-07-21","Important":false},{"Path":"2024-07-21-deploykit-update-log.zh-cn.md","Title":"安同 OS 图形安装器(Deploykit)更新日志","Date":"2024-07-21","Important":false},{"Path":"2024-07-16-mesa-llvmpipe-orcjit-and-risc-v-support-merged.zh-cn.md","Title":"Mesa 上游合并 llvmpipe OrcJIT 及 RISC-V 支持","Date":"2024-07-16","Important":true},{"Path":"2024-06-27-aosc-os-installer-preview.zh-cn.md","Title":"安同 OS 预览版离线安装盘发布!","Date":"2024-06-27","Important":false},{"Path":"2024-06-17-fix-amd-gpu-reset-pre.zh-cn.md","Title":"请您测试:龙架构 AMD 显卡稳定性修复","Date":"2024-06-17","Important":false},{"Path":"2024-06-04-aosc-os-livekit-pre.zh-cn.md","Title":"安同 OS 图形安装程序预览镜像发布","Date":"2024-06-04","Important":false},{"Path":"2024-05-29-oma-upgrade-bug.zh-cn.md","Title":"[已修复] oma 可能接收不到软件包更新","Date":"2024-05-29","Important":false},{"Path":"2024-05-01-liblol-0.1.5.zh-cn.md","Title":"libLoL 0.1.5 发布","Date":"2024-05-01","Important":false},{"Path":"2024-04-26-aosc-os-system-upgrade-error.zh-cn.md","Title":"[已修复] 从较老的系统版本更新时可能遇到错误","Date":"2024-04-26","Important":true},{"Path":"2024-04-05-wps-office-dropped.zh-cn.md","Title":"我社停止维护 WPS Office for Linux 软件包","Date":"2024-04-05","Important":false},{"Path":"2024-04-04-oma-1.3.zh-cn.md","Title":"超级小熊猫力:oma 1.3 开放测试","Date":"2024-04-04","Important":false},{"Path":"2024-04-02-media-writer.zh-cn.md","Title":"AOSC 启动盘制作向导发布","Date":"2024-04-02","Important":false},{"Path":"2024-04-02-aosc-os-system-upgrade-error.zh-cn.md","Title":"[已修复] 近期一轮系统更新可能安装失败","Date":"2024-04-02","Important":true},{"Path":"2024-03-27-spiral.zh-cn.md","Title":"Spiral 更新正式推送:安同 OS 的超级旋风牛力!","Date":"2024-03-27","Important":true},{"Path":"2024-03-20-unwanted-dependencies.zh-cn.md","Title":"[已修复] 近期更新引入了不必要的依赖","Date":"2024-03-20","Important":true},{"Path":"2024-02-27-aosc-os-repo-up.zh-cn.md","Title":"AOSC OS 软件源服务器恢复服务","Date":"2024-02-27","Important":true},{"Path":"2024-02-26-aosc-os-repo-down.zh-cn.md","Title":"[已修复] AOSC OS 软件源服务器故障:文件误删","Date":"2024-02-26","Important":true},{"Path":"2024-02-23-aosc-os-repo-up.zh-cn.md","Title":"AOSC OS 社区源服务器恢复服务","Date":"2024-02-23","Important":true},{"Path":"2024-02-23-aosc-os-repo-down.zh-cn.md","Title":"[已修复] AOSC OS 社区源服务器故障","Date":"2024-02-23","Important":true},{"Path":"2024-02-15-aosc-os-loongarch64-release.zh-cn.md","Title":"2024-02-15: AOSC OS 龙架构版发布!","Date":"2024-02-15","Important":false},{"Path":"2024-02-09-aosc-os-loongarch64-mainlined.zh-cn.md","Title":"AOSC OS 合龙工程圆满收官!","Date":"2024-02-09","Important":false},{"Path":"2024-01-25-font-update-issue.zh-cn.md","Title":"字体更新后系统界面可能出现显示问题","Date":"2024-01-25","Important":true},{"Path":"2024-01-24-mips64r6el-demotion.zh-cn.md","Title":"MIPS64 Release 6 版本降级为实验性架构移植","Date":"2024-01-24","Important":false},{"Path":"2024-01-14-grub-2-12-update-is-ready-for-testing.zh-cn.md","Title":"GRUB 2.12 更新可供测试","Date":"2024-01-14","Important":true},{"Path":"2023-12-31-kmod-update-renders-the-system-unbootable.zh-cn.md","Title":"[已解决] 近期 kmod 31 更新可能导致系统无法启动","Date":"2023-12-31","Important":true},{"Path":"2023-11-20-aosc-os-for-apple-silicon.zh-cn.md","Title":"Apple Silicon 版 AOSC OS 系统发布","Date":"2023-11-20","Important":false},{"Path":"2023-10-17-aosc-os-releases-2023-10.zh-cn.md","Title":"AOSC OS 发布新一批系统发行","Date":"2023-10-17","Important":true},{"Path":"2023-10-11-curl-8.4.0.zh-cn.md","Title":"curl 8.4.0 更新推送,修复严重安全漏洞","Date":"2023-10-11","Important":true},{"Path":"2023-10-06-openssl-3-update.zh-cn.md","Title":"OpenSSL 3 更新进入稳定源","Date":"2023-10-06","Important":true},{"Path":"2023-09-20-thunderbird-scaling-issue.zh-cn.md","Title":"[已解决] Thunderbird 115 更新可能存在缩放问题","Date":"2023-09-21","Important":false},{"Path":"2023-08-28-nit-cips-mirror.zh-cn.md","Title":"南阳理工学院 CIPS 新镜像上线!","Date":"2023-08-28","Important":false},{"Path":"2023-08-27-sjtug-mirror.zh-cn.md","Title":"上交大 Linux 用户组新镜像上线!","Date":"2023-08-27","Important":false},{"Path":"2023-07-06-tmux-behavior-change.zh-cn.md","Title":"tmux 更新可能导致默认行为变化","Date":"2023-07-06","Important":false},{"Path":"2023-06-23-hook-uname-residual-config.zh-cn.md","Title":"近期更新 `devel-base` 后可能需要手动干预","Date":"2023-06-23","Important":false},{"Path":"2023-04-05-mcfly-residual-config.zh-cn.md","Title":"McFly 更新后残留的命令行配置文件可能导致报错","Date":"2023-04-05","Important":false},{"Path":"2023-04-03-sddm-failed-to-remember-recently-used-session.zh-cn.md","Title":"[已解决] SDDM 无法记住上次登录使用的会话","Date":"2023-04-03","Important":true},{"Path":"2023-03-09-mozilla-xdg-desktop-portal.zh-cn.md","Title":"Firefox 及 Thunderbird 更新后需要重新启动系统","Date":"2023-03-09","Important":true},{"Path":"2023-02-25-omakase-preview.zh-cn.md","Title":"AOSC OS 实验性软件包管理器 Omakase 可供测试","Date":"2023-02-25","Important":false},{"Path":"2023-02-12-package-retirement-20230211.zh-cn.md","Title":"通知:软件源中移除了超过 700 个软件包","Date":"2023-02-11","Important":true},{"Path":"2023-02-10-amdgpu-mesa-llvm15-glitches.zh-cn.md","Title":"[已解决] 更新至 LLVM 15 后 AMD 显卡可能出现显示错误","Date":"2023-02-10","Important":false},{"Path":"2022-10-15-libffi-3.4.2-gnome-breakage.zh-cn.md","Title":"[已解决] libffi 3.4.2 相关更新可能导致 GNOME 不可用","Date":"2022-10-16","Important":false},{"Path":"2022-10-14-reboot-your-system-after-libffi-3.4.2-update.zh-cn.md","Title":"安装 libffi 3.4.2 更新后若不重启系统可能造成可靠性问题","Date":"2022-10-14","Important":false},{"Path":"2022-09-03-issues-with-thunderbird-102-2-0.zh-cn.md","Title":"Thunderbird 102.2.0 有问题需要关注","Date":"2022-09-02","Important":true},{"Path":"2022-09-01-critical-design-flaw-in-livekit-installer.zh-cn.md","Title":"LiveKit 安装程序存在严重问题","Date":"2022-08-31","Important":true},{"Path":"2022-08-26-recent-kernel-update-breaks-kvm.zh-cn.md","Title":"近期内核更新可能导致虚拟机在 Intel 11 代(或更新)平台上不可用","Date":"2022-08-26","Important":true},{"Path":"2022-07-27-multimc5-migrate-to-polymc.zh-cn.md","Title":"近期更新引入 PolyMC 作为 MultiMC 5 替代","Date":"2022-07-27","Important":false},{"Path":"2022-07-02-critical-shadow-security-fix.zh-cn.md","Title":"紧急安全更新:Shadow","Date":"2022-07-02","Important":true},{"Path":"2022-06-14-power-port-reboot.zh-cn.md","Title":"AOSC OS POWER (ppc64el) 架构移植重启","Date":"2022-06-14","Important":true},{"Path":"2022-05-13-elvish-update.zh-cn.md","Title":"Elvish 0.18.0 更新说明及预警","Date":"2022-05-13","Important":true},{"Path":"2022-05-05-mesa-update.zh-cn.md","Title":"Mesa 22.0.2 设备支持变更预报","Date":"2022-05-05","Important":true},{"Path":"2022-04-27-nvidia-32.zh-cn.md","Title":"NVIDIA 专有驱动更新可能导致文件冲突问题","Date":"2022-04-27","Important":true},{"Path":"2022-01-26-glib-fam-ff-stability.zh-cn.md","Title":"[已解决] GLib 的 FAM 模块可能导致 Firefox 稳定性问题","Date":"2022-01-26","Important":false},{"Path":"2022-01-16-aosc-os-9.zh-cn.md","Title":"AOSC OS Core 9 发布","Date":"2022-01-16","Important":false},{"Path":"2022-01-13-firefox-http3-issue.zh-cn.md","Title":"Firefox 的 HTTP3 特性可能导致可用性问题","Date":"2022-01-13","Important":true},{"Path":"2021-11-29-python-3-10-update.zh-cn.md","Title":"关于 Python 3.10 更新潜在问题的说明","Date":"2021-11-29","Important":true},{"Path":"2021-11-05-removing-lightcord.zh-cn.md","Title":"Lightcord 即将从源中移除","Date":"2021-11-05","Important":true},{"Path":"2021-10-21-chromium-95-pkg-issue.zh-cn.md","Title":"[已解决] Chromium 95.0.4638.54 无法正常启动","Date":"2021-10-21","Important":false},{"Path":"2021-09-27-lets-encrypt-cert-expire.zh-cn.md","Title":"有关 Let's Encrypt 主要根证书迁移的注意事项","Date":"2021-09-27","Important":true},{"Path":"2021-09-24-remove-brise.zh-cn.md","Title":"Brise 用户可能需要手动迁移至分拆后的 Rime 方案包","Date":"2021-09-24","Important":false},{"Path":"2021-09-04-cutefish-kde-confl.zh-cn.md","Title":"Cutefish 配置文件可能影响 KDE 用户配置","Date":"2021-09-04","Important":false},{"Path":"2021-09-02-vscode-update.zh-cn.md","Title":"VSCode 1.59.1 更新或需人为干预","Date":"2021-09-02","Important":false},{"Path":"2021-08-18-comm-repo-server-maintenance.zh-cn.md","Title":"社区源服务器维护","Date":"2021-08-18","Important":true},{"Path":"2021-07-21-rpi-kernel-update-policy-changed.zh-cn.md","Title":"在树莓派上更新内核时需要手动干预","Date":"2021-07-21","Important":true},{"Path":"2021-07-03-apt-dracut-trigger-looping.zh-cn.md","Title":"升级系统时可能遇到触发器循环","Date":"2021-07-03","Important":false},{"Path":"2021-06-30-xrdp-emergency-update.zh-cn.md","Title":"[已解决] 紧急更新:xrdp 包含预生成私钥","Date":"2021-06-30","Important":false},{"Path":"2021-06-30-rnnoise-not-as-advertised.zh-cn.md","Title":"[已解决] rnnoise 包含的软件不正确","Date":"2021-06-30","Important":false},{"Path":"2021-06-30-kde-brightness-control-not-functional.zh-cn.md","Title":"[已解决] D-Bus 权限问题可能导致 KDE 屏幕亮度控制故障","Date":"2021-06-30","Important":false},{"Path":"2021-06-11-fwupd-missing-lib.zh-cn.md","Title":"[已解决] fwupd 可能无法更新及安装设备固件","Date":"2021-06-11","Important":false},{"Path":"2021-06-11-discover-fails-to-launch.zh-cn.md","Title":"[已解决] Discover 因运行时库缺失无法启动","Date":"2021-06-11","Important":false},{"Path":"2021-05-15-plasma-5.12.5-inadequate-handling-of-file-transfer.zh-cn.md","Title":"[已解决] Plasma 5.12.5 更新可能由于文件转移处理问题无法安装","Date":"2021-05-15","Important":false},{"Path":"2021-05-02-samba-4.14.2-dependency-issue.zh-cn.md","Title":"[已解决] Samba 4.14.2 更新可能导致依赖问题","Date":"2021-05-02","Important":false},{"Path":"2021-04-30-retro-new-systemd-cause-fcitx-and-audio-not-working.zh-cn.md","Title":"AOSC OS/Retro 上的新版 systemd 可能导致 Fcitx 及音频无法使用","Date":"2021-04-30","Important":false},{"Path":"2021-04-19-samba-4.14.2-topic-file-confl.zh-cn.md","Title":"[已解决] samba-4.14.2 更新可能导致文件冲突","Date":"2021-04-19","Important":false},{"Path":"2021-04-19-general-survey-large-mariadb.zh-cn.md","Title":"general-survey-20210301 更新中 MariaDB 包大小异常","Date":"2021-04-19","Important":false},{"Path":"2021-04-13-rime-base-uninstall-issue.zh-cn.md","Title":"[已解决] 卸载 rime-base 可能会导致配置错误","Date":"2021-04-13","Important":false},{"Path":"2021-04-10-dracut-trigger-cycle.zh-cn.md","Title":"Dracut 触发器在更新系统时可能会失效","Date":"2021-04-10","Important":false},{"Path":"2021-04-06-gnome-40-gdm-not-working.zh-cn.md","Title":"[已解决] GNOME 40 上 GDM 不工作","Date":"2021-04-06","Important":false},{"Path":"2021-03-28-switch-to-shadowsocks-rust.zh-cn.md","Title":"上游建议迁移至 `shadowsocks-rust`","Date":"2021-03-28","Important":false}] \ No newline at end of file diff --git a/public/newsCategories/en.json b/public/newsCategories/en.json new file mode 100644 index 00000000..f1e10e5e --- /dev/null +++ b/public/newsCategories/en.json @@ -0,0 +1 @@ +{"advisories":[{"Path":"2024-09-18-aosc-os-relnote.md","Title":"安同 OS 九月发行更新发布","Date":"2024-09-18","Important":true},{"Path":"2024-09-16-oma-1.10.md","Title":"小熊猫包管理 oma 1.10 版发布","Date":"2024-09-16","Important":true},{"Path":"2024-09-15-oma-1.10-rc1.md","Title":"小熊猫包管理 (oma) v1.10.0-rc1 版测试公告","Date":"2024-09-15","Important":true},{"Path":"2024-09-13-aosc-os-installer-ssh-keys.md","Title":"安同 OS 离线安装盘意外安装预制 SSH 主机密钥","Date":"2024-09-13","Important":true},{"Path":"2024-09-06-oma-1.9.md","Title":"小熊猫包管理 oma 1.9 版发布啦!","Date":"2024-09-06","Important":true},{"Path":"2024-08-28-oma-1.8.md","Title":"小熊猫包管理 oma 1.8 版发布","Date":"2024-08-28","Important":true},{"Path":"2024-08-24-oma-1.7.md","Title":"小熊猫包管理 oma 1.7 版发布","Date":"2024-08-15","Important":true},{"Path":"2024-08-20-gstreamer-break.md","Title":"GStreamer 更新可能无法正常完成","Date":"2024-08-20","Important":true},{"Path":"2024-08-15-oma-1.5.2.md","Title":"小熊猫包管理 (oma) v1.5.2 更新日志","Date":"2024-08-15","Important":true},{"Path":"2024-08-15-aosc-os-for-loongarch-old-world.md","Title":"安同 OS 龙架构“旧世界”设备兼容方案正式发布","Date":"2024-08-15","Important":true}],"home":[{"Path":"2024-09-19-coffee-break.md","Title":"安记冰室・九月上","Date":"2024-09-19","Important":false},{"Path":"2024-09-18-aosc-os-relnote.md","Title":"安同 OS 九月发行更新发布","Date":"2024-09-18","Important":true},{"Path":"2024-09-16-oma-1.10.md","Title":"小熊猫包管理 oma 1.10 版发布","Date":"2024-09-16","Important":true},{"Path":"2024-09-13-aosc-os-installer-ssh-keys.md","Title":"安同 OS 离线安装盘意外安装预制 SSH 主机密钥","Date":"2024-09-13","Important":true},{"Path":"2024-08-15-back-to-repology.md","Title":"安同 OS 重返系统软件包版本监测网站 Repology","Date":"2024-08-15","Important":true},{"Path":"2024-08-15-aosc-os-for-loongarch-old-world.md","Title":"安同 OS 龙架构“旧世界”设备兼容方案正式发布","Date":"2024-08-15","Important":true},{"Path":"2024-08-12-aosc-os-abbs-100000-commits.md","Title":"安同 OS 软件包树 (aosc-os-abbs) 喜迎第十万个提交!","Date":"2024-08-12","Important":true},{"Path":"2024-07-29-mips-r6-closing-time.md","Title":"紫华不再:安同 OS MIPS64 Release 6 移植停止维护","Date":"2024-07-29","Important":true},{"Path":"2024-06-28-ospp-2024-work-start.md","Title":"社区“开源之夏”项目正式启航","Date":"2024-06-28","Important":true}],"journals":[{"Path":"2024-09-19-coffee-break.md","Title":"安记冰室・九月上","Date":"2024-09-19","Important":false},{"Path":"2024-08-28-coffee-break-schedule.md","Title":"《安记冰室》八月下号休刊公告","Date":"2024-08-28","Important":false},{"Path":"2024-08-20-coffee-break.md","Title":"安记冰室・八月上 | 一周年特辑","Date":"2024-08-20","Important":false},{"Path":"2024-08-04-coffee-break.md","Title":"安记冰室・七月下","Date":"2024-08-04","Important":false},{"Path":"2024-07-18-coffee-break-schedule.md","Title":"《安记冰室》七月发刊计划","Date":"2024-07-18","Important":false},{"Path":"2024-06-24-coffee-break.md","Title":"安记冰室・六月下","Date":"2024-06-24","Important":false},{"Path":"2024-06-09-coffee-break.md","Title":"安记冰室・六月上","Date":"2024-06-09","Important":false},{"Path":"2024-05-26-coffee-break.md","Title":"安记冰室・五月下","Date":"2024-05-26","Important":false},{"Path":"2024-05-12-coffee-break.md","Title":"安记冰室・五月上","Date":"2024-05-12","Important":false},{"Path":"2024-04-27-coffee-break.md","Title":"安记冰室・四月下","Date":"2024-04-27","Important":false}],"minutes":[{"Path":"2024-08-28-aoscc-2024-survey.md","Title":"AOSCC 2024 会务满意度调查","Date":"2024-08-28","Important":true},{"Path":"2024-06-10-ospp-2024-exam-meeting.md","Title":"例会:开源之夏(OSPP) 2024 社区实习项目考核结果讨论","Date":"2024-05-27","Important":false},{"Path":"2024-06-02-packages-site-meeting-minutes.md","Title":"会议纪要:软件包信息站与 p-vector-rs 更改审阅","Date":"2024-06-01","Important":false},{"Path":"2024-06-02-aoscc-2024-working-group-meeting-minutes.md","Title":"会议纪要:AOSCC 2024 工作组例会","Date":"2024-06-02","Important":false},{"Path":"2024-06-01-packages-site-meeting-notice.md","Title":"例会预告:软件包信息站与 p-vector-rs 更改审阅","Date":"2024-06-01","Important":false},{"Path":"2024-06-01-aoscc-2024-working-group-meeting.md","Title":"预告:AOSCC 2024 工作组例会","Date":"2024-06-01","Important":false},{"Path":"2024-05-27-ospp-2024-planning-meeting.md","Title":"例会预告:OSPP 2024 审核筹备","Date":"2024-05-27","Important":false},{"Path":"2024-05-04-aoscc-2024-working-group-minutes.md","Title":"纪要:AOSCC 2024 工作组例会(5 月 4 日)","Date":"2024-05-04","Important":false},{"Path":"2024-05-03-aoscc-2024-working-group-meeting.md","Title":"预告:AOSCC 2024 工作组例会","Date":"2024-05-03","Important":false},{"Path":"2024-05-01-aoscc-2024-poll-review.md","Title":"紧张刺激:AOSCC 2024 投票结果","Date":"2024-05-01","Important":false}],"news":[{"Path":"2024-08-15-back-to-repology.md","Title":"安同 OS 重返系统软件包版本监测网站 Repology","Date":"2024-08-15","Important":true},{"Path":"2024-08-15-aosc-os-for-loongarch-old-world.md","Title":"安同 OS 龙架构“旧世界”设备兼容方案正式发布","Date":"2024-08-15","Important":true},{"Path":"2024-08-12-aosc-os-abbs-100000-commits.md","Title":"安同 OS 软件包树 (aosc-os-abbs) 喜迎第十万个提交!","Date":"2024-08-12","Important":true},{"Path":"2024-07-29-mips-r6-closing-time.md","Title":"紫华不再:安同 OS MIPS64 Release 6 移植停止维护","Date":"2024-07-29","Important":true},{"Path":"2024-07-22-loongarch-oldworld-boot-support.md","Title":"世界线“合龙”:龙架构旧世界固件启动新世界系统已成现实!","Date":"2024-07-22","Important":true},{"Path":"2024-07-21-new-loongson-mips-build-server.md","Title":"MIPS 龙芯新构建服务器上线!","Date":"2024-07-21","Important":false},{"Path":"2024-07-18-aoscc-2024-call-for-photos.md","Title":"AOSCC 2024 会场照片征集","Date":"2024-07-18","Important":false},{"Path":"2024-07-16-mesa-llvmpipe-orcjit-and-risc-v-support-merged.md","Title":"Mesa 上游合并 llvmpipe OrcJIT 及 RISC-V 支持","Date":"2024-07-16","Important":true},{"Path":"2024-07-12-aoscc-2024-arrival-tips.md","Title":"AOSCC 到达和签到小贴士","Date":"2024-07-12","Important":false},{"Path":"2024-07-11-aoscc-2024-power-failure.md","Title":"AOSCC 临时日程调整","Date":"2024-07-11","Important":false}]} \ No newline at end of file diff --git a/public/newsCategories/home.en.json b/public/newsCategories/home.en.json new file mode 100644 index 00000000..d2fe78a3 --- /dev/null +++ b/public/newsCategories/home.en.json @@ -0,0 +1 @@ +[{"Path":"2024-09-19-coffee-break.md","Title":"安记冰室・九月上","Date":"2024-09-19","Important":false},{"Path":"2024-09-18-aosc-os-relnote.md","Title":"安同 OS 九月发行更新发布","Date":"2024-09-18","Important":true},{"Path":"2024-09-16-oma-1.10.md","Title":"小熊猫包管理 oma 1.10 版发布","Date":"2024-09-16","Important":true},{"Path":"2024-09-13-aosc-os-installer-ssh-keys.md","Title":"安同 OS 离线安装盘意外安装预制 SSH 主机密钥","Date":"2024-09-13","Important":true},{"Path":"2024-08-15-back-to-repology.md","Title":"安同 OS 重返系统软件包版本监测网站 Repology","Date":"2024-08-15","Important":true},{"Path":"2024-08-15-aosc-os-for-loongarch-old-world.md","Title":"安同 OS 龙架构“旧世界”设备兼容方案正式发布","Date":"2024-08-15","Important":true},{"Path":"2024-08-12-aosc-os-abbs-100000-commits.md","Title":"安同 OS 软件包树 (aosc-os-abbs) 喜迎第十万个提交!","Date":"2024-08-12","Important":true},{"Path":"2024-07-29-mips-r6-closing-time.md","Title":"紫华不再:安同 OS MIPS64 Release 6 移植停止维护","Date":"2024-07-29","Important":true},{"Path":"2024-06-28-ospp-2024-work-start.md","Title":"社区“开源之夏”项目正式启航","Date":"2024-06-28","Important":true}] \ No newline at end of file diff --git a/public/newsCategories/home.zh-cn.json b/public/newsCategories/home.zh-cn.json new file mode 100644 index 00000000..759ad140 --- /dev/null +++ b/public/newsCategories/home.zh-cn.json @@ -0,0 +1 @@ +[{"Path":"2024-09-19-coffee-break.zh-cn.md","Title":"安记冰室・九月上","Date":"2024-09-19","Important":false},{"Path":"2024-09-18-aosc-os-relnote.zh-cn.md","Title":"安同 OS 九月发行更新发布","Date":"2024-09-18","Important":true},{"Path":"2024-09-16-oma-1.10.zh-cn.md","Title":"小熊猫包管理 oma 1.10 版发布","Date":"2024-09-16","Important":true},{"Path":"2024-09-13-aosc-os-installer-ssh-keys.zh-cn.md","Title":"安同 OS 离线安装盘意外安装预制 SSH 主机密钥","Date":"2024-09-13","Important":true},{"Path":"2024-08-15-back-to-repology.zh-cn.md","Title":"安同 OS 重返系统软件包版本监测网站 Repology","Date":"2024-08-15","Important":true},{"Path":"2024-08-15-aosc-os-for-loongarch-old-world.zh-cn.md","Title":"安同 OS 龙架构“旧世界”设备兼容方案正式发布","Date":"2024-08-15","Important":true},{"Path":"2024-08-12-aosc-os-abbs-100000-commits.zh-cn.md","Title":"安同 OS 软件包树 (aosc-os-abbs) 喜迎第十万个提交!","Date":"2024-08-12","Important":true},{"Path":"2024-07-29-mips-r6-closing-time.zh-cn.md","Title":"紫华不再:安同 OS MIPS64 Release 6 移植停止维护","Date":"2024-07-29","Important":true},{"Path":"2024-06-28-ospp-2024-work-start.zh-cn.md","Title":"社区“开源之夏”项目正式启航","Date":"2024-06-28","Important":true}] \ No newline at end of file diff --git a/public/newsCategories/journals.en.json b/public/newsCategories/journals.en.json new file mode 100644 index 00000000..7883ce8a --- /dev/null +++ b/public/newsCategories/journals.en.json @@ -0,0 +1 @@ +[{"Path":"2024-09-19-coffee-break.md","Title":"安记冰室・九月上","Date":"2024-09-19","Important":false},{"Path":"2024-08-28-coffee-break-schedule.md","Title":"《安记冰室》八月下号休刊公告","Date":"2024-08-28","Important":false},{"Path":"2024-08-20-coffee-break.md","Title":"安记冰室・八月上 | 一周年特辑","Date":"2024-08-20","Important":false},{"Path":"2024-08-04-coffee-break.md","Title":"安记冰室・七月下","Date":"2024-08-04","Important":false},{"Path":"2024-07-18-coffee-break-schedule.md","Title":"《安记冰室》七月发刊计划","Date":"2024-07-18","Important":false},{"Path":"2024-06-24-coffee-break.md","Title":"安记冰室・六月下","Date":"2024-06-24","Important":false},{"Path":"2024-06-09-coffee-break.md","Title":"安记冰室・六月上","Date":"2024-06-09","Important":false},{"Path":"2024-05-26-coffee-break.md","Title":"安记冰室・五月下","Date":"2024-05-26","Important":false},{"Path":"2024-05-12-coffee-break.md","Title":"安记冰室・五月上","Date":"2024-05-12","Important":false},{"Path":"2024-04-27-coffee-break.md","Title":"安记冰室・四月下","Date":"2024-04-27","Important":false},{"Path":"2024-04-13-coffee-break.md","Title":"安记冰室・四月上","Date":"2024-04-13","Important":false},{"Path":"2024-03-23-coffee-break.md","Title":"安记冰室・三月下","Date":"2024-03-23","Important":false},{"Path":"2024-03-09-coffee-break.md","Title":"安记冰室・三月上","Date":"2024-03-09","Important":false},{"Path":"2024-02-26-coffee-break.md","Title":"安记冰室・二月下","Date":"2024-02-26","Important":false},{"Path":"2024-02-10-coffee-break.md","Title":"安记冰室・二月上","Date":"2024-02-10","Important":false},{"Path":"2024-01-27-coffee-break.md","Title":"安记冰室・一月下","Date":"2024-01-27","Important":false},{"Path":"2023-12-23-coffee-break.md","Title":"Coffee Break: December Issue 2/2","Date":"2023-12-23","Important":false},{"Path":"2023-12-09-coffee-break.md","Title":"Coffee Break: December Issue 1/2","Date":"2023-12-09","Important":false},{"Path":"2023-11-25-coffee-break.md","Title":"Coffee Break: November Issue 2/2 | Celebrating 12 Years of AOSC","Date":"2023-11-25","Important":false},{"Path":"2023-11-11-coffee-break.md","Title":"Coffee Break: November Issue 1/2","Date":"2023-11-11","Important":false},{"Path":"2023-10-28-coffee-break.md","Title":"Coffee Break: October Issue 2/2","Date":"2023-10-28","Important":false},{"Path":"2023-10-14-coffee-break.md","Title":"Coffee Break: October Issue 1/2","Date":"2023-10-14","Important":false},{"Path":"2023-10-13-new-coffee-break-schedule.md","Title":"New Publishing Schedule for \"Coffee Break\"","Date":"2023-10-13","Important":false},{"Path":"2023-09-22-coffee-break.md","Title":"Coffee Break: September Issue 2/2","Date":"2023-09-22","Important":false},{"Path":"2023-09-08-coffee-break.md","Title":"Coffee Break: September Issue 1/2","Date":"2023-09-08","Important":false},{"Path":"2023-08-25-coffee-break.md","Title":"Coffee Break: August Issue 2/2","Date":"2023-08-25","Important":false},{"Path":"2023-08-11-coffee-break.md","Title":"Coffee Break: August Issue 1/2","Date":"2023-08-11","Important":false}] \ No newline at end of file diff --git a/public/newsCategories/journals.zh-cn.json b/public/newsCategories/journals.zh-cn.json new file mode 100644 index 00000000..6d9de2e4 --- /dev/null +++ b/public/newsCategories/journals.zh-cn.json @@ -0,0 +1 @@ +[{"Path":"2024-09-19-coffee-break.zh-cn.md","Title":"安记冰室・九月上","Date":"2024-09-19","Important":false},{"Path":"2024-08-28-coffee-break-schedule.zh-cn.md","Title":"《安记冰室》八月下号休刊公告","Date":"2024-08-28","Important":false},{"Path":"2024-08-20-coffee-break.zh-cn.md","Title":"安记冰室・八月上 | 一周年特辑","Date":"2024-08-20","Important":false},{"Path":"2024-08-04-coffee-break.zh-cn.md","Title":"安记冰室・七月下","Date":"2024-08-04","Important":false},{"Path":"2024-07-18-coffee-break-schedule.zh-cn.md","Title":"《安记冰室》七月发刊计划","Date":"2024-07-18","Important":false},{"Path":"2024-06-24-coffee-break.zh-cn.md","Title":"安记冰室・六月下","Date":"2024-06-24","Important":false},{"Path":"2024-06-09-coffee-break.zh-cn.md","Title":"安记冰室・六月上","Date":"2024-06-09","Important":false},{"Path":"2024-05-26-coffee-break.zh-cn.md","Title":"安记冰室・五月下","Date":"2024-05-26","Important":false},{"Path":"2024-05-12-coffee-break.zh-cn.md","Title":"安记冰室・五月上","Date":"2024-05-12","Important":false},{"Path":"2024-04-27-coffee-break.zh-cn.md","Title":"安记冰室・四月下","Date":"2024-04-27","Important":false},{"Path":"2024-04-13-coffee-break.zh-cn.md","Title":"安记冰室・四月上","Date":"2024-04-13","Important":false},{"Path":"2024-03-23-coffee-break.zh-cn.md","Title":"安记冰室・三月下","Date":"2024-03-23","Important":false},{"Path":"2024-03-09-coffee-break.zh-cn.md","Title":"安记冰室・三月上","Date":"2024-03-09","Important":false},{"Path":"2024-02-26-coffee-break.zh-cn.md","Title":"安记冰室・二月下","Date":"2024-02-26","Important":false},{"Path":"2024-02-10-coffee-break.zh-cn.md","Title":"安记冰室・二月上","Date":"2024-02-10","Important":false},{"Path":"2024-01-27-coffee-break.zh-cn.md","Title":"安记冰室・一月下","Date":"2024-01-27","Important":false},{"Path":"2023-12-23-coffee-break.zh-cn.md","Title":"安记冰室・十二月下","Date":"2023-12-23","Important":false},{"Path":"2023-12-09-coffee-break.zh-cn.md","Title":"安记冰室・十二月上","Date":"2023-12-09","Important":false},{"Path":"2023-11-25-coffee-break.zh-cn.md","Title":"安记冰室・十一月下|社庆特辑","Date":"2023-11-25","Important":false},{"Path":"2023-11-11-coffee-break.zh-cn.md","Title":"安记冰室・十一月上","Date":"2023-11-11","Important":false},{"Path":"2023-10-28-coffee-break.zh-cn.md","Title":"安记冰室・十月下","Date":"2023-10-28","Important":false},{"Path":"2023-10-14-coffee-break.zh-cn.md","Title":"安记冰室・十月上","Date":"2023-10-14","Important":false},{"Path":"2023-10-13-new-coffee-break-schedule.zh-cn.md","Title":"《安记冰室》发布日程更改","Date":"2023-10-13","Important":false},{"Path":"2023-09-22-coffee-break.zh-cn.md","Title":"安记冰室・九月下","Date":"2023-09-22","Important":false},{"Path":"2023-09-08-coffee-break.zh-cn.md","Title":"安记冰室・九月上","Date":"2023-09-08","Important":false},{"Path":"2023-08-25-coffee-break.zh-cn.md","Title":"安记冰室・八月下","Date":"2023-08-25","Important":false},{"Path":"2023-08-11-coffee-break.zh-cn.md","Title":"安记冰室・八月上|创刊号","Date":"2023-08-11","Important":false}] \ No newline at end of file diff --git a/public/newsCategories/minutes.en.json b/public/newsCategories/minutes.en.json new file mode 100644 index 00000000..87e621ae --- /dev/null +++ b/public/newsCategories/minutes.en.json @@ -0,0 +1 @@ +[{"Path":"2024-08-28-aoscc-2024-survey.md","Title":"AOSCC 2024 会务满意度调查","Date":"2024-08-28","Important":true},{"Path":"2024-06-10-ospp-2024-exam-meeting.md","Title":"例会:开源之夏(OSPP) 2024 社区实习项目考核结果讨论","Date":"2024-05-27","Important":false},{"Path":"2024-06-02-packages-site-meeting-minutes.md","Title":"会议纪要:软件包信息站与 p-vector-rs 更改审阅","Date":"2024-06-01","Important":false},{"Path":"2024-06-02-aoscc-2024-working-group-meeting-minutes.md","Title":"会议纪要:AOSCC 2024 工作组例会","Date":"2024-06-02","Important":false},{"Path":"2024-06-01-packages-site-meeting-notice.md","Title":"例会预告:软件包信息站与 p-vector-rs 更改审阅","Date":"2024-06-01","Important":false},{"Path":"2024-06-01-aoscc-2024-working-group-meeting.md","Title":"预告:AOSCC 2024 工作组例会","Date":"2024-06-01","Important":false},{"Path":"2024-05-27-ospp-2024-planning-meeting.md","Title":"例会预告:OSPP 2024 审核筹备","Date":"2024-05-27","Important":false},{"Path":"2024-05-04-aoscc-2024-working-group-minutes.md","Title":"纪要:AOSCC 2024 工作组例会(5 月 4 日)","Date":"2024-05-04","Important":false},{"Path":"2024-05-03-aoscc-2024-working-group-meeting.md","Title":"预告:AOSCC 2024 工作组例会","Date":"2024-05-03","Important":false},{"Path":"2024-05-01-aoscc-2024-poll-review.md","Title":"紧张刺激:AOSCC 2024 投票结果","Date":"2024-05-01","Important":false},{"Path":"2024-04-24-aoscc-2024-poll.md","Title":"AOSCC 2024 场地投票","Date":"2024-04-24","Important":false},{"Path":"2024-04-22-aoscc-2024-poll-upcoming.md","Title":"预告:AOSCC 2024 场地和日期投票","Date":"2024-04-22","Important":false},{"Path":"2024-02-20-aosc-springcon-questionnaire.md","Title":"[直播回放] AOSC 廿四年烙饼会直播回放及反馈问卷","Date":"2024-02-20","Important":false}] \ No newline at end of file diff --git a/public/newsCategories/minutes.zh-cn.json b/public/newsCategories/minutes.zh-cn.json new file mode 100644 index 00000000..bf176a2d --- /dev/null +++ b/public/newsCategories/minutes.zh-cn.json @@ -0,0 +1 @@ +[{"Path":"2024-08-28-aoscc-2024-survey.zh-cn.md","Title":"AOSCC 2024 会务满意度调查","Date":"2024-08-28","Important":true},{"Path":"2024-06-10-ospp-2024-exam-meeting.zh-cn.md","Title":"例会:开源之夏(OSPP) 2024 社区实习项目考核结果讨论","Date":"2024-05-27","Important":false},{"Path":"2024-06-02-packages-site-meeting-minutes.zh-cn.md","Title":"会议纪要:软件包信息站与 p-vector-rs 更改审阅","Date":"2024-06-01","Important":false},{"Path":"2024-06-02-aoscc-2024-working-group-meeting-minutes.zh-cn.md","Title":"会议纪要:AOSCC 2024 工作组例会","Date":"2024-06-02","Important":false},{"Path":"2024-06-01-packages-site-meeting-notice.zh-cn.md","Title":"例会预告:软件包信息站与 p-vector-rs 更改审阅","Date":"2024-06-01","Important":false},{"Path":"2024-06-01-aoscc-2024-working-group-meeting.zh-cn.md","Title":"预告:AOSCC 2024 工作组例会","Date":"2024-06-01","Important":false},{"Path":"2024-05-27-ospp-2024-planning-meeting.zh-cn.md","Title":"例会预告:OSPP 2024 审核筹备","Date":"2024-05-27","Important":false},{"Path":"2024-05-04-aoscc-2024-working-group-minutes.zh-cn.md","Title":"纪要:AOSCC 2024 工作组例会(5 月 4 日)","Date":"2024-05-04","Important":false},{"Path":"2024-05-03-aoscc-2024-working-group-meeting.zh-cn.md","Title":"预告:AOSCC 2024 工作组例会","Date":"2024-05-03","Important":false},{"Path":"2024-05-01-aoscc-2024-poll-review.zh-cn.md","Title":"紧张刺激:AOSCC 2024 投票结果","Date":"2024-05-01","Important":false},{"Path":"2024-04-24-aoscc-2024-poll.zh-cn.md","Title":"AOSCC 2024 场地投票","Date":"2024-04-24","Important":false},{"Path":"2024-04-22-aoscc-2024-poll-upcoming.zh-cn.md","Title":"预告:AOSCC 2024 场地和日期投票","Date":"2024-04-22","Important":false},{"Path":"2024-02-20-aosc-springcon-questionnaire.zh-cn.md","Title":"[直播回放] AOSC 廿四年烙饼会直播回放及反馈问卷","Date":"2024-02-20","Important":false}] \ No newline at end of file diff --git a/public/newsCategories/news.en.json b/public/newsCategories/news.en.json new file mode 100644 index 00000000..bc13a297 --- /dev/null +++ b/public/newsCategories/news.en.json @@ -0,0 +1 @@ +[{"Path":"2024-08-15-back-to-repology.md","Title":"安同 OS 重返系统软件包版本监测网站 Repology","Date":"2024-08-15","Important":true},{"Path":"2024-08-15-aosc-os-for-loongarch-old-world.md","Title":"安同 OS 龙架构“旧世界”设备兼容方案正式发布","Date":"2024-08-15","Important":true},{"Path":"2024-08-12-aosc-os-abbs-100000-commits.md","Title":"安同 OS 软件包树 (aosc-os-abbs) 喜迎第十万个提交!","Date":"2024-08-12","Important":true},{"Path":"2024-07-29-mips-r6-closing-time.md","Title":"紫华不再:安同 OS MIPS64 Release 6 移植停止维护","Date":"2024-07-29","Important":true},{"Path":"2024-07-22-loongarch-oldworld-boot-support.md","Title":"世界线“合龙”:龙架构旧世界固件启动新世界系统已成现实!","Date":"2024-07-22","Important":true},{"Path":"2024-07-21-new-loongson-mips-build-server.md","Title":"MIPS 龙芯新构建服务器上线!","Date":"2024-07-21","Important":false},{"Path":"2024-07-18-aoscc-2024-call-for-photos.md","Title":"AOSCC 2024 会场照片征集","Date":"2024-07-18","Important":false},{"Path":"2024-07-16-mesa-llvmpipe-orcjit-and-risc-v-support-merged.md","Title":"Mesa 上游合并 llvmpipe OrcJIT 及 RISC-V 支持","Date":"2024-07-16","Important":true},{"Path":"2024-07-12-aoscc-2024-arrival-tips.md","Title":"AOSCC 到达和签到小贴士","Date":"2024-07-12","Important":false},{"Path":"2024-07-11-aoscc-2024-power-failure.md","Title":"AOSCC 临时日程调整","Date":"2024-07-11","Important":false},{"Path":"2024-07-08-aoscc-2024-registration.md","Title":"AOSCC 2024 正式注册截止","Date":"2024-07-08","Important":false},{"Path":"2024-07-06-aoscc-2024-hotel-check-in.md","Title":"AOSCC 2024 协议酒店入住确认","Date":"2024-07-06","Important":false},{"Path":"2024-07-03-aoscc-2024-agenda.md","Title":"AOSCC 2024 日程预告","Date":"2024-07-03","Important":false},{"Path":"2024-07-02-aoscc-2024-stickers.md","Title":"AOSCC 2024 周边预告之:贴纸包","Date":"2024-07-02","Important":false},{"Path":"2024-07-02-aoscc-2024-keychains.md","Title":"AOSCC 2024 周边预告之:钥匙扣","Date":"2024-07-02","Important":false},{"Path":"2024-07-02-aoscc-2024-canvas-bag.md","Title":"AOSCC 2024 周边预告之:帆布袋","Date":"2024-07-02","Important":false},{"Path":"2024-07-02-aoscc-2024-T-shirt.md","Title":"AOSCC 2024 纪念衫开启订购!","Date":"2024-07-02","Important":false},{"Path":"2024-06-28-ospp-2024-work-start.md","Title":"社区“开源之夏”项目正式启航","Date":"2024-06-28","Important":true},{"Path":"2024-06-27-aosc-os-installer-preview.md","Title":"安同 OS 预览版离线安装盘发布!","Date":"2024-06-27","Important":false},{"Path":"2024-06-26-gitcode-fake.md","Title":"关于 GitCode 近日以我社名义镜像 GitHub 组织及仓库内容的声明","Date":"2024-06-26","Important":false},{"Path":"2024-06-17-fix-amd-gpu-reset-pre.md","Title":"请您测试:龙架构 AMD 显卡稳定性修复","Date":"2024-06-17","Important":false},{"Path":"2024-06-09-aoscc-2024-registration.md","Title":"AOSCC 2024 开放报名!","Date":"2024-06-09","Important":false},{"Path":"2024-06-08-new-loongarch64-build-server.md","Title":"龙架构新构建服务器上线","Date":"2024-06-08","Important":false},{"Path":"2024-06-07-aosc-os-livekit-pre.md","Title":"安同 OS 图形安装预览镜像更新(6 月 7 日)","Date":"2024-06-07","Important":false},{"Path":"2024-06-04-latx-1.5.2.md","Title":"警告:龙架构 LATX 1.5.2 更新可能需要手动干预","Date":"2024-06-04","Important":true},{"Path":"2024-06-03-new-loongarch64-build-server.md","Title":"龙架构新构建服务器上线","Date":"2024-06-03","Important":false},{"Path":"2024-06-02-aosc-sticker.md","Title":"好耶!安安同同贴图包来啦","Date":"2024-06-02","Important":false},{"Path":"2024-05-30-ospp-users-guide-exam.md","Title":"《设计编写安同 OS 用户手册及编写规范》摸底考核","Date":"2024-05-29","Important":false},{"Path":"2024-05-29-ospp-2024-jlu-vod.md","Title":"[直播回放]《一个草根社区的自白:安同开源社区、开源产业与全民信创》","Date":"2024-05-29","Important":false},{"Path":"2024-05-24-new-aarch64-build-server.md","Title":"AArch64 新构建服务器上线","Date":"2024-05-21","Important":false},{"Path":"2024-05-21-ospp-2024-jlu-preview.md","Title":"OSPP2024 校园行走进吉林大学","Date":"2024-05-21","Important":false},{"Path":"2024-05-01-liblol-0.1.5.md","Title":"libLoL 0.1.5 发布","Date":"2024-05-01","Important":false},{"Path":"2024-05-01-aoscc-2024-call-for-volunteers.md","Title":"有你更精彩:AOSCC 2024 诚招志愿者!","Date":"2024-05-01","Important":false},{"Path":"2024-04-22-ospp-2024-projects-up.md","Title":"社区“开源之夏”项目正式上线","Date":"2024-04-22","Important":false},{"Path":"2024-04-02-pku-tuna-towards-modern-distro-vod.md","Title":"[直播回放] 发行版沙龙!","Date":"2024-04-02","Important":false},{"Path":"2024-03-27-spiral.md","Title":"Spiral 更新正式推送:安同 OS 的超级旋风牛力!","Date":"2024-03-27","Important":true},{"Path":"2024-03-27-qfnu-computing-evolved-vod.md","Title":"[直播回放] 安同曲阜师大行:计算进化!","Date":"2024-03-27","Important":false},{"Path":"2024-03-20-qfnu-computing-evolved.md","Title":"安同曲阜师大行:计算进化!","Date":"2024-03-20","Important":false},{"Path":"2024-03-17-pku-tuna-towards-modern-distro.md","Title":"发行版沙龙来啦!","Date":"2024-03-17","Important":false},{"Path":"2024-03-07-new-loongarch64-build-server.md","Title":"龙架构新构建服务器上线","Date":"2024-03-07","Important":false},{"Path":"2024-03-06-new-amd64-build-server.md","Title":"x86 新构建服务器上线!","Date":"2024-03-06","Important":false},{"Path":"2024-03-06-aosc-os-loongarch64-release-update.md","Title":"AOSC OS 龙架构版本系统发行更新公告","Date":"2024-03-06","Important":false},{"Path":"2024-03-01-new-loongarch64-build-server.md","Title":"龙架构新构建服务器上线","Date":"2024-03-01","Important":false},{"Path":"2024-02-26-roaming-camera-application-open.md","Title":"廿四年“流浪相机”报名开放","Date":"2024-02-26","Important":false},{"Path":"2024-02-20-new-loongarch64-build-server.md","Title":"龙架构新构建服务器上线","Date":"2024-02-20","Important":false},{"Path":"2024-02-15-aosc-os-loongarch64-release.md","Title":"2024-02-15: AOSC OS 龙架构版发布!","Date":"2024-02-15","Important":false},{"Path":"2024-02-13-springcon-2024-preview.md","Title":"首届年度“烙饼会”将于 2 月 15 日开幕","Date":"2024-02-13","Important":false},{"Path":"2024-02-09-aosc-os-loongarch64-mainlined.md","Title":"AOSC OS 合龙工程圆满收官!","Date":"2024-02-09","Important":false},{"Path":"2024-02-01-linux-cn-closure.md","Title":"On Linux.CN's Closure and the Future of Open Source Communities in China","Date":"2024-01-31","Important":false},{"Path":"2023-11-20-aosc-os-for-apple-silicon.md","Title":"AOSC OS for Apple Silicon Now Available","Date":"2023-11-20","Important":false},{"Path":"2023-10-17-aosc-os-releases-2023-10.md","Title":"Now Available: New Wave of AOSC OS System Releases","Date":"2023-10-17","Important":true},{"Path":"2023-10-11-new-aarch64-servers.md","Title":"Two New AArch64 Build Servers Deployed for AOSC OS Maintenance","Date":"2023-10-11","Important":false},{"Path":"2023-08-28-nit-cips-mirror.md","Title":"NIT-CIPS Now Mirroring Our Community Repository!","Date":"2023-08-28","Important":false},{"Path":"2023-08-27-sjtug-mirror.md","Title":"Shanghai Jiao Tong University's *NIX User Group Now Mirroring Our Community Repository!","Date":"2023-08-27","Important":false},{"Path":"2023-07-22-aoscc-2023-re-cap.md","Title":"Back in Person! An AOSCC 2023 Recap","Date":"2023-07-22","Important":false},{"Path":"2023-07-06-aoscc-2023.md","Title":"AOSCC 2023 @ ShanghaiTech University: July 15 - 16th!","Date":"2023-07-06","Important":false},{"Path":"2022-09-13-aoscc-2022-info.md","Title":"Join Us Online at AOSCC 2022 This Weekend!","Date":"2022-09-13","Important":true},{"Path":"2022-04-28-year-of-the-pc-110.md","Title":"Year of the PC 110!","Date":"2022-04-28","Important":false},{"Path":"2021-12-14-10-year-anniversary-wallpapers.md","Title":"10th Anniversary Trailer and Wallpapers","Date":"2021-12-14","Important":false},{"Path":"2021-12-01-decennial-thesis-prologue.md","Title":"Decennial Thesis: Prologue","Date":"2021-12-01","Important":false},{"Path":"2021-11-19-codeweavers-and-github-suponsorship.md","Title":"CodeWeavers Sponsorship and GitHub Sponsors","Date":"2021-11-19","Important":false},{"Path":"2021-09-15-aoscc-2021-info.md","Title":"AOSCC 2021 This Weekend!","Date":"2021-09-15","Important":true},{"Path":"2021-06-08-libera-project-registration.md","Title":"Migrating #aosc to Libera Chat, and IRC Cloaks","Date":"2021-06-08","Important":false},{"Path":"2020-12-06-aosc-os-core-8.md","Title":"AOSC OS Core 8 \"Hotfix\" Now Available!","Date":"2020-12-06","Important":true},{"Path":"2020-11-18-ospp-2020-re-cap.md","Title":"OSPP 2020 Re-cap","Date":"2020-11-18","Important":false},{"Path":"2020-11-18-meet-an-an.md","Title":"Meet An-An, Our Community Mascot!","Date":"2020-11-18","Important":false},{"Path":"2020-11-18-introducing-atm.md","Title":"Introducing ATM (AOSC OS APT Topic Manager)","Date":"2020-11-18","Important":false},{"Path":"2020-09-30-virtual-aoscc-2020-re-cap.md","Title":"Virtual AOSCC 2020 Re-cap","Date":"2020-09-30","Important":false},{"Path":"2020-09-29-new-wiki-site-now-live.md","Title":"New Wiki Site Now Live!","Date":"2020-09-29","Important":false},{"Path":"2020-09-24-virtual-aoscc-2020.md","Title":"(Virtual) AOSCC 2020 This Weekend!","Date":"2020-09-24","Important":false},{"Path":"2020-08-06-a-facelift-for-aosc-pastebin.md","Title":"A Facelift for AOSC Pastebin","Date":"2020-08-06","Important":false},{"Path":"2020-05-28-introducing-aoscbootstrap.md","Title":"Introducing AOSCBootstrap","Date":"2020-05-28","Important":false},{"Path":"2020-05-27-new-tarballs-available-for-amd64.md","Title":"New AOSC OS Tarballs Available for AMD64 (x86_64)","Date":"2020-05-27","Important":false},{"Path":"2020-05-18-new-loongson-development-board.md","Title":"New Loongson Development Board","Date":"2020-05-18","Important":false},{"Path":"2020-05-03-winter-cycle-complete.md","Title":"Winter Cycle Complete!","Date":"2020-05-03","Important":false},{"Path":"2020-05-03-suspending-stale-aosc-os-ports-and-initiating-retro.md","Title":"Suspending Stale AOSC OS Ports and Initiating the AOSC OS/Retro Project","Date":"2020-05-03","Important":true},{"Path":"2020-05-03-new-aarch64-build-server.md","Title":"New AArch64 Build Server!","Date":"2020-05-03","Important":false},{"Path":"2020-03-29-security-announcements-mailing-list-migration.md","Title":"Security Announcements Mailing List Migration","Date":"2020-03-29","Important":true},{"Path":"2020-02-22-this-week-in-aosc-os-development.md","Title":"This Week in AOSC OS Development","Date":"2020-02-22","Important":false},{"Path":"2020-02-20-updates-withdrawn-from-stable.md","Title":"Updates Withdrawn from the Stable Repository","Date":"2020-02-20","Important":true},{"Path":"2020-02-14-this-week-in-aosc-os-development.md","Title":"This Week in AOSC OS Development","Date":"2020-02-14","Important":false},{"Path":"2020-02-07-this-week-in-aosc-os-development.md","Title":"This Week in AOSC OS Development","Date":"2020-02-07","Important":false},{"Path":"2020-01-30-new-wave-of-updates-available.md","Title":"New Wave of Updates Available (Fall 2019)!","Date":"2020-01-30","Important":false},{"Path":"2019-08-05-aosc-os-stable-branch-dependency-issues.md","Title":"AOSC OS Stable Branch: Dependency Issues","Date":"2019-08-05","Important":true},{"Path":"2019-08-05-aosc-os-stable-branch-all-clear.md","Title":"AOSC OS Stable Branch: All Clear!","Date":"2019-08-05","Important":false},{"Path":"2019-07-31-aosc-community-repository-service-recovered.md","Title":"AOSC Community Repository: Service Recovered","Date":"2019-07-31","Important":false},{"Path":"2019-07-30-aosc-community-repository-unexpected-downtime.md","Title":"AOSC Community Repository: Unexpected Downtime","Date":"2019-07-30","Important":true},{"Path":"2019-07-07-weekly-community-report-issue-28-2019.md","Title":"Weekly Community Report: Issue 28, 2019","Date":"2019-07-07","Important":false},{"Path":"2019-07-07-unexpected-downtime-on-repository-server.md","Title":"Unexpected Downtime on Repository Server","Date":"2019-07-07","Important":true},{"Path":"2019-07-07-community-repository-all-systems-green.md","Title":"Community Repository: All Systems Green!","Date":"2019-07-07","Important":false},{"Path":"2019-04-29-weekly-community-report-issue-18-2019.md","Title":"Weekly Community Report: Issue 18, 2019","Date":"2019-04-29","Important":false},{"Path":"2019-04-22-weekly-community-report-issue-17-2019.md","Title":"Weekly Community Report: Issue 17, 2019","Date":"2019-04-22","Important":false},{"Path":"2019-04-08-weekly-community-report-issue-15-2019.md","Title":"Weekly Community Report: Issue 15, 2019","Date":"2019-04-08","Important":false},{"Path":"2019-04-03-happy-april.md","Title":"Happy April!","Date":"2019-04-03","Important":false},{"Path":"2019-04-01-proposal-solve-food-supply-crisis-by-initiation-of-the-idol-project.md","Title":"Proposal: Solve Food Supply Crisis by Initiation of the Idol Project","Date":"2019-04-01","Important":true},{"Path":"2019-04-01-april-update.md","Title":"April Update!","Date":"2019-04-01","Important":false},{"Path":"2019-03-18-new-mirror-at-cqu-lanunion.md","Title":"New Mirror at CQU-Lanunion!","Date":"2019-03-18","Important":false},{"Path":"2018-12-25-repository-migration.md","Title":"Repository Migration","Date":"2018-12-25","Important":true},{"Path":"2018-08-13-re-cap-aoscc-2018.md","Title":"Re-Cap: AOSCC 2018","Date":"2018-08-13","Important":false},{"Path":"2018-07-17-aoscc-2018.md","Title":"AOSCC 2018","Date":"2018-07-17","Important":false},{"Path":"2018-04-27-aosc-os-spring-wave-of-updates.md","Title":"AOSC OS Spring Wave of Updates!","Date":"2018-04-27","Important":false},{"Path":"2018-04-01-an-important-and-unfortunate-project-update.md","Title":"An Important (and Unfortunate) Project Update","Date":"2018-04-01","Important":true},{"Path":"2018-02-02-new-tarball-releases.md","Title":"New Tarball Releases!","Date":"2018-02-02","Important":false},{"Path":"2018-01-25-progress-report-aosc-os-meltdown-and-spectre.md","Title":"Progress Report: AOSC OS, \"Meltdown\" and \"Spectre\"","Date":"2018-01-25","Important":true},{"Path":"2018-01-13-progress-report-aosc-os-meltdown-and-spectre.md","Title":"Progress Report: AOSC OS, \"Meltdown\" and \"Spectre\"","Date":"2018-01-13","Important":true},{"Path":"2018-01-10-core-511-meltdown-and-spectre.md","Title":"Core 5.1.1, \"Meltdown\", and \"Spectre\"","Date":"2018-01-10","Important":true},{"Path":"2018-01-07-daily-progress-report-aosc-os-meltdown-and-spectre.md","Title":"Daily Progress Report: AOSC OS, \"Meltdown\" and \"Spectre\"","Date":"2018-01-07","Important":true},{"Path":"2018-01-06-progress-report-aosc-os-meltdown-and-spectre.md","Title":"Progress Report: AOSC OS, \"Meltdown\" and \"Spectre\"","Date":"2018-01-06","Important":true},{"Path":"2018-01-05-aosc-os-end-of-2017-wave-of-updates.md","Title":"AOSC OS End-of-2017 Wave of Updates!","Date":"2018-01-05","Important":false},{"Path":"2017-12-01-today-marks-our-6th-year.md","Title":"Today... Marks Our 6th Year!","Date":"2017-12-01","Important":false},{"Path":"2017-11-03-october-wave-is-here.md","Title":"October Wave is Here!","Date":"2017-11-03","Important":false},{"Path":"2017-10-24-kudos-to-koddos.md","Title":"Kudos to KoDDoS!","Date":"2017-10-24","Important":false},{"Path":"2017-10-05-mailing-lists-temporarily-blocks-qqcom-posts.md","Title":"Mailing Lists Temporarily Blocks QQ.com Posts","Date":"2017-10-05","Important":true},{"Path":"2017-10-01-august-september-unified-wave-and-core-5.md","Title":"August-September Unified Wave and Core 5!","Date":"2017-10-01","Important":false},{"Path":"2017-09-24-goings-on-a-quick-mid-september-update.md","Title":"Goings On: A Quick Mid-September Update","Date":"2017-09-24","Important":false},{"Path":"2017-08-22-repository-server-is-up-and-stable.md","Title":"Repository Server is Up and Stable","Date":"2017-08-22","Important":false},{"Path":"2017-08-19-update-on-repository-downtime.md","Title":"Update on Repository Downtime","Date":"2017-08-19","Important":true},{"Path":"2017-08-18-expected-repository-downtime-in-12-hours.md","Title":"Expected Repository Downtime in ~12 Hours","Date":"2017-08-18","Important":true},{"Path":"2017-08-02-coming-up-in-august.md","Title":"Coming Up in August...","Date":"2017-08-02","Important":false},{"Path":"2017-08-01-july-wave-is-here.md","Title":"July Wave is Here!","Date":"2017-08-01","Important":false},{"Path":"2017-07-30-new-server-host.md","Title":"New Server Host!","Date":"2017-07-30","Important":false},{"Path":"2017-07-19-aoscc-2017-re-cap.md","Title":"AOSCC 2017: Re-cap","Date":"2017-07-19","Important":false},{"Path":"2017-07-13-its-happening.md","Title":"It's Happening...!","Date":"2017-07-13","Important":false},{"Path":"2017-07-11-aoscc-2017-schedule-sponsors-and-count-down.md","Title":"AOSCC 2017 Schedule, Sponsors, and Count Down!","Date":"2017-07-11","Important":false},{"Path":"2017-06-30-dev-updates-issue-3-new-update-pattern.md","Title":"Dev. Updates Issue #3: New Update Pattern!","Date":"2017-06-30","Important":false},{"Path":"2017-06-14-zh_cn-localization-guide-154.md","Title":"zh_CN Localization Guide 1.5.4","Date":"2017-06-14","Important":false},{"Path":"2017-06-14-aoscc-2017-now-up-for-sign-up.md","Title":"AOSCC 2017 Now Up for Sign Up!","Date":"2017-06-14","Important":false},{"Path":"2017-06-07-core-422-fin.md","Title":"Core 4.2.2: Fin.","Date":"2017-06-07","Important":false},{"Path":"2017-05-05-cinnamon-34-now-available.md","Title":"Cinnamon 3.4 Now Available!","Date":"2017-05-05","Important":false},{"Path":"2017-04-29-updates-to-our-community-infrastructure.md","Title":"Updates to Our Community Infrastructure!","Date":"2017-04-29","Important":false},{"Path":"2017-04-17-manual-input-needed-with-upcoming-iana-etc-update.md","Title":"Manual Input Needed with Upcoming iana-etc Update","Date":"2017-04-17","Important":true},{"Path":"2017-04-15-repository-de-dup-complete.md","Title":"Repository De-Dup Complete","Date":"2017-04-15","Important":false},{"Path":"2017-04-15-aarch64arm64-images-update-for-allwinner-devices.md","Title":"AArch64/ARM64 Images Update for Allwinner Devices","Date":"2017-04-15","Important":false},{"Path":"2017-04-10-firmware-package-split.md","Title":"Firmware Package Split","Date":"2017-04-10","Important":true},{"Path":"2017-04-09-repository-de-dup-to-take-place-next-week.md","Title":"Repository De-Dup to Take Place Next Week","Date":"2017-04-09","Important":false},{"Path":"2017-03-31-dev-updates-issue-21.md","Title":"Dev. Updates Issue #2.1","Date":"2017-03-31","Important":false},{"Path":"2017-03-29-gnome-324-is-now-available.md","Title":"GNOME 3.24 is Now Available!","Date":"2017-03-29","Important":false},{"Path":"2017-03-29-dev-updates-issue-2-2017.md","Title":"Dev. Updates (Issue #2, 2017)","Date":"2017-03-29","Important":false},{"Path":"2017-03-05-new-package-additions-mar-5th-2017.md","Title":"New package additions: Mar 5th, 2017","Date":"2017-03-05","Important":false},{"Path":"2017-03-04-spring-distribution-updates.md","Title":"Spring Distribution Updates!","Date":"2017-03-04","Important":false},{"Path":"2017-02-14-repository-key-expiration.md","Title":"Repository key expiration!","Date":"2017-02-14","Important":true},{"Path":"2017-02-08-core-42-is-here.md","Title":"Core 4.2 is here!","Date":"2017-02-08","Important":false},{"Path":"2017-02-06-new-package-additions-feb-6-2017.md","Title":"New package additions: Feb. 6, 2017","Date":"2017-02-06","Important":false},{"Path":"2017-02-06-dev-updates-issue-1-2017.md","Title":"Dev. Updates (Issue #1, 2017)","Date":"2017-02-06","Important":false},{"Path":"2017-01-26-new-package-additions-jan-25-2017.md","Title":"New package additions: Jan. 25, 2017","Date":"2017-01-26","Important":false},{"Path":"2017-01-07-on-aosc-os-ports.md","Title":"On AOSC OS Ports...","Date":"2017-01-07","Important":false},{"Path":"2017-01-01-update-on-wine-and-x86-support-for-arm-devices.md","Title":"Update on Wine and x86 Support for ARM Devices","Date":"2017-01-01","Important":false},{"Path":"2017-01-01-acbs-is-ready-to-roll.md","Title":"ACBS is Ready to Roll","Date":"2017-01-01","Important":false},{"Path":"2016-12-31-new-package-additions-dec-31-2016.md","Title":"New package additions: Dec. 31, 2016","Date":"2016-12-31","Important":false},{"Path":"2016-12-31-happy-early-new-year.md","Title":"Happy (Early) New Year!","Date":"2016-12-31","Important":false},{"Path":"2016-12-16-new-package-additions-dec-16th-2016.md","Title":"New package additions: Dec 16th, 2016","Date":"2016-12-16","Important":false},{"Path":"2016-12-13-updates-to-allwinner-images.md","Title":"Updates to Allwinner Images","Date":"2016-12-13","Important":false},{"Path":"2016-12-08-winter-distribution-updates-and-looking-ahead.md","Title":"Winter Distribution Updates (and Looking Ahead)!","Date":"2016-12-08","Important":false},{"Path":"2016-12-07-raspberry-pi-images-available.md","Title":"Raspberry Pi images available!","Date":"2016-12-07","Important":false},{"Path":"2016-12-07-allwinner-images-available.md","Title":"Allwinner images available!","Date":"2016-12-07","Important":false},{"Path":"2016-12-03-aosc-os-repository-mirror-at-ustc-is-down.md","Title":"AOSC OS Repository Mirror at USTC is Down","Date":"2016-12-03","Important":true},{"Path":"2016-12-01-happy-birthday-aosc-for-the-fifth-time.md","Title":"Happy Birthday, AOSC (for the fifth time)!","Date":"2016-12-01","Important":false},{"Path":"2016-12-01-core-41-is-here.md","Title":"Core 4.1 is here!","Date":"2016-12-01","Important":false},{"Path":"2016-11-20-package-update-advisory-nov-20-2016.md","Title":"Package Update Advisory: Nov. 20, 2016","Date":"2016-11-20","Important":true},{"Path":"2016-11-18-trinity-desktop-environment-now-available.md","Title":"Trinity Desktop Environment Now Available!","Date":"2016-11-18","Important":false},{"Path":"2016-11-18-new-package-additions-nov-18-2016.md","Title":"New package additions: Nov. 18, 2016","Date":"2016-11-18","Important":false},{"Path":"2016-11-14-package-update-advisory-nov-14-2016.md","Title":"Package Update Advisory: Nov. 14, 2016","Date":"2016-11-14","Important":true},{"Path":"2016-11-14-new-package-additions-nov-14-2016.md","Title":"New package additions: Nov. 14, 2016","Date":"2016-11-14","Important":false},{"Path":"2016-11-04-new-package-additions-nov-5-2016.md","Title":"New package additions: Nov. 5, 2016","Date":"2016-11-04","Important":false},{"Path":"2016-10-29-notes-on-flash-player-support.md","Title":"Notes on Flash Player Support","Date":"2016-10-29","Important":false},{"Path":"2016-10-29-new-package-additions-oct-29-2016.md","Title":"New package additions: Oct. 29, 2016","Date":"2016-10-29","Important":false},{"Path":"2016-10-21-system-release-update-oct-21st-2016.md","Title":"System Release Update - Oct. 21st, 2016","Date":"2016-10-21","Important":false},{"Path":"2016-10-18-new-package-additions-oct-18-2016.md","Title":"New package additions: Oct. 18, 2016","Date":"2016-10-18","Important":false},{"Path":"2016-10-12-xfce-packages-rebuilt-and-refined.md","Title":"Xfce Packages Rebuilt and Refined","Date":"2016-10-12","Important":false},{"Path":"2016-10-11-new-package-additions-oct-11-2016.md","Title":"New package additions: Oct. 11, 2016","Date":"2016-10-11","Important":false},{"Path":"2016-10-08-plasma-58-now-available.md","Title":"Plasma 5.8 Now Available!","Date":"2016-10-08","Important":false},{"Path":"2016-10-03-a-new-mirror-at-lzuoss.md","Title":"A New Mirror: At LZUOSS","Date":"2016-10-03","Important":false},{"Path":"2016-10-02-security-advisory-numbering.md","Title":"Security Advisory Numbering","Date":"2016-10-02","Important":false},{"Path":"2016-10-02-new-package-additions-oct-3-2016.md","Title":"New package additions: Oct. 3, 2016","Date":"2016-10-02","Important":false},{"Path":"2016-10-02-aosc-os-repository-at-ustc-is-back-online.md","Title":"AOSC OS Repository at USTC is Back Online","Date":"2016-10-02","Important":false},{"Path":"2016-09-30-zh_cn-l10n-guide-153-released.md","Title":"zh_CN L10n Guide 1.5.3 Released","Date":"2016-09-30","Important":false},{"Path":"2016-09-29-updates-to-the-repository-server.md","Title":"Updates to the Repository Server","Date":"2016-09-29","Important":false},{"Path":"2016-09-29-termination-of-rpm-package-releases.md","Title":"Termination of RPM Package Releases","Date":"2016-09-29","Important":true},{"Path":"2016-09-29-aoscs-google-page-is-here.md","Title":"AOSC's Google+ Page is here!","Date":"2016-09-29","Important":false},{"Path":"2016-09-29-aosc-os-abbs-repository-snapshots-migrated-to-git-bundles.md","Title":"\"aosc-os-abbs\" Repository Snapshots Migrated to Git bundles","Date":"2016-09-29","Important":false},{"Path":"2016-09-27-fixes-now-available-for-gnome-shell-322.md","Title":"Fixes Now Available for GNOME Shell 3.22","Date":"2016-09-27","Important":true},{"Path":"2016-09-27-aosc-os-base-and-buildkit-tarball-updates.md","Title":"AOSC OS Base and BuildKit Tarball Updates","Date":"2016-09-27","Important":false},{"Path":"2016-09-26-mate-1160-packages-rebuilt.md","Title":"MATE 1.16.0 Packages Rebuilt","Date":"2016-09-26","Important":true},{"Path":"2016-09-26-autobuild3-documentation-updated-for-core-40.md","Title":"Autobuild3 Documentation Updated for Core 4.0+","Date":"2016-09-26","Important":false},{"Path":"2016-09-25-gnome-322-now-available.md","Title":"GNOME 3.22 Now Available","Date":"2016-09-25","Important":false},{"Path":"2016-09-25-desktop-base-and-simplified-desktop-installation.md","Title":"\"desktop-base\" and Simplified Desktop Installation","Date":"2016-09-25","Important":false},{"Path":"2016-09-24-mate-116-now-available.md","Title":"MATE 1.16 Now Available","Date":"2016-09-24","Important":false},{"Path":"2016-09-24-core-401-released.md","Title":"Core 4.0.1 Released","Date":"2016-09-24","Important":false},{"Path":"2016-09-20-enlightenment-updated-to-021-series-e21.md","Title":"Enlightenment updated to 0.21 series (E21)","Date":"2016-09-20","Important":false},{"Path":"2016-09-20-aosc-os-repository-mirror-at-ustc-is-down.md","Title":"AOSC OS Repository Mirror at USTC is Down","Date":"2016-09-20","Important":true},{"Path":"2016-09-19-pre-built-aosc-os-wallpapers-now-available.md","Title":"Pre-built AOSC OS Wallpapers now available","Date":"2016-09-19","Important":false},{"Path":"2016-09-19-new-package-additions-sept-19-2016.md","Title":"New package additions: Sept. 19, 2016","Date":"2016-09-19","Important":false},{"Path":"2016-09-18-welcome-to-aosc-portal.md","Title":"Welcome to AOSC Portal","Date":"2016-09-18","Important":false},{"Path":"2016-09-18-aosc-oss-default-wallpapers.md","Title":"AOSC OS's Default Wallpapers","Date":"2016-09-18","Important":false},{"Path":"2016-09-18-aosc-os-core-4-is-green.md","Title":"AOSC OS Core 4 is Green!","Date":"2016-09-18","Important":false},{"Path":"2016-09-18-a-re-cap-our-3rd-aoscc.md","Title":"A Re-cap: Our 3rd AOSCC","Date":"2016-09-18","Important":false}] \ No newline at end of file diff --git a/public/newsCategories/news.zh-cn.json b/public/newsCategories/news.zh-cn.json new file mode 100644 index 00000000..67dd6a30 --- /dev/null +++ b/public/newsCategories/news.zh-cn.json @@ -0,0 +1 @@ +[{"Path":"2024-08-15-back-to-repology.zh-cn.md","Title":"安同 OS 重返系统软件包版本监测网站 Repology","Date":"2024-08-15","Important":true},{"Path":"2024-08-15-aosc-os-for-loongarch-old-world.zh-cn.md","Title":"安同 OS 龙架构“旧世界”设备兼容方案正式发布","Date":"2024-08-15","Important":true},{"Path":"2024-08-12-aosc-os-abbs-100000-commits.zh-cn.md","Title":"安同 OS 软件包树 (aosc-os-abbs) 喜迎第十万个提交!","Date":"2024-08-12","Important":true},{"Path":"2024-07-29-mips-r6-closing-time.zh-cn.md","Title":"紫华不再:安同 OS MIPS64 Release 6 移植停止维护","Date":"2024-07-29","Important":true},{"Path":"2024-07-22-loongarch-oldworld-boot-support.zh-cn.md","Title":"世界线“合龙”:龙架构旧世界固件启动新世界系统已成现实!","Date":"2024-07-22","Important":true},{"Path":"2024-07-21-new-loongson-mips-build-server.zh-cn.md","Title":"MIPS 龙芯新构建服务器上线!","Date":"2024-07-21","Important":false},{"Path":"2024-07-18-aoscc-2024-call-for-photos.zh-cn.md","Title":"AOSCC 2024 会场照片征集","Date":"2024-07-18","Important":false},{"Path":"2024-07-16-mesa-llvmpipe-orcjit-and-risc-v-support-merged.zh-cn.md","Title":"Mesa 上游合并 llvmpipe OrcJIT 及 RISC-V 支持","Date":"2024-07-16","Important":true},{"Path":"2024-07-12-aoscc-2024-arrival-tips.zh-cn.md","Title":"AOSCC 到达和签到小贴士","Date":"2024-07-12","Important":false},{"Path":"2024-07-11-aoscc-2024-power-failure.zh-cn.md","Title":"AOSCC 临时日程调整","Date":"2024-07-11","Important":false},{"Path":"2024-07-08-aoscc-2024-registration.zh-cn.md","Title":"AOSCC 2024 正式注册截止","Date":"2024-07-08","Important":false},{"Path":"2024-07-06-aoscc-2024-hotel-check-in.zh-cn.md","Title":"AOSCC 2024 协议酒店入住确认","Date":"2024-07-06","Important":false},{"Path":"2024-07-03-aoscc-2024-agenda.zh-cn.md","Title":"AOSCC 2024 日程预告","Date":"2024-07-03","Important":false},{"Path":"2024-07-02-aoscc-2024-stickers.zh-cn.md","Title":"AOSCC 2024 周边预告之:贴纸包","Date":"2024-07-02","Important":false},{"Path":"2024-07-02-aoscc-2024-keychains.zh-cn.md","Title":"AOSCC 2024 周边预告之:钥匙扣","Date":"2024-07-02","Important":false},{"Path":"2024-07-02-aoscc-2024-canvas-bag.zh-cn.md","Title":"AOSCC 2024 周边预告之:帆布袋","Date":"2024-07-02","Important":false},{"Path":"2024-07-02-aoscc-2024-T-shirt.zh-cn.md","Title":"AOSCC 2024 纪念衫开启订购!","Date":"2024-07-02","Important":false},{"Path":"2024-06-28-ospp-2024-work-start.zh-cn.md","Title":"社区“开源之夏”项目正式启航","Date":"2024-06-28","Important":true},{"Path":"2024-06-27-aosc-os-installer-preview.zh-cn.md","Title":"安同 OS 预览版离线安装盘发布!","Date":"2024-06-27","Important":false},{"Path":"2024-06-26-gitcode-fake.zh-cn.md","Title":"关于 GitCode 近日以我社名义镜像 GitHub 组织及仓库内容的声明","Date":"2024-06-26","Important":false},{"Path":"2024-06-17-fix-amd-gpu-reset-pre.zh-cn.md","Title":"请您测试:龙架构 AMD 显卡稳定性修复","Date":"2024-06-17","Important":false},{"Path":"2024-06-09-aoscc-2024-registration.zh-cn.md","Title":"AOSCC 2024 开放报名!","Date":"2024-06-09","Important":false},{"Path":"2024-06-08-new-loongarch64-build-server.zh-cn.md","Title":"龙架构新构建服务器上线","Date":"2024-06-08","Important":false},{"Path":"2024-06-07-aosc-os-livekit-pre.zh-cn.md","Title":"安同 OS 图形安装预览镜像更新(6 月 7 日)","Date":"2024-06-07","Important":false},{"Path":"2024-06-04-latx-1.5.2.zh-cn.md","Title":"警告:龙架构 LATX 1.5.2 更新可能需要手动干预","Date":"2024-06-04","Important":true},{"Path":"2024-06-03-new-loongarch64-build-server.zh-cn.md","Title":"龙架构新构建服务器上线","Date":"2024-06-03","Important":false},{"Path":"2024-06-02-aosc-sticker.zh-cn.md","Title":"好耶!安安同同贴图包来啦","Date":"2024-06-02","Important":false},{"Path":"2024-05-30-ospp-users-guide-exam.zh-cn.md","Title":"《设计编写安同 OS 用户手册及编写规范》摸底考核","Date":"2024-05-29","Important":false},{"Path":"2024-05-29-ospp-2024-jlu-vod.zh-cn.md","Title":"[直播回放]《一个草根社区的自白:安同开源社区、开源产业与全民信创》","Date":"2024-05-29","Important":false},{"Path":"2024-05-24-new-aarch64-build-server.zh-cn.md","Title":"AArch64 新构建服务器上线","Date":"2024-05-21","Important":false},{"Path":"2024-05-21-ospp-2024-jlu-preview.zh-cn.md","Title":"OSPP2024 校园行走进吉林大学","Date":"2024-05-21","Important":false},{"Path":"2024-05-01-liblol-0.1.5.zh-cn.md","Title":"libLoL 0.1.5 发布","Date":"2024-05-01","Important":false},{"Path":"2024-05-01-aoscc-2024-call-for-volunteers.zh-cn.md","Title":"有你更精彩:AOSCC 2024 诚招志愿者!","Date":"2024-05-01","Important":false},{"Path":"2024-04-22-ospp-2024-projects-up.zh-cn.md","Title":"社区“开源之夏”项目正式上线","Date":"2024-04-22","Important":false},{"Path":"2024-04-02-pku-tuna-towards-modern-distro-vod.zh-cn.md","Title":"[直播回放] 发行版沙龙!","Date":"2024-04-02","Important":false},{"Path":"2024-03-27-spiral.zh-cn.md","Title":"Spiral 更新正式推送:安同 OS 的超级旋风牛力!","Date":"2024-03-27","Important":true},{"Path":"2024-03-27-qfnu-computing-evolved-vod.zh-cn.md","Title":"[直播回放] 安同曲阜师大行:计算进化!","Date":"2024-03-27","Important":false},{"Path":"2024-03-20-qfnu-computing-evolved.zh-cn.md","Title":"安同曲阜师大行:计算进化!","Date":"2024-03-20","Important":false},{"Path":"2024-03-17-pku-tuna-towards-modern-distro.zh-cn.md","Title":"发行版沙龙来啦!","Date":"2024-03-17","Important":false},{"Path":"2024-03-07-new-loongarch64-build-server.zh-cn.md","Title":"龙架构新构建服务器上线","Date":"2024-03-07","Important":false},{"Path":"2024-03-06-new-amd64-build-server.zh-cn.md","Title":"x86 新构建服务器上线!","Date":"2024-03-06","Important":false},{"Path":"2024-03-06-aosc-os-loongarch64-release-update.zh-cn.md","Title":"AOSC OS 龙架构版本系统发行更新公告","Date":"2024-03-06","Important":false},{"Path":"2024-03-01-new-loongarch64-build-server.zh-cn.md","Title":"龙架构新构建服务器上线","Date":"2024-03-01","Important":false},{"Path":"2024-02-26-roaming-camera-application-open.zh-cn.md","Title":"廿四年“流浪相机”报名开放","Date":"2024-02-26","Important":false},{"Path":"2024-02-20-new-loongarch64-build-server.zh-cn.md","Title":"龙架构新构建服务器上线","Date":"2024-02-20","Important":false},{"Path":"2024-02-15-aosc-os-loongarch64-release.zh-cn.md","Title":"2024-02-15: AOSC OS 龙架构版发布!","Date":"2024-02-15","Important":false},{"Path":"2024-02-13-springcon-2024-preview.zh-cn.md","Title":"首届年度“烙饼会”将于 2 月 15 日开幕","Date":"2024-02-13","Important":false},{"Path":"2024-02-09-aosc-os-loongarch64-mainlined.zh-cn.md","Title":"AOSC OS 合龙工程圆满收官!","Date":"2024-02-09","Important":false},{"Path":"2024-02-01-linux-cn-closure.zh-cn.md","Title":"“Linux 中国”开源社区停止运营,感谢一路相伴","Date":"2024-01-31","Important":false},{"Path":"2023-11-20-aosc-os-for-apple-silicon.zh-cn.md","Title":"Apple Silicon 版 AOSC OS 系统发布","Date":"2023-11-20","Important":false},{"Path":"2023-10-17-aosc-os-releases-2023-10.zh-cn.md","Title":"AOSC OS 发布新一批系统发行","Date":"2023-10-17","Important":true},{"Path":"2023-10-11-new-aarch64-servers.zh-cn.md","Title":"社区友人捐赠的两台新 AArch64 构建服务器投入使用","Date":"2023-10-11","Important":false},{"Path":"2023-08-28-nit-cips-mirror.zh-cn.md","Title":"南阳理工学院 CIPS 新镜像上线!","Date":"2023-08-28","Important":false},{"Path":"2023-08-27-sjtug-mirror.zh-cn.md","Title":"上交大 Linux 用户组新镜像上线!","Date":"2023-08-27","Important":false},{"Path":"2023-07-22-aoscc-2023-re-cap.zh-cn.md","Title":"重返线下:AOSCC 2023 回顾","Date":"2023-07-22","Important":false},{"Path":"2023-07-06-aoscc-2023.zh-cn.md","Title":"AOSCC 2023:7 月 15 至 16 日,上科大见!","Date":"2023-07-06","Important":false},{"Path":"2022-09-13-aoscc-2022-info.zh-cn.md","Title":"AOSCC 2022 本周末开幕!","Date":"2022-09-13","Important":true},{"Path":"2022-04-28-year-of-the-pc-110.zh-cn.md","Title":"一台 486 服务器的三百六十五天","Date":"2022-04-28","Important":false},{"Path":"2021-12-14-10-year-anniversary-wallpapers.zh-cn.md","Title":"十周年纪念壁纸及视频","Date":"2021-12-15","Important":false},{"Path":"2021-12-01-decennial-thesis-prologue.zh-cn.md","Title":"十年论安同:序","Date":"2021-12-01","Important":false},{"Path":"2021-11-19-codeweavers-and-github-suponsorship.zh-cn.md","Title":"CodeWeavers Sponsorship and GitHub Sponsors","Date":"2021-11-19","Important":false},{"Path":"2021-09-15-aoscc-2021-info.zh-cn.md","Title":"AOSCC 2021 This Weekend!","Date":"2021-09-15","Important":true},{"Path":"2021-06-08-libera-project-registration.zh-cn.md","Title":"Migrating #aosc to Libera Chat, and IRC Cloaks","Date":"2021-06-08","Important":false},{"Path":"2020-12-06-aosc-os-core-8.zh-cn.md","Title":"AOSC OS Core 8 \"Hotfix\" Now Available!","Date":"2020-12-06","Important":true},{"Path":"2020-11-18-ospp-2020-re-cap.zh-cn.md","Title":"OSPP 2020 Re-cap","Date":"2020-11-18","Important":false},{"Path":"2020-11-18-meet-an-an.zh-cn.md","Title":"Meet An-An, Our Community Mascot!","Date":"2020-11-18","Important":false},{"Path":"2020-11-18-introducing-atm.zh-cn.md","Title":"Introducing ATM (AOSC OS APT Topic Manager)","Date":"2020-11-18","Important":false},{"Path":"2020-09-30-virtual-aoscc-2020-re-cap.zh-cn.md","Title":"Virtual AOSCC 2020 Re-cap","Date":"2020-09-30","Important":false},{"Path":"2020-09-29-new-wiki-site-now-live.zh-cn.md","Title":"New Wiki Site Now Live!","Date":"2020-09-29","Important":false},{"Path":"2020-09-24-virtual-aoscc-2020.zh-cn.md","Title":"(Virtual) AOSCC 2020 This Weekend!","Date":"2020-09-24","Important":false},{"Path":"2020-08-06-a-facelift-for-aosc-pastebin.zh-cn.md","Title":"A Facelift for AOSC Pastebin","Date":"2020-08-06","Important":false},{"Path":"2020-05-28-introducing-aoscbootstrap.zh-cn.md","Title":"Introducing AOSCBootstrap","Date":"2020-05-28","Important":false},{"Path":"2020-05-27-new-tarballs-available-for-amd64.zh-cn.md","Title":"New AOSC OS Tarballs Available for AMD64 (x86_64)","Date":"2020-05-27","Important":false},{"Path":"2020-05-18-new-loongson-development-board.zh-cn.md","Title":"New Loongson Development Board","Date":"2020-05-18","Important":false},{"Path":"2020-05-03-winter-cycle-complete.zh-cn.md","Title":"Winter Cycle Complete!","Date":"2020-05-03","Important":false},{"Path":"2020-05-03-suspending-stale-aosc-os-ports-and-initiating-retro.zh-cn.md","Title":"Suspending Stale AOSC OS Ports and Initiating the AOSC OS/Retro Project","Date":"2020-05-03","Important":true},{"Path":"2020-05-03-new-aarch64-build-server.zh-cn.md","Title":"New AArch64 Build Server!","Date":"2020-05-03","Important":false},{"Path":"2020-03-29-security-announcements-mailing-list-migration.zh-cn.md","Title":"Security Announcements Mailing List Migration","Date":"2020-03-29","Important":true},{"Path":"2020-02-22-this-week-in-aosc-os-development.zh-cn.md","Title":"This Week in AOSC OS Development","Date":"2020-02-22","Important":false},{"Path":"2020-02-20-updates-withdrawn-from-stable.zh-cn.md","Title":"Updates Withdrawn from the Stable Repository","Date":"2020-02-20","Important":true},{"Path":"2020-02-14-this-week-in-aosc-os-development.zh-cn.md","Title":"This Week in AOSC OS Development","Date":"2020-02-14","Important":false},{"Path":"2020-02-07-this-week-in-aosc-os-development.zh-cn.md","Title":"This Week in AOSC OS Development","Date":"2020-02-07","Important":false},{"Path":"2020-01-30-new-wave-of-updates-available.zh-cn.md","Title":"New Wave of Updates Available (Fall 2019)!","Date":"2020-01-30","Important":false},{"Path":"2019-08-05-aosc-os-stable-branch-dependency-issues.zh-cn.md","Title":"AOSC OS Stable Branch: Dependency Issues","Date":"2019-08-05","Important":true},{"Path":"2019-08-05-aosc-os-stable-branch-all-clear.zh-cn.md","Title":"AOSC OS Stable Branch: All Clear!","Date":"2019-08-05","Important":false},{"Path":"2019-07-31-aosc-community-repository-service-recovered.zh-cn.md","Title":"AOSC Community Repository: Service Recovered","Date":"2019-07-31","Important":false},{"Path":"2019-07-30-aosc-community-repository-unexpected-downtime.zh-cn.md","Title":"AOSC Community Repository: Unexpected Downtime","Date":"2019-07-30","Important":true},{"Path":"2019-07-07-weekly-community-report-issue-28-2019.zh-cn.md","Title":"Weekly Community Report: Issue 28, 2019","Date":"2019-07-07","Important":false},{"Path":"2019-07-07-unexpected-downtime-on-repository-server.zh-cn.md","Title":"Unexpected Downtime on Repository Server","Date":"2019-07-07","Important":true},{"Path":"2019-07-07-community-repository-all-systems-green.zh-cn.md","Title":"Community Repository: All Systems Green!","Date":"2019-07-07","Important":false},{"Path":"2019-04-29-weekly-community-report-issue-18-2019.zh-cn.md","Title":"Weekly Community Report: Issue 18, 2019","Date":"2019-04-29","Important":false},{"Path":"2019-04-22-weekly-community-report-issue-17-2019.zh-cn.md","Title":"Weekly Community Report: Issue 17, 2019","Date":"2019-04-22","Important":false},{"Path":"2019-04-08-weekly-community-report-issue-15-2019.zh-cn.md","Title":"Weekly Community Report: Issue 15, 2019","Date":"2019-04-08","Important":false},{"Path":"2019-04-03-happy-april.zh-cn.md","Title":"Happy April!","Date":"2019-04-03","Important":false},{"Path":"2019-04-01-proposal-solve-food-supply-crisis-by-initiation-of-the-idol-project.zh-cn.md","Title":"Proposal: Solve Food Supply Crisis by Initiation of the Idol Project","Date":"2019-04-01","Important":true},{"Path":"2019-04-01-april-update.zh-cn.md","Title":"April Update!","Date":"2019-04-01","Important":false},{"Path":"2019-03-18-new-mirror-at-cqu-lanunion.zh-cn.md","Title":"New Mirror at CQU-Lanunion!","Date":"2019-03-18","Important":false},{"Path":"2018-12-25-repository-migration.zh-cn.md","Title":"Repository Migration","Date":"2018-12-25","Important":true},{"Path":"2018-08-13-re-cap-aoscc-2018.zh-cn.md","Title":"Re-Cap: AOSCC 2018","Date":"2018-08-13","Important":false},{"Path":"2018-07-17-aoscc-2018.zh-cn.md","Title":"AOSCC 2018","Date":"2018-07-17","Important":false},{"Path":"2018-04-27-aosc-os-spring-wave-of-updates.zh-cn.md","Title":"AOSC OS Spring Wave of Updates!","Date":"2018-04-27","Important":false},{"Path":"2018-04-01-an-important-and-unfortunate-project-update.zh-cn.md","Title":"An Important (and Unfortunate) Project Update","Date":"2018-04-01","Important":true},{"Path":"2018-02-02-new-tarball-releases.zh-cn.md","Title":"New Tarball Releases!","Date":"2018-02-02","Important":false},{"Path":"2018-01-25-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md","Title":"Progress Report: AOSC OS, \"Meltdown\" and \"Spectre\"","Date":"2018-01-25","Important":true},{"Path":"2018-01-13-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md","Title":"Progress Report: AOSC OS, \"Meltdown\" and \"Spectre\"","Date":"2018-01-13","Important":true},{"Path":"2018-01-10-core-511-meltdown-and-spectre.zh-cn.md","Title":"Core 5.1.1, \"Meltdown\", and \"Spectre\"","Date":"2018-01-10","Important":true},{"Path":"2018-01-07-daily-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md","Title":"Daily Progress Report: AOSC OS, \"Meltdown\" and \"Spectre\"","Date":"2018-01-07","Important":true},{"Path":"2018-01-06-progress-report-aosc-os-meltdown-and-spectre.zh-cn.md","Title":"Progress Report: AOSC OS, \"Meltdown\" and \"Spectre\"","Date":"2018-01-06","Important":true},{"Path":"2018-01-05-aosc-os-end-of-2017-wave-of-updates.zh-cn.md","Title":"AOSC OS End-of-2017 Wave of Updates!","Date":"2018-01-05","Important":false},{"Path":"2017-12-01-today-marks-our-6th-year.zh-cn.md","Title":"Today... Marks Our 6th Year!","Date":"2017-12-01","Important":false},{"Path":"2017-11-03-october-wave-is-here.zh-cn.md","Title":"October Wave is Here!","Date":"2017-11-03","Important":false},{"Path":"2017-10-24-kudos-to-koddos.zh-cn.md","Title":"Kudos to KoDDoS!","Date":"2017-10-24","Important":false},{"Path":"2017-10-05-mailing-lists-temporarily-blocks-qqcom-posts.zh-cn.md","Title":"Mailing Lists Temporarily Blocks QQ.com Posts","Date":"2017-10-05","Important":true},{"Path":"2017-10-01-august-september-unified-wave-and-core-5.zh-cn.md","Title":"August-September Unified Wave and Core 5!","Date":"2017-10-01","Important":false},{"Path":"2017-09-24-goings-on-a-quick-mid-september-update.zh-cn.md","Title":"Goings On: A Quick Mid-September Update","Date":"2017-09-24","Important":false},{"Path":"2017-08-22-repository-server-is-up-and-stable.zh-cn.md","Title":"Repository Server is Up and Stable","Date":"2017-08-22","Important":false},{"Path":"2017-08-19-update-on-repository-downtime.zh-cn.md","Title":"Update on Repository Downtime","Date":"2017-08-19","Important":true},{"Path":"2017-08-18-expected-repository-downtime-in-12-hours.zh-cn.md","Title":"Expected Repository Downtime in ~12 Hours","Date":"2017-08-18","Important":true},{"Path":"2017-08-02-coming-up-in-august.zh-cn.md","Title":"Coming Up in August...","Date":"2017-08-02","Important":false},{"Path":"2017-08-01-july-wave-is-here.zh-cn.md","Title":"July Wave is Here!","Date":"2017-08-01","Important":false},{"Path":"2017-07-30-new-server-host.zh-cn.md","Title":"New Server Host!","Date":"2017-07-30","Important":false},{"Path":"2017-07-19-aoscc-2017-re-cap.zh-cn.md","Title":"AOSCC 2017: Re-cap","Date":"2017-07-19","Important":false},{"Path":"2017-07-13-its-happening.zh-cn.md","Title":"It's Happening...!","Date":"2017-07-13","Important":false},{"Path":"2017-07-11-aoscc-2017-schedule-sponsors-and-count-down.zh-cn.md","Title":"AOSCC 2017 Schedule, Sponsors, and Count Down!","Date":"2017-07-11","Important":false},{"Path":"2017-06-30-dev-updates-issue-3-new-update-pattern.zh-cn.md","Title":"Dev. Updates Issue #3: New Update Pattern!","Date":"2017-06-30","Important":false},{"Path":"2017-06-14-zh_cn-localization-guide-154.zh-cn.md","Title":"zh_CN Localization Guide 1.5.4","Date":"2017-06-14","Important":false},{"Path":"2017-06-14-aoscc-2017-now-up-for-sign-up.zh-cn.md","Title":"AOSCC 2017 Now Up for Sign Up!","Date":"2017-06-14","Important":false},{"Path":"2017-06-07-core-422-fin.zh-cn.md","Title":"Core 4.2.2: Fin.","Date":"2017-06-07","Important":false},{"Path":"2017-05-05-cinnamon-34-now-available.zh-cn.md","Title":"Cinnamon 3.4 Now Available!","Date":"2017-05-05","Important":false},{"Path":"2017-04-29-updates-to-our-community-infrastructure.zh-cn.md","Title":"Updates to Our Community Infrastructure!","Date":"2017-04-29","Important":false},{"Path":"2017-04-17-manual-input-needed-with-upcoming-iana-etc-update.zh-cn.md","Title":"Manual Input Needed with Upcoming iana-etc Update","Date":"2017-04-17","Important":true},{"Path":"2017-04-15-repository-de-dup-complete.zh-cn.md","Title":"Repository De-Dup Complete","Date":"2017-04-15","Important":false},{"Path":"2017-04-15-aarch64arm64-images-update-for-allwinner-devices.zh-cn.md","Title":"AArch64/ARM64 Images Update for Allwinner Devices","Date":"2017-04-15","Important":false},{"Path":"2017-04-10-firmware-package-split.zh-cn.md","Title":"Firmware Package Split","Date":"2017-04-10","Important":true},{"Path":"2017-04-09-repository-de-dup-to-take-place-next-week.zh-cn.md","Title":"Repository De-Dup to Take Place Next Week","Date":"2017-04-09","Important":false},{"Path":"2017-03-31-dev-updates-issue-21.zh-cn.md","Title":"Dev. Updates Issue #2.1","Date":"2017-03-31","Important":false},{"Path":"2017-03-29-gnome-324-is-now-available.zh-cn.md","Title":"GNOME 3.24 is Now Available!","Date":"2017-03-29","Important":false},{"Path":"2017-03-29-dev-updates-issue-2-2017.zh-cn.md","Title":"Dev. Updates (Issue #2, 2017)","Date":"2017-03-29","Important":false},{"Path":"2017-03-05-new-package-additions-mar-5th-2017.zh-cn.md","Title":"New package additions: Mar 5th, 2017","Date":"2017-03-05","Important":false},{"Path":"2017-03-04-spring-distribution-updates.zh-cn.md","Title":"Spring Distribution Updates!","Date":"2017-03-04","Important":false},{"Path":"2017-02-14-repository-key-expiration.zh-cn.md","Title":"Repository key expiration!","Date":"2017-02-14","Important":true},{"Path":"2017-02-08-core-42-is-here.zh-cn.md","Title":"Core 4.2 is here!","Date":"2017-02-08","Important":false},{"Path":"2017-02-06-new-package-additions-feb-6-2017.zh-cn.md","Title":"New package additions: Feb. 6, 2017","Date":"2017-02-06","Important":false},{"Path":"2017-02-06-dev-updates-issue-1-2017.zh-cn.md","Title":"Dev. Updates (Issue #1, 2017)","Date":"2017-02-06","Important":false},{"Path":"2017-01-26-new-package-additions-jan-25-2017.zh-cn.md","Title":"New package additions: Jan. 25, 2017","Date":"2017-01-26","Important":false},{"Path":"2017-01-07-on-aosc-os-ports.zh-cn.md","Title":"On AOSC OS Ports...","Date":"2017-01-07","Important":false},{"Path":"2017-01-01-update-on-wine-and-x86-support-for-arm-devices.zh-cn.md","Title":"Update on Wine and x86 Support for ARM Devices","Date":"2017-01-01","Important":false},{"Path":"2017-01-01-acbs-is-ready-to-roll.zh-cn.md","Title":"ACBS is Ready to Roll","Date":"2017-01-01","Important":false},{"Path":"2016-12-31-new-package-additions-dec-31-2016.zh-cn.md","Title":"New package additions: Dec. 31, 2016","Date":"2016-12-31","Important":false},{"Path":"2016-12-31-happy-early-new-year.zh-cn.md","Title":"Happy (Early) New Year!","Date":"2016-12-31","Important":false},{"Path":"2016-12-16-new-package-additions-dec-16th-2016.zh-cn.md","Title":"New package additions: Dec 16th, 2016","Date":"2016-12-16","Important":false},{"Path":"2016-12-13-updates-to-allwinner-images.zh-cn.md","Title":"Updates to Allwinner Images","Date":"2016-12-13","Important":false},{"Path":"2016-12-08-winter-distribution-updates-and-looking-ahead.zh-cn.md","Title":"Winter Distribution Updates (and Looking Ahead)!","Date":"2016-12-08","Important":false},{"Path":"2016-12-07-raspberry-pi-images-available.zh-cn.md","Title":"Raspberry Pi images available!","Date":"2016-12-07","Important":false},{"Path":"2016-12-07-allwinner-images-available.zh-cn.md","Title":"Allwinner images available!","Date":"2016-12-07","Important":false},{"Path":"2016-12-03-aosc-os-repository-mirror-at-ustc-is-down.zh-cn.md","Title":"AOSC OS Repository Mirror at USTC is Down","Date":"2016-12-03","Important":true},{"Path":"2016-12-01-happy-birthday-aosc-for-the-fifth-time.zh-cn.md","Title":"Happy Birthday, AOSC (for the fifth time)!","Date":"2016-12-01","Important":false},{"Path":"2016-12-01-core-41-is-here.zh-cn.md","Title":"Core 4.1 is here!","Date":"2016-12-01","Important":false},{"Path":"2016-11-20-package-update-advisory-nov-20-2016.zh-cn.md","Title":"Package Update Advisory: Nov. 20, 2016","Date":"2016-11-20","Important":true},{"Path":"2016-11-18-trinity-desktop-environment-now-available.zh-cn.md","Title":"Trinity Desktop Environment Now Available!","Date":"2016-11-18","Important":false},{"Path":"2016-11-18-new-package-additions-nov-18-2016.zh-cn.md","Title":"New package additions: Nov. 18, 2016","Date":"2016-11-18","Important":false},{"Path":"2016-11-14-package-update-advisory-nov-14-2016.zh-cn.md","Title":"Package Update Advisory: Nov. 14, 2016","Date":"2016-11-14","Important":true},{"Path":"2016-11-14-new-package-additions-nov-14-2016.zh-cn.md","Title":"New package additions: Nov. 14, 2016","Date":"2016-11-14","Important":false},{"Path":"2016-11-04-new-package-additions-nov-5-2016.zh-cn.md","Title":"New package additions: Nov. 5, 2016","Date":"2016-11-04","Important":false},{"Path":"2016-10-29-notes-on-flash-player-support.zh-cn.md","Title":"Notes on Flash Player Support","Date":"2016-10-29","Important":false},{"Path":"2016-10-29-new-package-additions-oct-29-2016.zh-cn.md","Title":"New package additions: Oct. 29, 2016","Date":"2016-10-29","Important":false},{"Path":"2016-10-21-system-release-update-oct-21st-2016.zh-cn.md","Title":"System Release Update - Oct. 21st, 2016","Date":"2016-10-21","Important":false},{"Path":"2016-10-18-new-package-additions-oct-18-2016.zh-cn.md","Title":"New package additions: Oct. 18, 2016","Date":"2016-10-18","Important":false},{"Path":"2016-10-12-xfce-packages-rebuilt-and-refined.zh-cn.md","Title":"Xfce Packages Rebuilt and Refined","Date":"2016-10-12","Important":false},{"Path":"2016-10-11-new-package-additions-oct-11-2016.zh-cn.md","Title":"New package additions: Oct. 11, 2016","Date":"2016-10-11","Important":false},{"Path":"2016-10-08-plasma-58-now-available.zh-cn.md","Title":"Plasma 5.8 Now Available!","Date":"2016-10-08","Important":false},{"Path":"2016-10-03-a-new-mirror-at-lzuoss.zh-cn.md","Title":"A New Mirror: At LZUOSS","Date":"2016-10-03","Important":false},{"Path":"2016-10-02-security-advisory-numbering.zh-cn.md","Title":"Security Advisory Numbering","Date":"2016-10-02","Important":false},{"Path":"2016-10-02-new-package-additions-oct-3-2016.zh-cn.md","Title":"New package additions: Oct. 3, 2016","Date":"2016-10-02","Important":false},{"Path":"2016-10-02-aosc-os-repository-at-ustc-is-back-online.zh-cn.md","Title":"AOSC OS Repository at USTC is Back Online","Date":"2016-10-02","Important":false},{"Path":"2016-09-30-zh_cn-l10n-guide-153-released.zh-cn.md","Title":"zh_CN L10n Guide 1.5.3 Released","Date":"2016-09-30","Important":false},{"Path":"2016-09-29-updates-to-the-repository-server.zh-cn.md","Title":"Updates to the Repository Server","Date":"2016-09-29","Important":false},{"Path":"2016-09-29-termination-of-rpm-package-releases.zh-cn.md","Title":"Termination of RPM Package Releases","Date":"2016-09-29","Important":true},{"Path":"2016-09-29-aoscs-google-page-is-here.zh-cn.md","Title":"AOSC's Google+ Page is here!","Date":"2016-09-29","Important":false},{"Path":"2016-09-29-aosc-os-abbs-repository-snapshots-migrated-to-git-bundles.zh-cn.md","Title":"\"aosc-os-abbs\" Repository Snapshots Migrated to Git bundles","Date":"2016-09-29","Important":false},{"Path":"2016-09-27-fixes-now-available-for-gnome-shell-322.zh-cn.md","Title":"Fixes Now Available for GNOME Shell 3.22","Date":"2016-09-27","Important":true},{"Path":"2016-09-27-aosc-os-base-and-buildkit-tarball-updates.zh-cn.md","Title":"AOSC OS Base and BuildKit Tarball Updates","Date":"2016-09-27","Important":false},{"Path":"2016-09-26-mate-1160-packages-rebuilt.zh-cn.md","Title":"MATE 1.16.0 Packages Rebuilt","Date":"2016-09-26","Important":true},{"Path":"2016-09-26-autobuild3-documentation-updated-for-core-40.zh-cn.md","Title":"Autobuild3 Documentation Updated for Core 4.0+","Date":"2016-09-26","Important":false},{"Path":"2016-09-25-gnome-322-now-available.zh-cn.md","Title":"GNOME 3.22 Now Available","Date":"2016-09-25","Important":false},{"Path":"2016-09-25-desktop-base-and-simplified-desktop-installation.zh-cn.md","Title":"\"desktop-base\" and Simplified Desktop Installation","Date":"2016-09-25","Important":false},{"Path":"2016-09-24-mate-116-now-available.zh-cn.md","Title":"MATE 1.16 Now Available","Date":"2016-09-24","Important":false},{"Path":"2016-09-24-core-401-released.zh-cn.md","Title":"Core 4.0.1 Released","Date":"2016-09-24","Important":false},{"Path":"2016-09-20-enlightenment-updated-to-021-series-e21.zh-cn.md","Title":"Enlightenment updated to 0.21 series (E21)","Date":"2016-09-20","Important":false},{"Path":"2016-09-20-aosc-os-repository-mirror-at-ustc-is-down.zh-cn.md","Title":"AOSC OS Repository Mirror at USTC is Down","Date":"2016-09-20","Important":true},{"Path":"2016-09-19-pre-built-aosc-os-wallpapers-now-available.zh-cn.md","Title":"Pre-built AOSC OS Wallpapers now available","Date":"2016-09-19","Important":false},{"Path":"2016-09-19-new-package-additions-sept-19-2016.zh-cn.md","Title":"New package additions: Sept. 19, 2016","Date":"2016-09-19","Important":false},{"Path":"2016-09-18-welcome-to-aosc-portal.zh-cn.md","Title":"Welcome to AOSC Portal","Date":"2016-09-18","Important":false},{"Path":"2016-09-18-aosc-oss-default-wallpapers.zh-cn.md","Title":"AOSC OS's Default Wallpapers","Date":"2016-09-18","Important":false},{"Path":"2016-09-18-aosc-os-core-4-is-green.zh-cn.md","Title":"AOSC OS Core 4 is Green!","Date":"2016-09-18","Important":false},{"Path":"2016-09-18-a-re-cap-our-3rd-aoscc.zh-cn.md","Title":"A Re-cap: Our 3rd AOSCC","Date":"2016-09-18","Important":false}] \ No newline at end of file diff --git a/public/newsCategories/zh-cn.json b/public/newsCategories/zh-cn.json new file mode 100644 index 00000000..a6ab24ad --- /dev/null +++ b/public/newsCategories/zh-cn.json @@ -0,0 +1 @@ +{"advisories":[{"Path":"2024-09-18-aosc-os-relnote.zh-cn.md","Title":"安同 OS 九月发行更新发布","Date":"2024-09-18","Important":true},{"Path":"2024-09-16-oma-1.10.zh-cn.md","Title":"小熊猫包管理 oma 1.10 版发布","Date":"2024-09-16","Important":true},{"Path":"2024-09-15-oma-1.10-rc1.zh-cn.md","Title":"小熊猫包管理 (oma) v1.10.0-rc1 版测试公告","Date":"2024-09-15","Important":true},{"Path":"2024-09-13-aosc-os-installer-ssh-keys.zh-cn.md","Title":"安同 OS 离线安装盘意外安装预制 SSH 主机密钥","Date":"2024-09-13","Important":true},{"Path":"2024-09-06-oma-1.9.zh-cn.md","Title":"小熊猫包管理 oma 1.9 版发布啦!","Date":"2024-09-06","Important":true},{"Path":"2024-08-28-oma-1.8.zh-cn.md","Title":"小熊猫包管理 oma 1.8 版发布","Date":"2024-08-28","Important":true},{"Path":"2024-08-24-oma-1.7.zh-cn.md","Title":"小熊猫包管理 oma 1.7 版发布","Date":"2024-08-15","Important":true},{"Path":"2024-08-20-gstreamer-break.zh-cn.md","Title":"GStreamer 更新可能无法正常完成","Date":"2024-08-20","Important":true},{"Path":"2024-08-15-oma-1.5.2.zh-cn.md","Title":"小熊猫包管理 (oma) v1.5.2 更新日志","Date":"2024-08-15","Important":true},{"Path":"2024-08-15-aosc-os-for-loongarch-old-world.zh-cn.md","Title":"安同 OS 龙架构“旧世界”设备兼容方案正式发布","Date":"2024-08-15","Important":true}],"home":[{"Path":"2024-09-19-coffee-break.zh-cn.md","Title":"安记冰室・九月上","Date":"2024-09-19","Important":false},{"Path":"2024-09-18-aosc-os-relnote.zh-cn.md","Title":"安同 OS 九月发行更新发布","Date":"2024-09-18","Important":true},{"Path":"2024-09-16-oma-1.10.zh-cn.md","Title":"小熊猫包管理 oma 1.10 版发布","Date":"2024-09-16","Important":true},{"Path":"2024-09-13-aosc-os-installer-ssh-keys.zh-cn.md","Title":"安同 OS 离线安装盘意外安装预制 SSH 主机密钥","Date":"2024-09-13","Important":true},{"Path":"2024-08-15-back-to-repology.zh-cn.md","Title":"安同 OS 重返系统软件包版本监测网站 Repology","Date":"2024-08-15","Important":true},{"Path":"2024-08-15-aosc-os-for-loongarch-old-world.zh-cn.md","Title":"安同 OS 龙架构“旧世界”设备兼容方案正式发布","Date":"2024-08-15","Important":true},{"Path":"2024-08-12-aosc-os-abbs-100000-commits.zh-cn.md","Title":"安同 OS 软件包树 (aosc-os-abbs) 喜迎第十万个提交!","Date":"2024-08-12","Important":true},{"Path":"2024-07-29-mips-r6-closing-time.zh-cn.md","Title":"紫华不再:安同 OS MIPS64 Release 6 移植停止维护","Date":"2024-07-29","Important":true},{"Path":"2024-06-28-ospp-2024-work-start.zh-cn.md","Title":"社区“开源之夏”项目正式启航","Date":"2024-06-28","Important":true}],"journals":[{"Path":"2024-09-19-coffee-break.zh-cn.md","Title":"安记冰室・九月上","Date":"2024-09-19","Important":false},{"Path":"2024-08-28-coffee-break-schedule.zh-cn.md","Title":"《安记冰室》八月下号休刊公告","Date":"2024-08-28","Important":false},{"Path":"2024-08-20-coffee-break.zh-cn.md","Title":"安记冰室・八月上 | 一周年特辑","Date":"2024-08-20","Important":false},{"Path":"2024-08-04-coffee-break.zh-cn.md","Title":"安记冰室・七月下","Date":"2024-08-04","Important":false},{"Path":"2024-07-18-coffee-break-schedule.zh-cn.md","Title":"《安记冰室》七月发刊计划","Date":"2024-07-18","Important":false},{"Path":"2024-06-24-coffee-break.zh-cn.md","Title":"安记冰室・六月下","Date":"2024-06-24","Important":false},{"Path":"2024-06-09-coffee-break.zh-cn.md","Title":"安记冰室・六月上","Date":"2024-06-09","Important":false},{"Path":"2024-05-26-coffee-break.zh-cn.md","Title":"安记冰室・五月下","Date":"2024-05-26","Important":false},{"Path":"2024-05-12-coffee-break.zh-cn.md","Title":"安记冰室・五月上","Date":"2024-05-12","Important":false},{"Path":"2024-04-27-coffee-break.zh-cn.md","Title":"安记冰室・四月下","Date":"2024-04-27","Important":false}],"minutes":[{"Path":"2024-08-28-aoscc-2024-survey.zh-cn.md","Title":"AOSCC 2024 会务满意度调查","Date":"2024-08-28","Important":true},{"Path":"2024-06-10-ospp-2024-exam-meeting.zh-cn.md","Title":"例会:开源之夏(OSPP) 2024 社区实习项目考核结果讨论","Date":"2024-05-27","Important":false},{"Path":"2024-06-02-packages-site-meeting-minutes.zh-cn.md","Title":"会议纪要:软件包信息站与 p-vector-rs 更改审阅","Date":"2024-06-01","Important":false},{"Path":"2024-06-02-aoscc-2024-working-group-meeting-minutes.zh-cn.md","Title":"会议纪要:AOSCC 2024 工作组例会","Date":"2024-06-02","Important":false},{"Path":"2024-06-01-packages-site-meeting-notice.zh-cn.md","Title":"例会预告:软件包信息站与 p-vector-rs 更改审阅","Date":"2024-06-01","Important":false},{"Path":"2024-06-01-aoscc-2024-working-group-meeting.zh-cn.md","Title":"预告:AOSCC 2024 工作组例会","Date":"2024-06-01","Important":false},{"Path":"2024-05-27-ospp-2024-planning-meeting.zh-cn.md","Title":"例会预告:OSPP 2024 审核筹备","Date":"2024-05-27","Important":false},{"Path":"2024-05-04-aoscc-2024-working-group-minutes.zh-cn.md","Title":"纪要:AOSCC 2024 工作组例会(5 月 4 日)","Date":"2024-05-04","Important":false},{"Path":"2024-05-03-aoscc-2024-working-group-meeting.zh-cn.md","Title":"预告:AOSCC 2024 工作组例会","Date":"2024-05-03","Important":false},{"Path":"2024-05-01-aoscc-2024-poll-review.zh-cn.md","Title":"紧张刺激:AOSCC 2024 投票结果","Date":"2024-05-01","Important":false}],"news":[{"Path":"2024-08-15-back-to-repology.zh-cn.md","Title":"安同 OS 重返系统软件包版本监测网站 Repology","Date":"2024-08-15","Important":true},{"Path":"2024-08-15-aosc-os-for-loongarch-old-world.zh-cn.md","Title":"安同 OS 龙架构“旧世界”设备兼容方案正式发布","Date":"2024-08-15","Important":true},{"Path":"2024-08-12-aosc-os-abbs-100000-commits.zh-cn.md","Title":"安同 OS 软件包树 (aosc-os-abbs) 喜迎第十万个提交!","Date":"2024-08-12","Important":true},{"Path":"2024-07-29-mips-r6-closing-time.zh-cn.md","Title":"紫华不再:安同 OS MIPS64 Release 6 移植停止维护","Date":"2024-07-29","Important":true},{"Path":"2024-07-22-loongarch-oldworld-boot-support.zh-cn.md","Title":"世界线“合龙”:龙架构旧世界固件启动新世界系统已成现实!","Date":"2024-07-22","Important":true},{"Path":"2024-07-21-new-loongson-mips-build-server.zh-cn.md","Title":"MIPS 龙芯新构建服务器上线!","Date":"2024-07-21","Important":false},{"Path":"2024-07-18-aoscc-2024-call-for-photos.zh-cn.md","Title":"AOSCC 2024 会场照片征集","Date":"2024-07-18","Important":false},{"Path":"2024-07-16-mesa-llvmpipe-orcjit-and-risc-v-support-merged.zh-cn.md","Title":"Mesa 上游合并 llvmpipe OrcJIT 及 RISC-V 支持","Date":"2024-07-16","Important":true},{"Path":"2024-07-12-aoscc-2024-arrival-tips.zh-cn.md","Title":"AOSCC 到达和签到小贴士","Date":"2024-07-12","Important":false},{"Path":"2024-07-11-aoscc-2024-power-failure.zh-cn.md","Title":"AOSCC 临时日程调整","Date":"2024-07-11","Important":false}]} \ No newline at end of file diff --git a/public/oma/oma.png b/public/oma/oma.png new file mode 100644 index 0000000000000000000000000000000000000000..a1aac62bc312b426048c80f23ec18804fc844c00 GIT binary patch literal 219722 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%0A;kbVji%Jwq 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 KY=iWdZ~p@nRbtox literal 0 HcmV?d00001 diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1 @@ + diff --git a/public/sponsors/apernet.png b/public/sponsors/apernet.png new file mode 100644 index 0000000000000000000000000000000000000000..022b0e8aab3b63582872ce5bf4b9f9ba3611f520 GIT binary patch literal 47683 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 literal 0 HcmV?d00001 diff --git a/public/sponsors/apernet.svg b/public/sponsors/apernet.svg new file mode 100644 index 00000000..a073e673 --- /dev/null +++ b/public/sponsors/apernet.svg @@ -0,0 +1,44 @@ + + + + diff --git a/public/sponsors/bfsu.svg b/public/sponsors/bfsu.svg new file mode 100644 index 00000000..2bf438bf --- /dev/null +++ b/public/sponsors/bfsu.svg @@ -0,0 +1,67 @@ + + + + diff --git a/public/sponsors/bpi.svg b/public/sponsors/bpi.svg new file mode 100644 index 00000000..de0a584d --- /dev/null +++ b/public/sponsors/bpi.svg @@ -0,0 +1,57 @@ + + + + diff --git a/public/sponsors/cods.svg b/public/sponsors/cods.svg new file mode 100644 index 00000000..214e432f --- /dev/null +++ b/public/sponsors/cods.svg @@ -0,0 +1,57 @@ + + + + diff --git a/public/sponsors/cqu-lanunion.svg b/public/sponsors/cqu-lanunion.svg new file mode 100644 index 00000000..e7f7ca7b --- /dev/null +++ b/public/sponsors/cqu-lanunion.svg @@ -0,0 +1,1418 @@ + + + +CHONGQINGUNIVERSITYCHONGQING UNIVERSITY diff --git a/public/sponsors/cqupt-lug.svg b/public/sponsors/cqupt-lug.svg new file mode 100755 index 00000000..e784ed0e --- /dev/null +++ b/public/sponsors/cqupt-lug.svg @@ -0,0 +1,46 @@ + + + + diff --git a/public/sponsors/crossover.svg b/public/sponsors/crossover.svg new file mode 100644 index 00000000..1ee1eea5 --- /dev/null +++ b/public/sponsors/crossover.svg @@ -0,0 +1,57 @@ + + + + diff --git a/public/sponsors/fastly.svg b/public/sponsors/fastly.svg new file mode 100644 index 00000000..e8e089ad --- /dev/null +++ b/public/sponsors/fastly.svg @@ -0,0 +1,54 @@ + + + + diff --git a/public/sponsors/fuslvz.svg b/public/sponsors/fuslvz.svg new file mode 100644 index 00000000..f09b1e3a --- /dev/null +++ b/public/sponsors/fuslvz.svg @@ -0,0 +1,203 @@ + + + + _____ _ _ _ _____ _|_ _| |__ (_)___ (_)___ | ___| _ ___| | | | | '_ \| / __| | / __| | |_ | | | / __| | | | | | | | \__ \ | \__ \ | _|| |_| \__ \ | |_| |_| |_|_|___/ |_|___/ |_| \__,_|___/_| diff --git a/public/sponsors/geekpie.svg b/public/sponsors/geekpie.svg new file mode 100644 index 00000000..853c9603 --- /dev/null +++ b/public/sponsors/geekpie.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/sponsors/globalsign.png b/public/sponsors/globalsign.png new file mode 100644 index 0000000000000000000000000000000000000000..b219e5281213e53e1453d662ada10be245866193 GIT binary patch literal 108426 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 literal 0 HcmV?d00001 diff --git a/public/sponsors/globalsign.svg b/public/sponsors/globalsign.svg new file mode 100644 index 00000000..d49a6e55 --- /dev/null +++ b/public/sponsors/globalsign.svg @@ -0,0 +1,701 @@ + + + + diff --git a/public/sponsors/hexhu.svg b/public/sponsors/hexhu.svg new file mode 100644 index 00000000..d0db2c5a --- /dev/null +++ b/public/sponsors/hexhu.svg @@ -0,0 +1,57 @@ + + + + diff --git a/public/sponsors/hit-lug.svg b/public/sponsors/hit-lug.svg new file mode 100644 index 00000000..60350298 --- /dev/null +++ b/public/sponsors/hit-lug.svg @@ -0,0 +1,69 @@ + + + + diff --git a/public/sponsors/jetbrains.svg b/public/sponsors/jetbrains.svg new file mode 100644 index 00000000..d6980728 --- /dev/null +++ b/public/sponsors/jetbrains.svg @@ -0,0 +1,189 @@ + + + + diff --git a/public/sponsors/jlu-lug.svg b/public/sponsors/jlu-lug.svg new file mode 100644 index 00000000..5a77ae2a --- /dev/null +++ b/public/sponsors/jlu-lug.svg @@ -0,0 +1,140 @@ + + + + diff --git a/public/sponsors/koddos.svg b/public/sponsors/koddos.svg new file mode 100644 index 00000000..e7928fb9 --- /dev/null +++ b/public/sponsors/koddos.svg @@ -0,0 +1,57 @@ + + + + diff --git a/public/sponsors/loongson.svg b/public/sponsors/loongson.svg new file mode 100644 index 00000000..5e57ecca --- /dev/null +++ b/public/sponsors/loongson.svg @@ -0,0 +1,189 @@ + + + + diff --git a/public/sponsors/lug-ustc.svg b/public/sponsors/lug-ustc.svg new file mode 100644 index 00000000..28cc3212 --- /dev/null +++ b/public/sponsors/lug-ustc.svg @@ -0,0 +1,81 @@ + + + + diff --git a/public/sponsors/lzuoss.svg b/public/sponsors/lzuoss.svg new file mode 100644 index 00000000..f8389321 --- /dev/null +++ b/public/sponsors/lzuoss.svg @@ -0,0 +1,57 @@ + + + + diff --git a/public/sponsors/microsoft.svg b/public/sponsors/microsoft.svg new file mode 100644 index 00000000..a4cb0dda --- /dev/null +++ b/public/sponsors/microsoft.svg @@ -0,0 +1,75 @@ + + + + diff --git a/public/sponsors/nju-lug.svg b/public/sponsors/nju-lug.svg new file mode 100644 index 00000000..6aa5bacc --- /dev/null +++ b/public/sponsors/nju-lug.svg @@ -0,0 +1,69 @@ + + + + + + NANJING UNIVERSITY + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/sponsors/nluug.svg b/public/sponsors/nluug.svg new file mode 100644 index 00000000..8e66ffc5 --- /dev/null +++ b/public/sponsors/nluug.svg @@ -0,0 +1,124 @@ + + + + diff --git a/public/sponsors/nyist-cips.svg b/public/sponsors/nyist-cips.svg new file mode 100644 index 00000000..0e68b20a --- /dev/null +++ b/public/sponsors/nyist-cips.svg @@ -0,0 +1,59 @@ + + + + diff --git a/public/sponsors/ossplanet.svg b/public/sponsors/ossplanet.svg new file mode 100644 index 00000000..1f59bcc3 --- /dev/null +++ b/public/sponsors/ossplanet.svg @@ -0,0 +1,59 @@ + + + +OSS Planet diff --git a/public/sponsors/pine64.svg b/public/sponsors/pine64.svg new file mode 100755 index 00000000..c47981af --- /dev/null +++ b/public/sponsors/pine64.svg @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/sponsors/plct.svg b/public/sponsors/plct.svg new file mode 100644 index 00000000..4a238a08 --- /dev/null +++ b/public/sponsors/plct.svg @@ -0,0 +1,169 @@ + + + +PLCT diff --git a/public/sponsors/qingcloud.svg b/public/sponsors/qingcloud.svg new file mode 100644 index 00000000..31b0552a --- /dev/null +++ b/public/sponsors/qingcloud.svg @@ -0,0 +1,95 @@ + + + + diff --git a/public/sponsors/qvq.svg b/public/sponsors/qvq.svg new file mode 100644 index 00000000..db852707 --- /dev/null +++ b/public/sponsors/qvq.svg @@ -0,0 +1,133 @@ + + + + diff --git a/public/sponsors/sb-blog.svg b/public/sponsors/sb-blog.svg new file mode 100644 index 00000000..06eaf65f --- /dev/null +++ b/public/sponsors/sb-blog.svg @@ -0,0 +1,59 @@ + + + +烧饼博客 diff --git a/public/sponsors/sdu.svg b/public/sponsors/sdu.svg new file mode 100644 index 00000000..ce884cfd --- /dev/null +++ b/public/sponsors/sdu.svg @@ -0,0 +1,87 @@ + + + + diff --git a/public/sponsors/shuosc.svg b/public/sponsors/shuosc.svg new file mode 100644 index 00000000..2bdc42bc --- /dev/null +++ b/public/sponsors/shuosc.svg @@ -0,0 +1,344 @@ + + + + diff --git a/public/sponsors/sjtug.svg b/public/sponsors/sjtug.svg new file mode 100644 index 00000000..0ea651ed --- /dev/null +++ b/public/sponsors/sjtug.svg @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/sponsors/tencent-cloud.svg b/public/sponsors/tencent-cloud.svg new file mode 100644 index 00000000..140c7825 --- /dev/null +++ b/public/sponsors/tencent-cloud.svg @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/sponsors/tuna.svg b/public/sponsors/tuna.svg new file mode 100644 index 00000000..323c3cd1 --- /dev/null +++ b/public/sponsors/tuna.svg @@ -0,0 +1,256 @@ + + + +Tsinghua University TUNA Association diff --git a/public/sponsors/uestclug.svg b/public/sponsors/uestclug.svg new file mode 100644 index 00000000..19962f66 --- /dev/null +++ b/public/sponsors/uestclug.svg @@ -0,0 +1,57 @@ + + + + diff --git a/public/sponsors/xtom.svg b/public/sponsors/xtom.svg new file mode 100644 index 00000000..2fa0ce4a --- /dev/null +++ b/public/sponsors/xtom.svg @@ -0,0 +1,60 @@ + + + + diff --git a/server/tsconfig.json b/server/tsconfig.json new file mode 100644 index 00000000..b9ed69c1 --- /dev/null +++ b/server/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../.nuxt/tsconfig.server.json" +} diff --git a/stores/store.js b/stores/store.js new file mode 100644 index 00000000..504eae71 --- /dev/null +++ b/stores/store.js @@ -0,0 +1,71 @@ +export const useHighBrightnessControllerStore = defineStore( + 'highBrightnessController', + { + state: () => ({ obj: {} }) + } +); + +const themeList = { + springDrak: { + primary: '#517a47', + secondary: '#779f68' + }, + springNight: { + primary: '#718c71', + secondary: '#7f9e7f', + backageImg:'spring.svg' + }, + summerDrak: { + primary: '#346c75', + secondary: '#6699a1' + }, + summerNight: { + primary: '#577c8a', + secondary: '#6a8a96', + backageImg:'summer.svg' + }, + autumnDrak: { + primary: '#422c24', + secondary: '#5c4b41' + }, + autumnNight: { + primary: '#a59571', + secondary: '#b4a582', + backageImg:'autumn.svg' + }, + winterDrak: { + primary: '#003049', + secondary: '#5c4b41' + }, + winterNight: { + primary: '#757791', + secondary: '#80829b', + backageImg:'winter.svg' + } +}; + +export const useThemeStore = defineStore('themeStore', { + state: () => { + const now = new Date(); + const month = now.getMonth() + 1; + if (month >= 1 && month <= 3) { + return themeList['springNight']; + } else if (month >= 4 && month <= 6) { + return themeList['summerNight']; + } else if (month >= 7 && month <= 9) { + return themeList['autumnNight']; + } else if (month >= 10 && month <= 12) { + return themeList['winterNight']; + } + }, + actions: { + set(solarTerms, time) { + const newColor = + themeList[solarTerms + time.charAt(0).toUpperCase() + time.slice(1)]; + console.log(newColor); + this.primary = newColor.primary; + this.secondary = newColor.secondary; + } + }, + persist: true +}); diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 00000000..d8a2a5fe --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,31 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: [ + './components/**/*.{js,vue,ts}', + './layouts/**/*.vue', + './pages/**/*.vue', + './plugins/**/*.{js,ts}', + './app.vue', + './error.vue' + ], + theme: { + extend: {}, + colors: { + 'leftbar-bg': '#ececec', + 'rightbar-bg': '#fcfcfc', + 'content-main-bg': '#fcfcfc', + white: '#fff', + link: '#0056cc', + gray: '#333', + black: '#000' + }, + fontSize: { + xl: '1.5rem', + '2xl': '1.8rem', + '3xl': '2rem', + '4xl': '2.5rem', + '5xl': '3rem' + } + }, + plugins: [] +}; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..a746f2a7 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,4 @@ +{ + // https://nuxt.com/docs/guide/concepts/typescript + "extends": "./.nuxt/tsconfig.json" +} diff --git a/utils/animation.ts b/utils/animation.ts new file mode 100644 index 00000000..a02340e8 --- /dev/null +++ b/utils/animation.ts @@ -0,0 +1,20 @@ +// 如何给页面添加一个可重复的高亮动画 +// watch( +// () => +// highBrightnessControllerStore.obj[route.path], +// () => { +// switch (route.hash) { +// } +// }, +// { +// flush: 'post' +// } +// ); + +export const highlightElement = (dom: Ref) => { + if (isRef(dom)) { + dom.value.animate({ opacity: [1, 0.3, 1] }, 1500); + } +}; + +export default highlightElement; diff --git a/utils/utils.js b/utils/utils.js new file mode 100644 index 00000000..c58a8ae6 --- /dev/null +++ b/utils/utils.js @@ -0,0 +1,163 @@ +import axios from 'axios'; +import { ElMessage } from 'element-plus'; +import yaml from 'js-yaml'; + +export function getImgUrl(url) { + return new URL(`${url}`, import.meta.url).href; +} + +export function toOutUrl(url) { + window.open(url); +} + +export const title = '安同开源社区 (AOSC)'; + +export function setTitle(titlePre) { + document.title = titlePre + ' | ' + title; +} + +export const requestGetJson = (() => { + let keys = {}; + let promise = {}; + return (url, params, key) => { + if (!key) { + key = url; + } + if (!keys[key]) { + keys[key] = true; + promise[key] = axios({ + url, + method: 'get', + params, + timeout: 10000 + }) + .then((resolve) => { + return [resolve, null]; + }) + .catch((error) => { + switch (error.status) { + case 500: + ElMessage.error('服务器内部错误'); + break; + } + return [null, error]; + }) + .finally(() => { + keys[key] = false; + }); + return promise[key]; + } else { + return promise[key]; + } + }; +})(); + +export const requestPostJson = (() => { + let keys = {}; + let promise = {}; + return (url, data, params, key) => { + if (!key) { + key = url; + } + if (!keys[key]) { + keys[key] = true; + promise[key] = axios({ + url, + method: 'post', + data, + params, + timeout: 5000 + }) + .then((resolve) => { + return [resolve, null]; + }) + .catch((error) => { + switch (error.status) { + case 500: + ElMessage.error('服务器内部错误'); + } + return [null, error]; + }) + .finally(() => { + keys[key] = false; + }); + return promise[key]; + } else { + return promise[key]; + } + }; +})(); + +export const requestToYaml = (res) => { + // 将头信息和内容分开,头信息为yml格式 + let mdContent = res.data.substring(4); + let i = mdContent.indexOf('---'); + let ymlContent = mdContent.substring(0, i); + return [mdContent.substring(i), yaml.load(ymlContent)]; +}; + +export const setBackgroundColor = (color) => { + return 'bg-[' + color + ']'; +}; + +export const BToMB = (byteSize, fixed = 3) => { + return (byteSize / 1024 / 1024).toFixed(fixed); +}; + +export const deObserver = (observers) => { + if (Array.isArray(observers)) { + observers.forEach((observer) => { + observer.disconnect(); + }); + } else if (observers) { + observers.disconnect(); + } +}; + +export const imgPreOccupiedSpace = ( + anchorImg, + imgHeight, + proportion, + fixedHeight +) => { + const observer = new ResizeObserver(() => { + imgHeight.value = fixedHeight + ? fixedHeight + : (anchorImg.value.clientWidth / proportion).toFixed(2) + 'px'; + }); + observer.observe(anchorImg.value); + return observer; +}; + +export const onImgLoad = (observers, imgHeight) => { + deObserver(toValue(observers)); + imgHeight.value = 'auto'; +}; + +export const useSeizeSeat = (refName, proportion, imgHeights, fixedHeight) => { + const newHeights = ref(0); + if (imgHeights !== undefined) { + imgHeights.value.push(newHeights); + } else { + imgHeights = shallowRef([newHeights]); + } + const img = useTemplateRef(refName); + + // 此处异步执行,如果不使用ref包裹返回的observer为null + let observer = ref(); + + onMounted(() => { + observer.value = imgPreOccupiedSpace( + img, + newHeights, + proportion, + fixedHeight + ); + }); + + onUnmounted(() => { + // 在组件销毁前取消观察 + deObserver(observer.value); + }); + return [observer, imgHeights]; +}; From 81228c4c13dd544ed5a807849398470067e02809 Mon Sep 17 00:00:00 2001 From: hrh Date: Sat, 12 Oct 2024 18:53:51 +0800 Subject: [PATCH 002/177] =?UTF-8?q?feat:=20=E5=89=AA=E5=88=87=E6=9D=BF?= =?UTF-8?q?=E8=BF=81=E7=A7=BB=EF=BC=8C=E9=AB=98=E4=BA=AE=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 高亮代码不再使用 vue-monaco-editor 采用 nuxt-monaco-editor --- components/CodeHighlight.vue | 51 +++++++++++++++++ components/CopyButton.vue | 16 +----- components/bar/BarLeft.vue | 3 +- nuxt.config.ts | 29 +++++----- package-lock.json | 106 ++++++++++++----------------------- package.json | 2 +- pages/download/index.vue | 38 +++++++------ pages/index.vue | 3 +- pages/paste/detail/index.vue | 25 +++++---- pages/paste/index.vue | 17 ++---- plugins/vue-monaco-editor.ts | 4 -- utils/utils.js | 11 ++++ 12 files changed, 157 insertions(+), 148 deletions(-) create mode 100644 components/CodeHighlight.vue delete mode 100644 plugins/vue-monaco-editor.ts diff --git a/components/CodeHighlight.vue b/components/CodeHighlight.vue new file mode 100644 index 00000000..ea237d38 --- /dev/null +++ b/components/CodeHighlight.vue @@ -0,0 +1,51 @@ + + + + diff --git a/components/CopyButton.vue b/components/CopyButton.vue index 16ec2511..30609f70 100644 --- a/components/CopyButton.vue +++ b/components/CopyButton.vue @@ -4,28 +4,14 @@ const props = defineProps({ type: String, default: 'white' }, - class: { - type: String, - default: 'ml-4 my-auto cursor-pointer' - }, contentTarget: { type: String, required: true } }); -const copy = () => { - navigator.clipboard - .writeText(props.contentTarget) - .then(() => { - ElMessage.success('复制成功'); - }) - .catch((err) => { - ElMessage.success(`复制失败:${err}`); - }); -}; diff --git a/components/bar/BarLeft.vue b/components/bar/BarLeft.vue index ca01a95d..d58ccf67 100644 --- a/components/bar/BarLeft.vue +++ b/components/bar/BarLeft.vue @@ -86,7 +86,7 @@ const cilckMenu = (str) => {

U}zR)sBmtYHtVH8p~!C#o(1h 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