Re-pins this qbit to com.kingsrook:qbit-build-parent:2.0.0 (qqq 4.0.0 GA) and adds an opt-in qqq-snapshot profile that checks it on qqq 4.1.0-SNAPSHOT, so qqq-all can include it. The first commit back-merges main into develop.
Supersedes #7 (same reviewed changes, clean commit history, plus the CircleCI needrestart workaround from QRun-IO/qqq-orb#11).
Merge this with a merge commit, not squash or rebase. The first commit is a merge of main, and a merge commit keeps main as an ancestor of develop.
512defbchore: back-merge main into develop. A --no-ff merge of origin/main (523fd34). Its tree is exactly the tree of #7's merge commit debc4fd. It brings in the 3 main-only commits: the 0.4.0 release merge, Bump version to 0.4.0, and fix ot use revision property.
dbfbc59build: re-pin to qbit-build-parent 2.0.0. This is the net diff of #7's remaining commits, plus the CircleCI change:
Parent 1.5.1 -> 2.0.0. Removed the child qqq-bom-pom:0.40.0-SNAPSHOT import that shadowed the parent (ADR-0007), so default builds take the qqq version only from the parent.
TableViewFieldCustomizer: getValueFromRecordOrOldRecord (removed in 4.0) is replaced by getValueFromRecordElseFromOldRecord, wrapped in ValueUtils.getValueAsString as the 4.0 javadoc recommends. The lookup logic is the same.
BaseTest: QInstance.setAuthentication (removed in 4.0) is replaced by withInstanceDefaultAuthentication.
New test TableViewFieldCustomizerTest.testSparseUpdateUsesOldRecordValues covers the old-record fallback the migrated call serves. In #7 it was shown to fail with the fallback disabled.
Opt-in qqq-snapshot profile. It imports qqq-bom-pom:${qqq.snapshot.version} (default 4.1.0-SNAPSHOT) and adds the Central snapshots repository. The top-level sonatype-snapshots repository, which only served the old snapshot BOM, moved into this profile.
CLAUDE.md: replaced the stale qqq-bom-pom:0.40.0-SNAPSHOT note with how the qqq version is now set and checked.
New since review:.circleci/config.yml gets the configure-package-install command and a pre-steps use on every job, copied from qbit-quick-search develop. It writes $nrconf{restart} = "l" to /etc/needrestart/conf.d, so the orb's apt install no longer stops at the interactive needrestart dialog that timed out jobs 49 and 50 on #7. The orb pin stays at 0.5.0.
As in #7, licensing is untouched, per the issue. The Apache-2.0 <licenses> change and the first qqq.version override profile that #7 later reverted or replaced are not in this branch at all.
There was one conflict, in pom.xml<properties><revision>:
develop had 0.5.0-SNAPSHOT and main had 0.4.0. Kept develop's 0.5.0-SNAPSHOT.0.4.0 is the release stamp CI writes on main. develop had already moved to the next development line (8f92567), and taking 0.4.0 would make develop snapshots publish as a released version.
main's fix (523fd34, <version>${revision}</version>) merged cleanly. develop already had the same line.
The only content main changed since the merge base (5323d4e) is those two pom lines. After the merge, the tree matches origin/develop exactly, so none of develop's features or main's fixes were lost.
Type of Change
Dependencies update
Breaking change: consumers of this qbit move from qqq 0.40.x to qqq 4.0.0
Testing
How the branch was built, and the checks that show it matches #7:
BUILD SUCCESS, 19 tests, 0 failures, 0 errors, 0 skipped. Resolves qqq-backend-core:4.1.0-SNAPSHOT, byte-identical to the published 4.1.0-20260926.003607-7
The CircleCI YAML parses and each of the 5 jobs lists the pre-step. circleci config validate cannot run locally: it cannot find kingsrook/qqq-orb@0.5.0 in the registry, and it fails the same way on the unchanged config. CircleCI on this PR is the real check.
Unit tests pass
mvn verify passes on qqq 4.0.0 and with -Pqqq-snapshot
Manual testing performed
Checklist
Code follows the project's style guidelines
Self-review performed
Tests added for the migrated behavior
New and existing unit tests pass locally
No new warnings (see the parent-pom warning below)
Additional Notes
Docker integration tests: not applicable. This repo has no Docker or Testcontainers tests. Under CI=true, 0 tests are skipped.
qbit-user-role-permissions: this qbit has no Maven dependency on it. It refers to the role possible-value source by name only, so there is no pin to change.
Parent-pom warning:Failed to build parent project ... qbit-build-parent:pom:${revision}. qbit-build-parent:2.0.0 was published with an unflattened <version>. The effective model still resolves correctly; the fix belongs in a future parent release.
Out of scope, left as is: the README is stale. It shows a Java 17 badge and documents a saved-views API that does not exist.
## Summary
Re-pins this qbit to `com.kingsrook:qbit-build-parent:2.0.0` (qqq 4.0.0 GA) and adds an opt-in `qqq-snapshot` profile that checks it on qqq `4.1.0-SNAPSHOT`, so qqq-all can include it. The first commit back-merges `main` into `develop`.
Supersedes #7 (same reviewed changes, clean commit history, plus the CircleCI needrestart workaround from QRun-IO/qqq-orb#11).
**Merge this with a merge commit, not squash or rebase.** The first commit is a merge of `main`, and a merge commit keeps `main` as an ancestor of `develop`.
## Related Issues
Closes QRun-IO/qqq#765
Part of QRun-IO/qqq-all#1
## Changes
Two commits:
- `512defb` **chore: back-merge main into develop.** A `--no-ff` merge of `origin/main` (`523fd34`). Its tree is exactly the tree of #7's merge commit `debc4fd`. It brings in the 3 main-only commits: the 0.4.0 release merge, `Bump version to 0.4.0`, and `fix ot use revision property`.
- `dbfbc59` **build: re-pin to qbit-build-parent 2.0.0.** This is the net diff of #7's remaining commits, plus the CircleCI change:
- Parent 1.5.1 -> 2.0.0. Removed the child `qqq-bom-pom:0.40.0-SNAPSHOT` import that shadowed the parent (ADR-0007), so default builds take the qqq version only from the parent.
- `TableViewFieldCustomizer`: `getValueFromRecordOrOldRecord` (removed in 4.0) is replaced by `getValueFromRecordElseFromOldRecord`, wrapped in `ValueUtils.getValueAsString` as the 4.0 javadoc recommends. The lookup logic is the same.
- `BaseTest`: `QInstance.setAuthentication` (removed in 4.0) is replaced by `withInstanceDefaultAuthentication`.
- New test `TableViewFieldCustomizerTest.testSparseUpdateUsesOldRecordValues` covers the old-record fallback the migrated call serves. In #7 it was shown to fail with the fallback disabled.
- Opt-in `qqq-snapshot` profile. It imports `qqq-bom-pom:${qqq.snapshot.version}` (default `4.1.0-SNAPSHOT`) and adds the Central snapshots repository. The top-level `sonatype-snapshots` repository, which only served the old snapshot BOM, moved into this profile.
- `CLAUDE.md`: replaced the stale `qqq-bom-pom:0.40.0-SNAPSHOT` note with how the qqq version is now set and checked.
- **New since review:** `.circleci/config.yml` gets the `configure-package-install` command and a `pre-steps` use on every job, copied from `qbit-quick-search` develop. It writes `$nrconf{restart} = "l"` to `/etc/needrestart/conf.d`, so the orb's apt install no longer stops at the interactive needrestart dialog that timed out jobs 49 and 50 on #7. The orb pin stays at 0.5.0.
As in #7, licensing is untouched, per the issue. The Apache-2.0 `<licenses>` change and the first `qqq.version` override profile that #7 later reverted or replaced are not in this branch at all.
### Merge conflict resolution (from #7)
There was one conflict, in `pom.xml` `<properties><revision>`:
- develop had `0.5.0-SNAPSHOT` and main had `0.4.0`. **Kept develop's `0.5.0-SNAPSHOT`.** `0.4.0` is the release stamp CI writes on `main`. develop had already moved to the next development line (`8f92567`), and taking `0.4.0` would make develop snapshots publish as a released version.
- main's fix (`523fd34`, `<version>${revision}</version>`) merged cleanly. develop already had the same line.
- The only content main changed since the merge base (`5323d4e`) is those two pom lines. After the merge, the tree matches `origin/develop` exactly, so none of develop's features or main's fixes were lost.
## Type of Change
- [x] Dependencies update
- [x] Breaking change: consumers of this qbit move from qqq 0.40.x to qqq 4.0.0
## Testing
How the branch was built, and the checks that show it matches #7:
| Command | Result |
|---|---|
| `git merge --no-ff --no-commit origin/main`, then `git read-tree -u --reset debc4fd` | Same `pom.xml` conflict as #7, replaced by #7's resolved tree |
| `git diff debc4fd HEAD~1` | Empty. `HEAD~1^1` is `origin/develop` (`b3ac14a`) and `HEAD~1^2` is `origin/main` (`523fd34`), the same parents as `debc4fd` |
| `git diff debc4fd 971249b --binary \| git apply --index` | Applied cleanly |
| `git diff 971249b HEAD` | Only `.circleci/config.yml` (+20 lines) |
Builds on this branch (no `mvnw`, so plain `mvn`; no `mvn install`):
| Command | Result |
|---|---|
| `CI=true mvn -B clean verify` | BUILD SUCCESS, 19 tests, 0 failures, 0 errors, 0 skipped. Resolves `qqq-backend-core:4.0.0` |
| `CI=true mvn -B -U clean verify -Pqqq-snapshot` | BUILD SUCCESS, 19 tests, 0 failures, 0 errors, 0 skipped. Resolves `qqq-backend-core:4.1.0-SNAPSHOT`, byte-identical to the published `4.1.0-20260926.003607-7` |
The CircleCI YAML parses and each of the 5 jobs lists the pre-step. `circleci config validate` cannot run locally: it cannot find `kingsrook/qqq-orb@0.5.0` in the registry, and it fails the same way on the unchanged config. CircleCI on this PR is the real check.
- [x] Unit tests pass
- [x] `mvn verify` passes on qqq 4.0.0 and with `-Pqqq-snapshot`
- [ ] Manual testing performed
## Checklist
- [x] Code follows the project's style guidelines
- [x] Self-review performed
- [x] Tests added for the migrated behavior
- [x] New and existing unit tests pass locally
- [ ] No new warnings (see the parent-pom warning below)
## Additional Notes
- **Docker integration tests:** not applicable. This repo has no Docker or Testcontainers tests. Under `CI=true`, 0 tests are skipped.
- **qbit-user-role-permissions:** this qbit has no Maven dependency on it. It refers to the `role` possible-value source by name only, so there is no pin to change.
- **Parent-pom warning:** `Failed to build parent project ... qbit-build-parent:pom:${revision}`. `qbit-build-parent:2.0.0` was published with an unflattened `<version>`. The effective model still resolves correctly; the fix belongs in a future parent release.
- **Out of scope, left as is:** the README is stale. It shows a Java 17 badge and documents a saved-views API that does not exist.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Re-pins this qbit to
com.kingsrook:qbit-build-parent:2.0.0(qqq 4.0.0 GA) and adds an opt-inqqq-snapshotprofile that checks it on qqq4.1.0-SNAPSHOT, so qqq-all can include it. The first commit back-mergesmainintodevelop.Supersedes #7 (same reviewed changes, clean commit history, plus the CircleCI needrestart workaround from QRun-IO/qqq-orb#11).
Merge this with a merge commit, not squash or rebase. The first commit is a merge of
main, and a merge commit keepsmainas an ancestor ofdevelop.Related Issues
Closes QRun-IO/qqq#765
Part of QRun-IO/qqq-all#1
Changes
Two commits:
512defbchore: back-merge main into develop. A--no-ffmerge oforigin/main(523fd34). Its tree is exactly the tree of #7's merge commitdebc4fd. It brings in the 3 main-only commits: the 0.4.0 release merge,Bump version to 0.4.0, andfix ot use revision property.dbfbc59build: re-pin to qbit-build-parent 2.0.0. This is the net diff of #7's remaining commits, plus the CircleCI change:qqq-bom-pom:0.40.0-SNAPSHOTimport that shadowed the parent (ADR-0007), so default builds take the qqq version only from the parent.TableViewFieldCustomizer:getValueFromRecordOrOldRecord(removed in 4.0) is replaced bygetValueFromRecordElseFromOldRecord, wrapped inValueUtils.getValueAsStringas the 4.0 javadoc recommends. The lookup logic is the same.BaseTest:QInstance.setAuthentication(removed in 4.0) is replaced bywithInstanceDefaultAuthentication.TableViewFieldCustomizerTest.testSparseUpdateUsesOldRecordValuescovers the old-record fallback the migrated call serves. In #7 it was shown to fail with the fallback disabled.qqq-snapshotprofile. It importsqqq-bom-pom:${qqq.snapshot.version}(default4.1.0-SNAPSHOT) and adds the Central snapshots repository. The top-levelsonatype-snapshotsrepository, which only served the old snapshot BOM, moved into this profile.CLAUDE.md: replaced the staleqqq-bom-pom:0.40.0-SNAPSHOTnote with how the qqq version is now set and checked..circleci/config.ymlgets theconfigure-package-installcommand and apre-stepsuse on every job, copied fromqbit-quick-searchdevelop. It writes$nrconf{restart} = "l"to/etc/needrestart/conf.d, so the orb's apt install no longer stops at the interactive needrestart dialog that timed out jobs 49 and 50 on #7. The orb pin stays at 0.5.0.As in #7, licensing is untouched, per the issue. The Apache-2.0
<licenses>change and the firstqqq.versionoverride profile that #7 later reverted or replaced are not in this branch at all.Merge conflict resolution (from #7)
There was one conflict, in
pom.xml<properties><revision>:0.5.0-SNAPSHOTand main had0.4.0. Kept develop's0.5.0-SNAPSHOT.0.4.0is the release stamp CI writes onmain. develop had already moved to the next development line (8f92567), and taking0.4.0would make develop snapshots publish as a released version.523fd34,<version>${revision}</version>) merged cleanly. develop already had the same line.5323d4e) is those two pom lines. After the merge, the tree matchesorigin/developexactly, so none of develop's features or main's fixes were lost.Type of Change
Testing
How the branch was built, and the checks that show it matches #7:
git merge --no-ff --no-commit origin/main, thengit read-tree -u --reset debc4fdpom.xmlconflict as #7, replaced by #7's resolved treegit diff debc4fd HEAD~1HEAD~1^1isorigin/develop(b3ac14a) andHEAD~1^2isorigin/main(523fd34), the same parents asdebc4fdgit diff debc4fd 971249b --binary | git apply --indexgit diff 971249b HEAD.circleci/config.yml(+20 lines)Builds on this branch (no
mvnw, so plainmvn; nomvn install):CI=true mvn -B clean verifyqqq-backend-core:4.0.0CI=true mvn -B -U clean verify -Pqqq-snapshotqqq-backend-core:4.1.0-SNAPSHOT, byte-identical to the published4.1.0-20260926.003607-7The CircleCI YAML parses and each of the 5 jobs lists the pre-step.
circleci config validatecannot run locally: it cannot findkingsrook/qqq-orb@0.5.0in the registry, and it fails the same way on the unchanged config. CircleCI on this PR is the real check.mvn verifypasses on qqq 4.0.0 and with-Pqqq-snapshotChecklist
Additional Notes
CI=true, 0 tests are skipped.rolepossible-value source by name only, so there is no pin to change.Failed to build parent project ... qbit-build-parent:pom:${revision}.qbit-build-parent:2.0.0was published with an unflattened<version>. The effective model still resolves correctly; the fix belongs in a future parent release.