Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]¶
[1.0.10] - 2026-09-16¶
OCP Stream: OCP 4.22 (Kubernetes 1.35)
Certified window (ADR-056): OCP 4.20 / 4.21 / 4.22
Branch: release-4.22
Added¶
- ADR-059: k8s.io client library upgrade to v0.35.x for OCP 4.22 / K8s 1.35 (#105)
- k8s.io upgrade: Upgraded k8s.io/api from v0.32.2 to v0.35.8, controller-runtime from v0.19.4 to v0.23.3, ENVTEST from 1.31.0 to 1.35.0 (#106)
- Printer columns: Added Git-URL (wide) and Timeout columns to
kubectl get nvjoutput (#32) - AWS Secrets Manager docs: ESO ExternalSecret and IRSA credential injection examples (#30)
- AWS Storage docs: EBS (gp3-csi) and EFS (efs-sc) StorageClass guide with sample CRs (#31)
- OLM v1 strategy docs: Documented OLM v1 GA status and rationale for OLM Classic distribution (#92)
- Pod recovery tests: Integration tests for ImagePullBackOff, OOMKilled, CrashLoopBackOff, init container failures (#28)
- Tekton credentials tests: Smoke tests for ADR-042 git credentials auto-sync, documented watch-and-sync gap (#29)
Changed¶
- Webhook interfaces migrated to controller-runtime v0.23 generics (
admission.Defaulter[T],admission.Validator[T]) ctrl.Result.Requeuereplaced withRequeueAfter(deprecated in controller-runtime v0.23)- Milestone reconciliation: v1.0.10 repurposed from "4.21 stream" to "OCP 4.22 release" (#45)
- ADR-002 superseded by ADR-056, issue #44 closed
Fixed¶
- Fixed ADR index: added missing ADR-056 and ADR-058 entries
- Fixed acceptance bar for #45 (file moved to docs/explanation/)
[1.0.9] - 2026-09-15¶
OCP Stream: OCP 4.20+ (Kubernetes 1.33)
Certified window (ADR-056): OCP 4.20 / 4.21 / 4.22
Status: Released. E2E validated on ROSA HCP (OCP 4.20).
Bundle: olm.skipRange: >=1.0.2 <1.0.9 | com.redhat.openshift.versions: v4.20-v4.22
OCP-stream versioning: v1.0.7 → OCP 4.18 | v1.0.8 → OCP 4.19 | v1.0.9 → OCP 4.20 | v1.0.10 → OCP 4.21
Added¶
- ADR-038: Requirements.txt auto-detection with 6-source fallback chain — #17
- ADR-041: Exit code validation framework with learning/development/staging/production levels — #18
- OperatorHub bundle submission automation script (
scripts/submit-to-operatorhub.sh) — #39 - File Based Catalog (FBC) support:
make catalog-rendertarget and FBC documentation — #40 - Diataxis documentation restructure with four quadrant directories (
tutorials/,how-to/,reference/,explanation/) — #87 - Laptop-first data scientist tutorial:
docs/tutorials/LOCAL_VALIDATION.md— #87 - Dual-audience value messaging in README.md, DESIGN_DOC.md, and CSV description — #85
- Data scientist onboarding path in CONTRIBUTING.md — #42
- ADR-056: OpenShift support window 4.20-4.22 (supersedes ADR-002)
- ADR-058: OpenShift E2E as manual/release-only CI strategy
- On-demand ROSA HCP cluster provisioning for E2E tests (
scripts/setup-rosa-e2e.sh, Terraform) — #68 - Tekton Pipelines install and cluster readiness audit in
setup-rosa-e2e.sh— #94 - E2E ROSA runbook:
docs/how-to/E2E_ROSA_RUNBOOK.md— #94 - VHS terminal demo tapes for data scientist and platform engineer audiences — #93
demo/local-validation.tape(data scientist local workflow)demo/openshift-deploy.tape(platform engineer deployment)demo/laptop-to-cluster.tape(full bridge workflow)- GitHub Pages documentation site with MkDocs Material theme — #99
- Full Diataxis navigation, search, Mermaid rendering, dark/light themes
- Deployed at
https://tosin2013.github.io/jupyter-notebook-validator-operator/
Fixed¶
- ADR-050: S2I build status monitoring uses
OutputDockerImageReference— #19 - Failing unit/integration tests in CI (BeforeSuite setup + GO_VERSION mismatch) — #15
- OperatorHub submission backlog: v1.0.7 and v1.0.8 submitted to both upstream repos — #22
- golangci-lint v2 config compatibility and Helm timeout on Kind — #51, #52
- E2E OpenShift workflow hardened to skip gracefully when no cluster configured — #20
- OperatorHub listing blank icon (truncated PNG) and stale description — #89
- golangci-lint version pinned, typecheck suppressions resolved — #24
- E2E workflow: OpenShift internal registry fallback for image push when Quay.io is unavailable — #96
- E2E workflow: internal registry push permissions and Docker flag fix — #97
Changed¶
com.redhat.openshift.versionsnarrowed fromv4.19-v4.22tov4.20-v4.22(ADR-056)minKubeVersionupdated from1.28.0to1.31.0- Go upgraded from 1.24 to 1.25; dependency bumps for controller-runtime, Tekton, CEL, gRPC
- Minimum test coverage threshold established — #25
- CSV description rewritten with dual-audience value messaging and Diataxis doc links
- 35 documentation files reorganized into Diataxis quadrant directories
- E2E OpenShift workflow updated with Terraform-based ROSA provisioning option
Documentation¶
- Complete RELEASE.md runbook with per-version instructions — #23
- OpenShift cluster registration and OCP validation strategy — #21
- ADR-021 dashboard verification and OBSERVABILITY.md — #26
- ADR-022 community observability contribution pipeline verified — #27
- GitHub Secrets setup guide:
docs/how-to/GITHUB_SECRETS_SETUP.md— #94
Bundle Metadata¶
olm.skipRange: ">=1.0.2 <1.0.9"com.redhat.openshift.versions: "v4.20-v4.22"containerImage: quay.io/takinosh/jupyter-notebook-validator-operator:1.0.9
[1.0.8] - 2026-04-21¶
OCP Stream: OCP 4.19+ (Kubernetes 1.32)
Status: Released — CI builds operator and bundle images on tag push.
OperatorHub (community-operators-prod): PR open — tosin2013/community-operators-prod branch add-jupyter-notebook-validator-operator-1.0.8 → open PR at https://github.com/redhat-openshift-ecosystem/community-operators-prod/compare/main...tosin2013:add-jupyter-notebook-validator-operator-1.0.8
OperatorHub (community-operators): PR open — tosin2013/community-operators branch add-jupyter-notebook-validator-operator-1.0.8 → open PR at https://github.com/k8s-operatorhub/community-operators/compare/main...tosin2013:add-jupyter-notebook-validator-operator-1.0.8
OCP-stream versioning: v1.0.7 → OCP 4.18 | v1.0.8 → OCP 4.19 | v1.0.9 → OCP 4.20 | v1.0.10 → OCP 4.21
Certified support window (ADR-056): OCP 4.20 / 4.21 / 4.22. OCP 4.18 dropped from certified support (maintenance ended 2026-08-25). OCP 4.19 best-effort.
Added¶
- OpenShift-native dashboard Kustomize overlays (ADR-021) — #7
config/monitoring/kustomization.yamlwiring all 5 OpenShift Console dashboard ConfigMapsconfig/monitoring/openshift-console/kustomization.yamlfor standalone deploymentconfig/monitoring/grafana/kustomization.yamlwith ConfigMapGenerator for Grafana Operator- Community observability contribution framework (ADR-022) — #8
config/monitoring/community/directory withkustomization.yamlplaceholder for contributorsdocs/how-to/DASHBOARD_CONTRIBUTING.md— full guide with formats, metrics table, doc template, review criteria- Comprehensive ADR-030 Level ½/3 test coverage — #9
TestADR030_AllThreeLevels: validates accurate status, root cause, and actionable guidanceTestADR030_SeverityEscalation: validates severity defaults per category
Changed¶
Makefile VERSIONcorrected from1.1.0→1.0.8(OCP-stream convention)IMAGE_TAG_BASEstandardized toquay.io/takinosh/jupyter-notebook-validator-operator- Helm
Chart.yamlversionandappVersionset to1.0.8 - Helm chart
kube-rbac-proxymigratedgcr.io/kubebuilder→quay.io/brancz:v0.18.0 - CI
GO_VERSIONbumped1.22→1.24across all four workflows go.modgodirective updated1.22.3→1.24bundle-validation.yaml: addedrelease-4.21to push/PR branch triggersbundle-validation.yaml: extended upgrade chain and version table to includev1.0.10 (OCP 4.21)docs/OPENSHIFT_SUPPORT_MATRIX_AND_STRATEGY.md: OCP 4.21 marked GA (April 2026); active window updated to 4.19/4.20/4.21docs/adrs/021-openshift-native-dashboard-strategy.md: status Proposed → Implementeddocs/adrs/022-community-observability-contributions.md: status Proposed → Implemented
Bundle Metadata¶
- Replaces:
jupyter-notebook-validator-operator.v1.0.7 com.redhat.openshift.versions: "v4.19-v4.22"- Images built and pushed by CI on
v1.0.8tag push
[1.0.7] - 2026-03-19¶
Status: Ready for submission to Community Operators.
See full release notes: docs/RELEASE-NOTES-v1.0.7.md
Added¶
- Extended OpenShift support range to 4.18-4.22 (previously 4.18-4.20)
com.redhat.openshift.versionsannotation for proper catalog filtering- Kubernetes 1.34 (OCP 4.21) and 1.35 (OCP 4.22) support
Fixed¶
- kube-rbac-proxy image: migrated from deprecated
gcr.io/kubebuilder/kube-rbac-proxy:v0.16.0toquay.io/brancz/kube-rbac-proxy:v0.18.0— resolvesImagePullBackOfferrors - Channel mismatch: updated bundle metadata from
alphatostablechannel
Images¶
quay.io/takinosh/jupyter-notebook-validator-operator:1.0.7quay.io/takinosh/jupyter-notebook-validator-operator-bundle:1.0.7
Bundle Metadata¶
- Replaces:
jupyter-notebook-validator-operator.v1.0.6 - Channel:
stable - minKubeVersion:
1.28.0
[1.0.5] - 2026-01-xx¶
Added¶
- OKD 4.22 support and validation
- Expanded test notebook suite
Fixed¶
- RBAC scope corrections for webhook permissions
[1.0.4] - 2025-11-xx¶
OCP-stream variants: v1.0.4-ocp4.18, v1.0.4-ocp4.19, v1.0.4-ocp4.20
Added¶
- Multi-OCP-version parallel release stream (
ocp4.18,ocp4.19,ocp4.20tags) - Webhook certificate rotation via cert-manager
Fixed¶
- CSV upgrade chain:
v1.0.3 → v1.0.4
[1.0.3] - 2025-10-xx¶
OCP-stream variants: v1.0.3-ocp4.18, v1.0.3-ocp4.19
Fixed¶
- Operator icon standardized to Decision Crafters branding (removed personal GitHub avatars)
- Provider information corrected to
Decision Crafters / decisioncrafters.com
[1.0.2] - 2025-09-xx¶
OCP-stream variant: v1.0.2-ocp4.18
Added¶
- Initial OpenShift 4.18 (Kubernetes 1.31) support
[1.0.1] - 2025-08-xx¶
OCP-stream variant: v1.0.1-ocp4.18
Fixed¶
- Initial bug fixes post initial release
[1.0.0] - 2025-07-xx¶
OCP-stream variants: v1.0.0-ocp4.18, v1.0.0-ocp4.19, v1.0.0-ocp4.20
See release notes: docs/RELEASE_NOTES_v1.0.0-ocp4.20.md
Added¶
- Initial release of Jupyter Notebook Validator Operator
- Kubernetes operator for validating Jupyter notebooks via Tekton Pipelines
- Admission webhook for notebook submission validation
- OLM bundle for OperatorHub submission (stable channel)
- Support for OpenShift 4.18-4.20 / Kubernetes 1.28+
- Tekton Pipelines v0.68+ integration (OpenShift Pipelines 1.20+)
- E2E test suite with Kind cluster (Tier 1)
- cert-manager integration for webhook TLS
quay.io/takinosh/jupyter-notebook-validator-operator:1.0.0