This changelog covers all three packages, as they are (for now) updated as a whole
- Improve performance collapsed sidebar items.
- Add article view #319
- Add resource history view
- New subjects have nested paths by default
- BREAKING:
buildSearchSubject
now takes a serverURL instead of the store. - Fix bug where @tomic/lib would not work in a non-browser context.
- Add
resource.getHistory
method that returns a list of previous versions of the resource. - Add
store.getResourceAncestry
method, which returns the ancestry of a resource, including the resource itself. - Add
resource.title
property, which returns the name of a resource, or the first property that is can be used to name the resource. store.createSubject
now accepts aparent
argument, which allows creating nested subjects.
- Move static assets around, align build with server and fix PWA #292
- Add
useChildren
hook andStore.getChildren
method - Add new file preview UI for images, audio, text and PDF files.
- Add new file preview types to the folder grid view.
- Fix Dialogue form #308
- Refactor search, escape query strings for Tantivy
- Add
import
context menu, allows importing anywhere
- Add more options to
useSearch
- Add
Store.parseMetaTags
to load JSON-AD objects stored in the DOM. Speeds up initial page load by allowing server to set JSON-AD objects in the initial HTML response. store.createSubject
allows creating nested paths- Add
Store.postToServer
method, addendpoints
,importJsonAdString
- Add
store.preloadClassesAndProperties
and removeurls.properties.getAll
andurls.classes.getAll
. This enables usingatomic-data-browser
without relying onatomicdata.dev
being available. - Fix Race condition of
store.getResourceAsync
#309 - Add
buildSearchSubject
insearch.ts
which allows you to build full text search queries to send to Atomic-Server. - Add
importJSONADString
function, allowing you to import resources from external sources.
- Remove
initAgentFromLocalStorage()
. - No longer save agent to local storage.
- Add the ability to change the
fetch
function used to fetch resources over http. store.addResource
is depricated in favor ofstore.addResources
.- Add
AgentChange
event on store that is fired whenever the stores agent changes. store.fetchResourceFromServer
now returns the requested resource.- Add
postCommit
method tostore
that respects the injectedfetch
function.
uploadFiles()
has moved tostore.uploadFiles()
.- Remove
Agent.fromJSON()
tryValidURL
andisValidURL
are now static methods onClient
and have been renamed totryValidSubject
andisValidSubject
.- Rename
store.fetchResource
tostore.fetchResourceFromServer
. - Rename
store.handleError
tostore.notifyError
. - Rename
agent.checkPublicKey
toagent.verifyPublicKeyWithServer
. - Remove
store.errorHandler
and replace with newStoreEvents.Error
event.
- Don't use WebSocket in Node context #280
- Fix @tomic/lib exports for non-ts contexts #270
- Fix back / forward buttons in desktop build #263
- Fix
isOffline
for node
- Add folders with list & grid views, allow drag & drop uploads #228
- Show icons in sidebar
- Add scoped search, funded by NGI NLnet Discovery #245 #254
- Make web app installable #30
- Add cookie based authentication #241
- Get rid of
useWindowSize
#256 canWrite
check should succeed forpublicAgent
#252- Improve error look & text
- Lock ed25519 version #230
- Changed
null
toundefined
in many places useTitle
returns anarray
with asetTitle
function, similar touseState
resource.getError()
is deprecated in favor orresource.error
- Add Hierarchy in sidebar #75
- Add DriveSwitcher #209
- Add
new drive
option - Add
EventManager
to run custom functions when resources are added / edited / etc. - Add dialog / modal view #24 #181
- Add bookmark import / reader mode #187
- Stricter non-null checks, improved typings #220
- Switch from
yarn
topnpm
#210 - Various improvements to Dropdown forms #194
- Fix crash in circular parent rendering
- Fix race condition #189
- Make all titles editable #199
- Don't subscribe to search endpoint #200
- Refactor e2e tests
- Render floats
- Hide unsortable items in tables
- Fix dropdown resource select input #222
- Fix Dropdown input bug
- Fix autogrow textarea bug
- Add ChatRooms #153
- Improve UX for creating new Resources, instantly open new ChatRooms and Documents
- Refer to
previousCommit
s in Commits #140 - Disable websockets out of browser context for
@tomic/lib
- Fix NPM builds for
@tomic/lib
and@tomic/react
in non-ts environments #155 - tauri back buttons, new tab external links #115
- Fix concurrency issue with commits #91
- Make bugsnag optional #133
- Add
parseCommit
function - Use
href
attribute in sidebar menu #148 - Use relative links in About page #149
- Show
CommitDetail
that displays audit info (creator, edit date) #145 - Prevent using
localhost
Agents for external Servers - Implement
push
, for appending new Resources to (existing) Arrays in Commits. - Replace snowpack with vite #156
- Use yarn v2 and replace lerna #105
- Prevent default actions for keyboard shortcuts
- Improve cross-OS keyboard shortcuts compatibility (cmd & ctrl, option & alt)
- Fix markdown being shown shortly
- Don't use WebSockets if they're not supported #131
- Fix
@noble
build issues
- Switch to
dnd-kit
for drag and drop #92 - Improved views for external resources in Documents
- Add upload dropzone to documents
- Replace
react-helmet
withreact-helmet-async
@tomic/react
can now be used without@tomic/lib
- it re-exports the library- More performant subject updates in new resource form
- Allow
@tomic/lib
to be used in non-browser (Node) context #128 - Add
useMarkdown
function to@tomic/react
- Make search result previews smaller
- Fetch full collections when showing CollectionCard
useResource
defaults to not accepting incomplete resources- Add
sign in
button to invite form - Rename
baseUrl
toserverUrl
- Add
useServerSearch
to@tomic/react
- Improve UX in Tauri (desktop) mode
- Regular Links open in your browser, instead of in Atomic
- Add File management views. Preview images and videos, download them. #121
- Add
uploadFiles
method to @tomic/lib. #121 - Add upload field to forms #121
- Fix bug resourcearray input #123
- Add WebMonetization support #124
- Add Share settings screen where you can see & edit rights / access control #113
- Add Invite form #45
- Convert Classes to typescript interfaces. Show button for this in Class view. #118
Create new resource
button on Drive- Show multiple parents in breadcrumbs
- Refresh collection on opening page
- Don't auto-accept invites
- Improve server switcher design
- Change default port of localhost to 9883 (issue)
- Small fix
- Add authentication: sign requests, so the server knows who sent it. This allows for better authorization. #108
- Refactor Error type, improve Error page / views
- Automatically retry unauthorized resources (but I want a prettier solution, see #110)
useResource
no longer returns an array, but only the resource.- Improved EndpointPage (show results, useful for Search, for example)
- Added server-side full text search #106
- Add a seperate document show page #2, improved performance in Documents
- Improved
canWrite
hook (more stable, faster) - Improved sidebar performance (less re-renders)
- Improve styling tables and sort dropdown
- It's mostly an
atomic-server
version bump :)
- Fix setting Agent bug
- Add constructor to Store
- Include all Properties and Classes in the initial view, speeding up the app even further. #65
- Parse nested, named JSON-AD resources #98
- Refactor resource status - remove
Resource.status
, prefer.loading
and.error
- Add loading and error status to Property class, include in
useProperty
- Improve loading and error states for various components
- Refactor
store.getResourceLoading
,store.fetchResource
,useResource
- add option toacceptIncomplete
.
- Add Typedoc documentation #100
- Fix bug not showing resource form fields
- Fix circular parent handling in
canWrite
- Update references to changed resources #102
- Use
ws
instead ofwss
for HTTP connections
- Fix
wss
websockets - Update typescript type exports
- Added WebSockets for live synchronization with server #80
- Add Commit parsing #80
- Custom fonts
- Prevent re-applying locally defined commits #90
- Fix race condition commits #91
- Added
opts
parameter to react hooks - Simplify internal Value model (better performance, less bugs) #88
- Fix bugs when setting Agent, validate public key before setting
- Add integration / end to end tests #70
- Add Document editor (demo) #2
- Improved performance and less concurrency bugs while quickly saving resources
- Improve styling (soft background on light mode)
- Add baseURL settings page + edit function in top left
- Improve resource selector dropdown, show previews, remove dependency #60
- Add toast notifications #63
- Enable
resource.save()
with custom agent - Add JSON AD array parser
Addremoveddefault_store.json
resource to the browser to make things snappier- Improve type checking for value initialization and serialization types
- Improve view for nested resources
- Match version number of atomic-data-rust
- Add Version button to menu
- Disable menu buttons that are not usable
- Improve error view in cards
- Only show plus icon in suitable collections
- Fix tests
- Cleaned up Resource form #51
- Handle usages left in Invites #45
- Add social meta tags #44
- Add fetch as JSON / JSON-AD / Turtle and more to data pages
- Fix bug with invites
- Various styling improvements
- Add Atomic Data Logo
- Dark mode syncs with user
- Scroll to top on page change #47
- Improve keyboard shortcuts for edit / data view #52
- Move Agent settings to sidebar item
- Add rights check
- Change routes and settings structure
- Add Disabled state to form fields
- Improved hotkey handling
- Fix edit subject in resource form
- Resources will update when properties change (notify listeners on update)
- clean up package.json / dependencies
- Add rights check hook
- Add
getCommitBuilder
andhasChanges
function toresource
andcommitBuilder
- Add rights check to resource
- Split packages, switch to monorepo
- Publish
@tomic/lib
and@tomic/react
libraries to npm - Add changelog