···43 createSwDoc("tdf150606-1-min.odt");
4445 SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get());
46---- a/sw/qa/extras/layout/layout3.cxx
47-+++ b/sw/qa/extras/layout/layout3.cxx
48-@@ -3354,6 +3354,9 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, TestTdf104209VertRTL)
49-50- CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, TestTdf56408LTR)
51 {
52-+ return; // requests Noto Sans Hebrew with charset=28, which the font does not have
53-+ // FIXME: investigate
54+
000000000055 // Verify that line breaking a first bidi portion correctly underflows in LTR text
56 createSwDoc("tdf56408-ltr.fodt");
57 auto pXmlDoc = parseLayoutDump();
58-@@ -3368,6 +3371,8 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, TestTdf56408LTR)
5960- CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, TestTdf56408RTL)
61 {
62-+ return; // same Noto Sans Hebrew issue
63-+
64 // Verify that line breaking a first bidi portion correctly underflows in RTL text
65 createSwDoc("tdf56408-rtl.fodt");
66 auto pXmlDoc = parseLayoutDump();
67-@@ -3382,6 +3387,8 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, TestTdf56408RTL)
68-69- CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, TestTdf56408NoUnderflow)
70 {
71-+ return; // same Noto Sans Hebrew issue
72-+
73 // The fix for tdf#56408 introduced a change to line breaking between text with
74 // direction changes. This test verifies behavior in the trivial case, when a
75 // break opportunity exists at the direction change boundary.
76-@@ -3398,6 +3405,8 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, TestTdf56408NoUnderflow)
7778- CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, TestTdf56408AfterFieldCrash)
79 {
80-+ return; // same Noto Sans Hebrew issue
81-+
82 // Verify there is no crash/assertion for underflow after a number field
83 createSwDoc("tdf56408-after-field.fodt");
84 }
85-@@ -3436,6 +3445,8 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, TestTdf146081)
8687- CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, TestTdf157829LTR)
88 {
89-+ return; // same Noto Sans Hebrew issue
90-+
91 // Verify that line breaking inside a bidi portion triggers underflow to previous bidi portions
92 createSwDoc("tdf157829-ltr.fodt");
93 auto pXmlDoc = parseLayoutDump();
94-@@ -3450,6 +3461,8 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, TestTdf157829LTR)
9596- CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, TestTdf157829RTL)
97 {
98-+ return; // same Noto Sans Hebrew issue
99-+
100 // Verify that line breaking inside a bidi portion triggers underflow to previous bidi portions
101 createSwDoc("tdf157829-rtl.fodt");
102 auto pXmlDoc = parseLayoutDump();
103---- a/sw/qa/extras/tiledrendering/tiledrendering.cxx
104-+++ b/sw/qa/extras/tiledrendering/tiledrendering.cxx
105-@@ -4091,6 +4091,8 @@ CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, testRedlineTooltip)
106- // toggling Formatting Marks on/off for one view should have no effect on other views
107- CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, testToggleFormattingMarks)
108 {
109-+ return; // fails consistently
110-+
111- SwXTextDocument* pXTextDocument = createDoc();
112- int nView1 = SfxLokHelper::getView();
113-
···43 createSwDoc("tdf150606-1-min.odt");
4445 SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get());
46+--- a/sw/qa/extras/tiledrendering/tiledrendering.cxx
47++++ b/sw/qa/extras/tiledrendering/tiledrendering.cxx
48+@@ -4091,6 +4091,8 @@ CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, testRedlineTooltip)
49+ // toggling Formatting Marks on/off for one view should have no effect on other views
50+ CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, testToggleFormattingMarks)
51 {
52++ return; // fails consistently
053+
54+ SwXTextDocument* pXTextDocument = createDoc();
55+ int nView1 = SfxLokHelper::getView();
56+57+--- a/sw/qa/extras/layout/layout4.cxx
58++++ b/sw/qa/extras/layout/layout4.cxx
59+@@ -1518,6 +1518,7 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter4, TestTdf104209VertRTL)
60+61+ CPPUNIT_TEST_FIXTURE(SwLayoutWriter4, TestTdf56408LTR)
62+ {
63++ return; // fails due to missing font: Noto Sans Hebrew
64 // Verify that line breaking a first bidi portion correctly underflows in LTR text
65 createSwDoc("tdf56408-ltr.fodt");
66 auto pXmlDoc = parseLayoutDump();
67+@@ -1532,6 +1532,7 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter4, TestTdf56408LTR)
6869+ CPPUNIT_TEST_FIXTURE(SwLayoutWriter4, TestTdf56408RTL)
70 {
71++ return; // fails due to missing font: Noto Sans Hebrew
072 // Verify that line breaking a first bidi portion correctly underflows in RTL text
73 createSwDoc("tdf56408-rtl.fodt");
74 auto pXmlDoc = parseLayoutDump();
75+@@ -1546,6 +1547,7 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter4, TestTdf56408RTL)
76+77+ CPPUNIT_TEST_FIXTURE(SwLayoutWriter4, TestTdf56408NoUnderflow)
78 {
79++ return; // fails due to missing font: Noto Sans Hebrew
080 // The fix for tdf#56408 introduced a change to line breaking between text with
81 // direction changes. This test verifies behavior in the trivial case, when a
82 // break opportunity exists at the direction change boundary.
83+@@ -1562,6 +1563,7 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter4, TestTdf56408NoUnderflow)
8485+ CPPUNIT_TEST_FIXTURE(SwLayoutWriter4, TestTdf56408AfterFieldCrash)
86 {
87++ return; // fails due to missing font: Noto Sans Hebrew
088 // Verify there is no crash/assertion for underflow after a number field
89 createSwDoc("tdf56408-after-field.fodt");
90 }
91+@@ -1612,6 +1614,7 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter4, TestTdf155229RowAtLeast)
9293+ CPPUNIT_TEST_FIXTURE(SwLayoutWriter4, TestTdf157829LTR)
94 {
95++ return; // fails due to missing font: Noto Sans Hebrew
096 // Verify that line breaking inside a bidi portion triggers underflow to previous bidi portions
97 createSwDoc("tdf157829-ltr.fodt");
98 auto pXmlDoc = parseLayoutDump();
99+@@ -1626,6 +1629,7 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter4, TestTdf157829LTR)
100101+ CPPUNIT_TEST_FIXTURE(SwLayoutWriter4, TestTdf157829RTL)
102 {
103++ return; // fails due to missing font: Noto Sans Hebrew
0104 // Verify that line breaking inside a bidi portion triggers underflow to previous bidi portions
105 createSwDoc("tdf157829-rtl.fodt");
106 auto pXmlDoc = parseLayoutDump();
107+--- a/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
108++++ b/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
109+@@ -6079,6 +6079,7 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf162750SmallCapsLigature)
110+111+ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf164106SplitReorderedClusters)
112 {
113++ return; // fails due to missing font: Noto Sans
114+ saveAsPDF(u"tdf164106.fodt");
115+116+ auto pPdfDocument = parsePDFExport();
0
···1+# Kanidm release guide
2+3+Kanidm supports one release at any given time, with a 30-day overlap to allow for upgrades from old to new version.
4+Version upgrades are only supported on adjacent releases, with no support for jumping versions.
5+6+To ensure we provide sufficient coverage for upgrading, we will aim to have two or three releases in tree at any given time.
7+Unsupported versions will be marked as vulnerable (lacking an "unsupported" mechanism), but built by hydra to avoid pushing the very large rebuild on users.
8+9+The default version will be updated with each new version, but the default will not be backported.
10+It is expected that stable users will have to manually specify the version, and update that version, throughout the lifecycle of a NixOS release.
11+12+## New release
13+14+For example, when upgrading from 1.4 -> 1.5
15+16+### Init new version
17+18+1. `cp pkgs/by-name/ka/kanidm/1_4.nix pkgs/by-name/ka/kanidm/1_5.nix`
19+1. `cp -r pkgs/by-name/ka/kanidm/patches/1_4 pkgs/by-name/ka/kanidm/patches/1_5`
20+1. Update `1_5.nix` hashes/paths, and as needed for upstream changes, `generic.nix`
21+1. Update `all-packages.nix` to add `kanidm_1_5` and `kanidmWithSecretProvisioning_1_5`, leave default
22+1. Create commit, `kanidm_1_5: init at 1.5.0` - this is the only commit that will be backported
23+24+### Mark previous version deprecated
25+26+1. Update `pkgs/by-name/ka/kanidm/1_4.nix` by adding `deprecated = true;`
27+1. Create commit `kanidm_1_4: update default to 1.5.0, deprecate 1.4.0`
28+29+### Update default and mark deprecation
30+31+1. `sed -i 's/1_4/1_5/' pkgs/by-name/ka/kanidm/package.nix`
32+1. Update `all-packages.nix` and set `kanidmWithSecretProvisioning = kanidmWithSecretProvisioning_1_5;`
33+1. Create commit `kanidm: update default to 1.5.0`
34+35+### Backport to stable
36+37+1. Manually create a backport using _only_ the init commit
38+39+## Remove release
40+41+Kanidm versions are supported for 30 days after the release of new versions. Following the example above, 1.5.x superseding 1.4.x in 30 days, do the following near the end of the 30 day window
42+43+1. Update `pkgs/top-level/release.nix` and add `kanidm_1_4-1.4.6` to `permittedInsecurePackages`
44+1. Update `pkgs/top-level/release.nix` and remove `kanidm_1_3-1.3.3` from `permittedInsecurePackages`
45+1. Remove the third oldest release from `all-packages.nix`, e.g. 1.3.x continuing the example. Remove `kanidm_1_3` and `kanidmWithSecretProvisioning_1_3`
46+1. Update `pkgs/by-name/ka/kanidm/1_4.nix` by adding `unsupported = true;`
47+1. Open a PR and backport it to stable