Skip to contents

artutils 0.19.0

Breaking Changes

  • Deprecated function aliases removed - The following camelCase function stubs that threw errors directing users to snake_case equivalents have been removed entirely:

    • Database interface: dbArtGet(), dbArtAppend(), dbArtUpdate()
    • Path functions: pathImageAsset(), pathArtCanvas(), pathArtworkThumb(), pathArtistThumb(), pathGalleryAsset(), pathCertFrameAsset(), pathCertTemplAsset(), pathArtMainImage(), pathReplayFrame(), pathReplayGraph(), pathArtworkCert()
    • Prefix functions: prefixUploads(), prefixGallery(), prefixReplay()
    • Data access: getAppdata(), getArtistIndex(), getArtistStyleMap(), getArtistTags(), getArtistOpensea(), getArtworkIndex(), getArtworkStats(), getArtworkMeta(), getArtworkProfile(), getArtworkProfileFull(), getVerificationInfo(), getArtworkOpensea(), artHasNFT(), getFrameAnalytics(), getImageRaster()
    • Modifiers: addArtwork(), addCollection(), updateArtistStats(), updateArtistBenchmarks(), deleteCollection()
  • get_image_raster() removed - Function deleted; use magick directly for image raster operations.

  • Benchmark functions migrated to artbenchmark - .parseBenchmarkRow() and benchmark calculation logic moved to the dedicated artbenchmark package.

Removed

  • R/deprecate.R - All deprecated function stubs removed (see Breaking Changes above)
  • R/benchmarks.R - Migrated to artbenchmark package
  • R/getImageRaster.R - get_image_raster() function removed

Internal

  • R/considering.R moved to R/.dev/considering.R (internal development only)
  • R/settings.R renamed to R/app-settings.R for clarity
  • Removed ~1,200 lines of deprecated/migrated code
  • Updated NAMESPACE exports

artutils 0.19.1

New Features

  • get_art_print_url() retrieves the external print store URL for an artwork to enable e-commerce integration with print marketplaces.

  • get_art_opensea_url() retrieves the direct OpenSea listing URL for NFT artworks to enable one-click marketplace navigation.

  • get_art_purchase_urls() retrieves print and OpenSea URLs for all artworks by an artist in a single efficient query. Bulk version optimized for get_appdata().

  • get_appdata() now includes $artist$urlsDT — a data.table of purchase URLs (print and OpenSea) for all artist artworks, eliminating extra queries in consuming modules.


artutils 0.19.2

New Features

  • db_art_execute() executes parameterized SQL statements (UPDATE, DELETE, INSERT) using DBI::dbExecute(). This is the preferred method for executing statements with dynamic values as it prevents SQL injection attacks. Returns the number of affected rows.

    # Example: parameterized UPDATE
    n_updated <- db_art_execute(
      qry = "UPDATE app.artwork_index SET purchase_url = $1 WHERE art_uuid = $2",
      params = list(url, artwork_uuid)
    )