NEWS
OPCC 1.0.1
- Release artifacts are no longer cached in the user's home filespace by
default.
cache_dir now defaults to NULL, which resolves to a session
temporary directory unless you pass a path, set OPCC.cache_dir or
OPCC_CACHE_DIR, or accept the one-time prompt offered in an interactive
session. A non-interactive session is never prompted, and writes nothing
outside tempdir() unless permission was granted earlier or one of those
settings is present. See ?clear_opcc_cache for the resolution order.
DESCRIPTION now cites the Statistics Canada and GeoNames sources the
correspondences are derived from.
- The README and vignette rebuild walkthroughs now pass the required
output_dir to build_centroids(), build_db_assignment() and
build_m2(). The documented calls previously omitted it and errored.
clear_opcc_cache() now also removes the Shiny app's reusable map artifact
from the shiny-app subdirectory, which the prompt and README already said
it would.
- README.md and NEWS.md are now included in the package, so they appear on the
CRAN package page.
OPCC 1.0.0
- First CRAN release.
- The Shiny app can now reuse the simplified dissemination-area boundary
artifact between sessions, so a lookup draws its map in about a second
instead of re-downloading the Statistics Canada boundary file and
re-simplifying every Ontario dissemination area on each launch. The cache is
never created without permission: point
OPCC.shiny_da_cache_dir or
OPCC_SHINY_DA_CACHE_DIR at a directory, or answer the one-time prompt shown
in an interactive session. The answer is remembered, and with no setting and
no recorded answer the app keeps everything in a session-only temporary
directory.
- Typed postal codes are now checked against the Canadian
A1A 1A1 format
before the join runs. Malformed entries are listed back by name and skipped,
and the join continues with the valid ones instead of silently reporting
them as invalid afterwards.
- The Shiny app header shows the installed package version beside the title,
and the download buttons now follow the app's teal palette.
- Every use of a suggested package is now conditional.
dplyr was used
unguarded throughout the source-layer validation path, and rlang was
missing from the build dependency check, so a missing package surfaced as
an obscure namespace error instead of a list of packages to install.
run_app() no longer uses rlang to report which Shiny packages are
missing, since rlang is itself only suggested. It also enforces the
bslib >= 0.6.0 floor that DESCRIPTION now declares.
- Release and build downloads fail with an actionable message when the remote
resource is unavailable, instead of surfacing a raw connection error.
sli_make_synthetic_qa() restores the caller's random-number stream rather
than leaving it reseeded.
- Added
export_postal_points(), which writes the postal-code point
shapefile for a join. The reproducer script the Shiny app generates now
calls it instead of reaching into unexported internals, so the script a user
is handed runs entirely on public API.
- The optional Public Health Unit overlay is now read only from the user's own
app cache. OPCC no longer obtains the boundary file from another package,
and the map simply omits the overlay when no cached file is present.
- Added an
opcc_postal_points.zip download to the Shiny app that exports
the user's postal codes as a zipped ESRI point shapefile.
- Initial public release with checksum-verified postal-code-to-DB and
postal-code-to-DA correspondence lookups.
- Added source-separated local evidence layers and contribution bundles.
- Added an inclusive broad Ontario coordinate guardrail with distinct
quarantine reasons and validation-report counts.
- Added exact Ontario-boundary and 2021 DB assignment safeguards for canonical
point candidates, including explicit matched and unmatched statuses.
- Added an aggregate-only, many-to-many DB/DA validation engine for
maintainer-held licensed benchmarks, with fail-closed private output paths.
- Added a private PCCF runner that checksum-binds M1, M2, and M5, rejects
incompatible M5-to-M2 ancestry, validates an explicit Ontario PCCF contract,
and writes aggregate-only outputs outside the repository.
- Added a DA-only XLSX validation path for PCCF-derived exports that lack
coordinates and DBUIDs, with explicit M1/M2 non-validation and vintage-gap
reporting.
- Published a disclosure-minimised M5 external-reference attestation and
validation summary, including agreement, coverage, provenance, and scope
limitations.
- Added immutable release-index validation and release-control auditing.
- Added a Shiny app (
run_app()) that joins an uploaded CSV or typed
semicolon-separated postal codes to the postal-code-to-DA correspondence,
draws the matched dissemination areas on a map, and downloads the joined
CSV, the map as HTML, and a reproducer script; added
download_da_boundaries() for the cached 2021 StatCan DA boundary files.
- Reworked the Shiny app around one shared control panel for both outputs:
base-map tile choice, a locally cached simplified Public Health Unit
boundary overlay, postal-code points from the checksum-verified M1 centroid
artifact (cached after one ~6 MB download), and a colored join summary.
The Ontario DA plot layer is simplified once and reused from the local
cache; the ~200 MB StatCan boundary file is downloaded only on first use.