diff --git a/DESCRIPTION b/DESCRIPTION
index 13617ca..ee35ba8 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,7 +1,7 @@
Type: Package
Package: autosync
Title: 'Automerge' Sync Server and Client
-Version: 0.0.1.9000
+Version: 0.1.0
Authors@R: c(
person("Charlie", "Gao", , "charlie.gao@posit.co", role = c("aut", "cre"),
comment = c(ORCID = "0000-0002-0750-061X")),
@@ -33,6 +33,6 @@ Suggests:
testthat (>= 3.0.0)
Config/Needs/website: tidyverse/tidytemplate
Config/roxygen2/markdown: TRUE
-Config/roxygen2/version: 8.0.0
+Config/roxygen2/version: 8.0.0.9000
Config/testthat/edition: 3
Encoding: UTF-8
diff --git a/NAMESPACE b/NAMESPACE
index d699a83..12e9494 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -12,46 +12,58 @@ export(sync_client)
export(sync_fetch)
export(sync_server)
export(sync_token)
-importFrom(automerge,AM_ROOT)
-importFrom(automerge,am_create)
-importFrom(automerge,am_get)
-importFrom(automerge,am_keys)
-importFrom(automerge,am_length)
-importFrom(automerge,am_load)
-importFrom(automerge,am_save)
-importFrom(automerge,am_sync_decode)
-importFrom(automerge,am_sync_encode)
-importFrom(automerge,am_sync_state)
-importFrom(automerge,am_sync_state_decode)
-importFrom(automerge,am_sync_state_encode)
-importFrom(httr2,oauth_client)
-importFrom(httr2,oauth_flow_auth_code)
-importFrom(httr2,oauth_redirect_uri)
-importFrom(httr2,oauth_server_metadata)
-importFrom(jose,jwt_decode_sig)
-importFrom(jose,read_jwk)
-importFrom(later,later)
-importFrom(later,run_now)
-importFrom(nanonext,handler_ws)
-importFrom(nanonext,http_server)
-importFrom(nanonext,is_error_value)
-importFrom(nanonext,ncurl)
-importFrom(nanonext,random)
-importFrom(nanonext,recv)
-importFrom(nanonext,recv_aio)
-importFrom(nanonext,send)
-importFrom(nanonext,stop_aio)
-importFrom(nanonext,stream)
-importFrom(nanonext,tls_config)
-importFrom(nanonext,unresolved)
-importFrom(nanonext,write_cert)
+importFrom(automerge,
+ AM_ROOT,
+ am_create,
+ am_get,
+ am_keys,
+ am_length,
+ am_load,
+ am_save,
+ am_sync_decode,
+ am_sync_encode,
+ am_sync_state,
+ am_sync_state_decode,
+ am_sync_state_encode
+)
+importFrom(httr2,
+ oauth_client,
+ oauth_flow_auth_code,
+ oauth_redirect_uri,
+ oauth_server_metadata
+)
+importFrom(jose,
+ jwt_decode_sig,
+ read_jwk
+)
+importFrom(later,
+ later,
+ run_now
+)
+importFrom(nanonext,
+ handler_ws,
+ http_server,
+ is_error_value,
+ ncurl,
+ random,
+ recv,
+ recv_aio,
+ send,
+ stop_aio,
+ stream,
+ tls_config,
+ unresolved,
+ write_cert
+)
importFrom(promises,then)
-importFrom(secretbase,base58dec)
-importFrom(secretbase,base58enc)
-importFrom(secretbase,base64dec)
-importFrom(secretbase,base64enc)
-importFrom(secretbase,cbordec)
-importFrom(secretbase,cborenc)
-importFrom(secretbase,jsondec)
-importFrom(secretbase,jsonenc)
+importFrom(secretbase,
+ base58dec,
+ base58enc,
+ base64dec,
+ base64enc,
+ cbordec,
+ cborenc,
+ jsondec,
+ jsonenc
+)
importFrom(utils,str)
diff --git a/NEWS.md b/NEWS.md
index 447650e..7003091 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,7 +1,3 @@
-# autosync (development version)
+# autosync 0.1.0
* Initial CRAN release.
-
-# autosync 0.0.1
-
-* Initial version.
diff --git a/R/autosync-package.R b/R/autosync-package.R
index d469656..b8a1807 100644
--- a/R/autosync-package.R
+++ b/R/autosync-package.R
@@ -45,12 +45,17 @@
#' @name autosync-package
#' @aliases autosync
#'
-#' @importFrom automerge am_create am_get am_keys am_length am_load am_save am_sync_decode am_sync_encode am_sync_state am_sync_state_decode am_sync_state_encode AM_ROOT
-#' @importFrom httr2 oauth_client oauth_flow_auth_code oauth_redirect_uri oauth_server_metadata
+#' @importFrom automerge am_create am_get am_keys am_length am_load am_save
+#' am_sync_decode am_sync_encode am_sync_state am_sync_state_decode
+#' am_sync_state_encode AM_ROOT
+#' @importFrom httr2 oauth_client oauth_flow_auth_code oauth_redirect_uri
+#' oauth_server_metadata
#' @importFrom jose jwt_decode_sig read_jwk
#' @importFrom later later run_now
-#' @importFrom nanonext handler_ws http_server is_error_value ncurl random recv recv_aio send stop_aio stream tls_config unresolved write_cert
+#' @importFrom nanonext handler_ws http_server is_error_value ncurl random recv
+#' recv_aio send stop_aio stream tls_config unresolved write_cert
#' @importFrom promises then
-#' @importFrom secretbase base64enc base64dec base58enc base58dec cborenc cbordec jsondec jsonenc
+#' @importFrom secretbase base64enc base64dec base58enc base58dec cborenc
+#' cbordec jsondec jsonenc
#' @importFrom utils str
"_PACKAGE"
diff --git a/R/server.R b/R/server.R
index 0608410..480039b 100644
--- a/R/server.R
+++ b/R/server.R
@@ -8,7 +8,9 @@
#' @param port Port to listen on. Default 0 (binds to a random available port).
#' The actual URL is retrieved via `server$url`.
#' @param host Host address to bind to. Default "127.0.0.1" (localhost).
-#' @param data_dir Directory for persistent document storage. Default ".automerge".
+#' @param data_dir Directory for document storage. Defaults to a
+#' session-temporary directory, so documents do not persist across R
+#' sessions. Supply an explicit path to persist documents across sessions.
#' @param auto_create_docs Logical, whether to auto-create documents when
#' clients request unknown document IDs. Default TRUE.
#' @param storage_id Optional storage ID for this server. If NULL (default),
@@ -77,7 +79,7 @@
sync_server <- function(
port = 0L,
host = "127.0.0.1",
- data_dir = ".automerge",
+ data_dir = tempfile("autosync"),
auto_create_docs = TRUE,
storage_id = NULL,
tls = NULL,
diff --git a/cran-comments.md b/cran-comments.md
index 97b8211..fdec4bd 100644
--- a/cran-comments.md
+++ b/cran-comments.md
@@ -4,8 +4,27 @@
* This is a new release.
-## Method references
+## Re-submission Responses
-There are no published references describing the methods in this package. It
-implements the publicly documented 'automerge-repo' WebSocket synchronization
-protocol ().
+If there are references describing the methods in your package, please
+add these in the description field of your DESCRIPTION file in the form
+authors (year)
+authors (year, ISBN:...)
+or if those are not available:
+with no space after 'doi:', 'https:' and angle brackets for
+auto-linking. (If you want to add a title as well please put it in
+quotes: "Title")
+For more details:
+
+
+There are no published references describing the methods in this package.
+
+Please ensure that your functions do not write by default or in your
+examples/vignettes/tests in the user's home filespace (including the
+package directory and getwd()). This is not allowed by CRAN policies.
+Please omit any default path in writing functions. In your
+examples/vignettes/tests you can write to tempdir().
+For more details:
+
+
+The default `data_dir` parameter to the `sync_server()` function now points to a temp file and not `getwd()`.
\ No newline at end of file
diff --git a/man/sync_server.Rd b/man/sync_server.Rd
index db37ea3..942ca28 100644
--- a/man/sync_server.Rd
+++ b/man/sync_server.Rd
@@ -7,7 +7,7 @@
sync_server(
port = 0L,
host = "127.0.0.1",
- data_dir = ".automerge",
+ data_dir = tempfile("autosync"),
auto_create_docs = TRUE,
storage_id = NULL,
tls = NULL,
@@ -21,7 +21,9 @@ The actual URL is retrieved via \code{server$url}.}
\item{host}{Host address to bind to. Default "127.0.0.1" (localhost).}
-\item{data_dir}{Directory for persistent document storage. Default ".automerge".}
+\item{data_dir}{Directory for document storage. Defaults to a
+session-temporary directory, so documents do not persist across R
+sessions. Supply an explicit path to persist documents across sessions.}
\item{auto_create_docs}{Logical, whether to auto-create documents when
clients request unknown document IDs. Default TRUE.}