The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
as.data.frame.safe_call() (two files each defined this S3
method with different output columns; only one could ever take effect,
silently). The safe-call.R version — timestamp, user,
r_cmd, fx, args, session, profile — is now the sole implementation.print.safe_symbol() referencing stale
column/parent fields left over from before the
0.2.0 symbol-model refactor; it now correctly displays the symbol’s
asset, expr, and session
(guarding on both NULL and NA, since these
fields default to NA_character_).as.data.frame.symbol_registry(), which previously
iterated over the columns of the underlying tibble instead of its rows
(via lapply() on a data frame), causing it to error
whenever called on a non-empty registry. It also referenced non-existent
parent/column fields. The method now simply
returns x$symbols coerced to a data frame, which already
carries the correct columns.register_symbol() erroring on a brand-new, empty
registry (the very first symbol registered in any session): the
emptiness check compared nrow() of a plain, pre-tibble
list() before checking length(), producing a
zero-length logical passed to ||. The length()
check is now evaluated first, so it short-circuits correctly.as.data.frame.safe_call()’s args
column having an unstable name and shape depending on how many arguments
the underlying call had (a single-argument call collapsed the column
into one named after that argument, e.g. x; multiple
arguments spread into several columns instead of one). The argument list
is now wrapped with I(list(...)) so it always appears as a
single, reliably-named args list-column.safe_call()/as.data.frame.safe_call(),
print.safe_symbol(), and
register_symbol()/as.data.frame.symbol_registry(),
none of which previously had any test coverage.has_symbol()/has_symbol.symbol_registry() (and
its S3 export) and
safe_symbol_reference()/new_safe_symbol_reference(),
none of which were called anywhere in the package.safe_symbol()
and print.safe_call().@param,
@returns, @keywords internal,
@noRd) and explanatory comments to the internal
symbol-tracking functions introduced in 0.2.0 (safe_call(),
safe_symbol(), safe_reference(),
symbol_registry(), and their supporting utilities), with no
change in behaviour.WORDLIST.safe_output() no
longer includes a table column. It has been replaced by
three more granular columns: kind (whether the tracked
object is a table, resource or
expression), asset (the resolved
table/resource name) and expr (the associated R expression,
when applicable). Code that reads the table column directly
will need to be updated.safe_symbol(), safe_call(),
safe_reference(), symbol_registry()) that
replaces regex-based parsing of Opal logs, modelling assignments and
aggregate function calls as objects and resolving arguments back to the
symbols/tables they reference.backend_logs(), backend_options(),
backend_users(), backend_projects(),
backend_sys_perms(), and others) so internal code no longer
calls opalr:: directly, paving the way for additional
backends.check_permissions(), init(),
report(), safe_data(),
safe_output(), safe_people() and
safe_setting() now all have
ArmadilloCredentials methods, returning clear “not yet
implemented” errors ahead of full support.default S3 methods for audit(),
audit_engine() and check_permissions(), giving
clearer errors when an unsupported connection object is supplied.verbose argument to
check_permissions() (opal method) to optionally print a
success message when permissions are sufficient.print.safe_call() and
print.safe_symbol() methods, plus
as.data.frame() methods for safe_call and
symbol_registry objects, for readable inspection of the new
internal tracking objects.safe_people() now determines admin/auditor status from
actual system permissions and group membership, rather than a hardcoded
name check against "admin"/"administrator",
improving compatibility with deployments that use differently named
privileged accounts.safe_people() now
fall back gracefully to an empty result instead of aborting the whole
audit.init(),
safe_data(), report() and related functions
now accept either opal or ArmadilloCredentials
connections.audit(),
audit_engine() and check_permissions(), along
with a mock-connection test helper, reducing reliance on a live demo
Opal server.uuid to Imports, used to generate
unique IDs for tracked symbols.testthat version requirement in
Suggests from >= 3.0.0 to
>= 3.1.4.check_permissions() support for backend
connections, allowing users to verify whether a connection has
sufficient privileges to run safe_* auditing functions
before execution (#15).opalr::opal.datasources() with
opalr::opal.projects(), reducing the permissions required
for metadata extraction and improving compatibility with auditor
accounts (#21).safe_data() and
safe_people() permission handling (#19).safe_output.opal() S3 generic now uses
overwrite = TRUE to update the root (./)
entity.audit()), reporting (report()) and extracting
five safe principle components (safe_*()).These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.