Releases: ORANGINGS/nofuturedata
Release list
NoFutureData v0.4.0
NoFutureData 0.4.0 adds repository-level temporal data contracts for datasets.
nofuture audit-manifestvalidates JSON contracts and referenced CSV datasets.- Contracts explicitly declare event-time and known-at semantics, eligibility policy, timezone behavior, revision/vintage behavior, and null-reason policy.
- Ambiguous revision timestamps, missing explicit eligibility values, and unexplained missing values fail closed.
- A Draft 2020-12 JSON Schema plus valid, schema-invalid, and temporally-invalid fixtures make the contract portable and testable.
- The core package remains zero mandatory runtime dependencies;
jsonschemais only a development/test extra.
Validation: 29 tests passed locally; Python 3.10, 3.12, and 3.13 CI passed; the public planted-leak corpus remains 12/12.
NoFutureData v0.3.0
NoFutureData 0.3.0 adds a fail-closed pandas point-in-time join for revision and vintage data.
point_in_time_join()uses backward-only as-of semantics.eligible_fromis preferred, withknown_atas the per-row fallback.- Timezone-naive decision and availability timestamps fail closed.
- Ambiguous duplicate availability keys fail closed instead of depending on row order.
- pandas remains optional; the core package still has zero mandatory runtime dependencies.
- Regression tests cover revised vintages, a planted future leak, eligibility delays, timezone validation, and duplicates.
Validation: Python 3.10, 3.12, and 3.13 CI passed; public planted-leak corpus remains 12/12.
NoFutureData v0.2.3
Security-hardening release for GitHub Marketplace readiness. Composite Action path inputs are now passed as environment data instead of interpolated shell source, with a CI regression test using an adversarial but valid path. Also ignores local downloaded workflow artifacts.
NoFutureData v0.2.2
Marketplace-ready release with a public planted-leak regression corpus, GitHub Pages landing page, current SPDX packaging metadata, and CI coverage for the benchmark.
NoFutureData v0.2.1
Correctness and notebook-compatibility release.\n\nHighlights:\n- fail closed when scan paths are missing or no Python/Jupyter files are found\n- reject �ligible_from earlier than known_at in �s_of()\n- normalize common IPython line/shell magics while preserving notebook line numbers\n- skip non-Python cell magics such as %%bash\n- add rule reference, Dependabot maintenance, and prepared OIDC PyPI publishing\n\nValidated with 16 unit tests plus Python 3.10/3.12/3.13 CI, pre-commit smoke testing, and the reusable GitHub Action.
NoFutureData v0.2.0
NoFutureData 0.2.0 lowers adoption friction for time-series and ML projects.\n\nHighlights:\n- scan Python code cells in Jupyter notebooks\n- SARIF 2.1.0 export for GitHub Code Scanning\n- reusable pre-commit hook\n- multi-path CLI scanning\n- targeted inline suppressions for intentional label construction\n- GitHub Action with optional SARIF upload\n\nValidated on Python 3.10, 3.12, and 3.13; the pre-commit hook and composite Action are exercised in CI.
NoFutureData v0.1.0
Initial public release. Adds fail-closed availability auditing, point-in-time as-of filtering, static pandas leakage checks, prefix invariance, future-mutation invariance, CLI, and a reusable GitHub Action.