Skip to content

Release: merge development into beta#688

Open
github-actions[bot] wants to merge 31 commits intobetafrom
development
Open

Release: merge development into beta#688
github-actions[bot] wants to merge 31 commits intobetafrom
development

Conversation

@github-actions
Copy link
Copy Markdown

Automated PR to sync development changes to beta for beta release.

Merging this PR will trigger the beta release workflow.

Reminder: Add a major, minor, or patch label to this PR to control the version bump. Default is patch.

rubenvdlinde and others added 30 commits March 2, 2026 00:24
Replace existing license (Apache-2.0/AGPL) with EUPL-1.2 across all
metadata files: LICENSE, appinfo/info.xml, composer.json, package.json.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The Nextcloud App Store schema does not accept EUPL-1.2 as a valid
licence value, causing all release uploads to fail with HTTP 400.
Revert to 'agpl' which is in the accepted set.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Rename website/ → docusaurus/ (preserves git history)
- Move website/docs/ → docs/ at repository root
- Existing docs/ merged with conflict resolution (legacy suffixes)
- Update docusaurus.config.js: path '../docs', editUrl → docusaurus/
- Update documentation.yml: trigger development branch, source-folder docusaurus
- Create img/app-store.svg with blue hexagon connection icon
- Update logo.svg with blue hexagon app-store icon

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Based on analysis of 74 Dutch government tenders:

- stuf-adapter: Bidirectional StUF-BG/ZKN adapter (79% tender demand)
- ibabs-notubiz-connector: B&W besluitvorming RIS integration (27% demand)
- dso-omgevingsloket: DSO/Omgevingsloket VTH adapter (32% demand)
Spec enrichment:
- stuf-adapter: partial impl (SOAPService has StUF-ZKN awareness, no inbound SOAP server)
- dso-omgevingsloket: not implemented, foundational infrastructure exists
- ibabs-notubiz-connector: not implemented, foundational infrastructure exists

Implementation:
- MetricsController: sources by type, calls by status, sync operations
- HealthController: database + sources table checks
Show NcEmptyContent empty state when OpenRegister is not installed,
with install button for admins. Add settings store with app
initialization. Add ESLint rule enforcing scoped styles in Vue
files, move global CSS to src/assets/app.css.
Support: support@conduction.nl
SLA: sales@conduction.nl
Replace inline version info with CnVersionInfoCard component,
add support footer (support@conduction.nl, sales@conduction.nl),
use app-dark.svg instead of core settings icon.
…nd IL10N, translation files

- Add @nextcloud/l10n import in main.js
- Add per-component import for 60 <script setup> Vue files
- Inject IL10N into 14 PHP controllers, wrap 83 response messages
- Create l10n/en.json and l10n/nl.json with 382 translation keys
Phase 1 quick fixes:
- Remove unused private fields and methods (EventAction)
- Add use statements for MissingImport (RuntimeException, InvalidArgumentException,
  DateTime, Throwable across Entity/Mapper files)
- Rename long variables (synchronizationService→syncService, etc.)
- Refactor else expressions to early return/continue in all Mapper filter loops
- Fix unused formal parameters (remove unused callback params)

Phase 2 structural suppressions:
- Add class-level @SuppressWarnings for TooManyFields on all Entity classes
- Add class-level @SuppressWarnings for ShortVariable/StaticAccess on all Mapper classes
- Add class-level @SuppressWarnings for UnusedFormalParameter on all 18 Migration classes
- Add comprehensive @SuppressWarnings on all Controller classes
- Add comprehensive @SuppressWarnings on all Service classes
- Suppress CyclomaticComplexity, NPathComplexity, ExcessiveMethodLength,
  ExcessiveClassComplexity, CouplingBetweenObjects, BooleanArgumentFlag,
  and other structural warnings at class level

Result: PHPMD passes with 0 warnings (down from 1097).
…ec-implementation

# Conflicts:
#	README.md
#	composer.json
#	docusaurus/docusaurus.config.js
#	docusaurus/src/components/HomepageFeatures/index.js
#	docusaurus/src/css/custom.css
#	lib/Service/MappingService.php
- Update composer.lock to include cyclonedx/cyclonedx-php-composer
- Remove unused `translate as t` imports from 53 Vue files
- Add `scoped` attribute to 34 unscoped <style> tags
- Regenerated composer.lock to sync with composer.json (azjezz/psl URL update)
- Added @conduction/nextcloud-vue dependency to package.json (used by Settings.vue CnVersionInfoCard)
- Move 3 proposed specs (dso-omgevingsloket, ibabs-notubiz-connector, stuf-adapter) to changes/
- Change prometheus-metrics status from proposed to implemented
- Create .openspec.yaml, proposal.md, tasks.md for each new change
All specs moved from openspec/specs/ to openspec/changes/ with proper
proposal.md as the entry point. Follows the spec-driven workflow:
proposal -> design -> specs -> tasks
Add ADR references to the rules section of openspec/config.yaml so that
ADR constraints are injected into openspec instructions output during
artifact creation.
…StUF foundations

- Prometheus metrics: Add endpoint, job, mapping/rule metrics to MetricsController
  (REQ-PROM-007/008/009), unit tests, docs, archived to specs/
- DSO Omgevingsloket: Add DSOController + DSOParserService with STAM endpoint,
  BSN 11-proef validation, GML→GeoJSON, payload validation, unit tests
- iBabs/NotuBiz: Add IBabsConnectorService with besluit status mapping,
  connection testing, unit tests
- StUF Adapter: Add StUFFieldMapper with BRP↔StUF-BG mapping, date format
  conversion, nested address mapping, configurable custom mappings, unit tests
- All changes: design.md, detailed tasks.md, API docs at docs/features/
Add @see reference to OpenRegister's BsnFormat::validate() on the
duplicated validateBSN() method in DSOParserService, explaining why
the duplication is necessary (no hard dependency on OpenRegister).

Add openspec/config.yaml with strengthened ADR-011 rule to prevent
future utility duplications.
Adds docs/features/README.md as the feature index and creates individual
pages for Sources, Endpoints, Mappings, Synchronizations, Rules, Jobs,
Events, Logging, and Configuration Management. Covers API references,
config fields, process flows, and implementation file pointers.
[Docs] Feature overview with standards compliance
Take remote version with more detailed component descriptions.
Settings link in gear foldout now opens NcAppSettingsDialog modal
instead of routing to /settings page. Matches ADR-004 pattern:
- Admin config: /settings/admin/{appid} (NC admin panel)
- In-app settings: NcAppSettingsDialog modal from gear menu
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant