Skip to content

Releases

Nootion v3.5.0

Choose a tag to compare

@github-actions github-actions released this 11 Nov 18:25
v3.5.0

Nootion 3.5.0

For anyone who wants to run Nootion without hosting it themselves:
A desktop app for Windows, macOS and Linux that can work with no connection and sync with your server !

Also in this release :
videos in pages (/video or /vidéo), repeating to-dos, scheduled automations, formulas in automations, and a full-screen image viewer.

✨ New

  • 🖥️ Desktop app (Windows, macOS, Linux): connect to one or more Nootion servers, or keep a space on the computer with no server at all. See docs/DESKTOP.md.
    • 🔄 Sync with your server: link spaces of a server from Sync. They stay on the computer, usable without a connection, and changes from both sides are merged: the latest change of each field and cell, page text merged, attached files and comments included, with their authors.
    • 📦 Installers are attached below: .exe or .msi for Windows, .dmg for macOS (Apple chips and Intel), .deb, .rpm or .AppImage for Linux. They are not signed yet: Windows shows a SmartScreen warning ("More info" › "Run anyway") and macOS asks to open the app from System Settings › Privacy & Security.
  • 🔁 Repeating to-dos: "Repeat" in a to-do's block menu (every day, week, two weeks, month, year, or on chosen days). Checked, its date moves on to the next time it is due, reminder included, and it unchecks by itself that day.
  • ⏰ Automations on a schedule: every N days, weeks (on some days) or months (on a day), at a time in a time zone. They add rows, create pages or call webhooks.
  • 🧮 Formulas in automation and button steps: {{= dateAdd(prop("Due"), 1, "weeks")}}, to repeat a task as in Notion when its status becomes Done. See docs/BUTTONS.md.
  • 🎬 Videos in pages (/video): paste a YouTube, Vimeo, Dailymotion, Loom, PeerTube, Twitch or Google Drive link, or upload an MP4/WebM file. A video link pasted alone on a line becomes a video. (#21)
  • 🖼️ Full-screen images: a click on an image opens it full screen, arrows or swipe go through the page's images.
  • 📥 Notion import report: what was imported differently, line by line, with a link to Notion and a CSV download.

🐛 Fixed

  • The block handle no longer covers a callout's emoji.
  • 🗺️ The map block (Map plugin) shows OpenStreetMap's tiles again instead of "Access blocked".
  • Files linked from another site in a Notion file column showed a missing message in the import report.

⬆️ Upgrading

Pull the new image (ghcr.io/btronquo/nootion:3.5.0 or latest) and restart. The database is migrated by itself at start (two new migrations, for the sync with the desktop app). As always, a backup before updating doesn't hurt.

Full list: CHANGELOG.md.
I also added the installers for Windows (.exe, .msi), macOS (.dmg, Apple chips and Intel) and Linux (.AppImage, .deb, .rpm).

Enjoy (and please give me some feedback :) )

Nootion v3.4.0

Choose a tag to compare

@btronquo btronquo released this 10 Nov 16:52
a5b10b8

Nootion 3.4.0

Nootion formulas v2, 2FA sign-in, a drawing block, row menus (ux improvement), two new plugins (Map and QA), and a security pass.
This one is nice.
Feel free to open an issue to discuss about missing features ;)

✨ New

  • 🧮 Nootion formulas v2: lists [1, 2, 3], methods prop("Name").upper(), variables with let() / lets(), and map, filter, find, some, every, sort with current and index
    • 🔗 Columns of related pages: prop("Invoices").filter(not current.prop("Paid")).map(current.prop("Total")).sum()
    • ➕ About 30 new functions with Notion's names: at, first, last, unique, split, test, match, week, dateRange, id…
    • 📥 The Notion import now keeps these formulas as formulas instead of freezing their values
  • 🔐 Two-factor authentication: a 6-digit code from an authenticator app (Microsoft Authenticator, Google Authenticator, 2FAS, Aegis…), with ten recovery codes. Administrators can turn it off for someone who lost their phone.
  • ✏️ Drawing block (/drawing, /dessin): pen, highlighter, shapes, arrows, text boxes, 10 colors, undo/redo, and a full-screen whiteboard with no edges. Downloadable as SVG.
  • 📋 Database rows like in Notion: right-click menu (favorite, icon, open, copy link, duplicate, trash), a "+" to add a row below, drag to reorder, and the row's icon before its title.
  • 🗺️ Map plugin (off by default): the /map block shows a database's rows as pins on OpenStreetMap, with address search, nearest places and directions. See docs/MAP.md.
  • 🧪 Test management (QA) plugin (off by default): test cases, runs and results across several products, with Azure DevOps work items. See docs/QA.md.
  • 🆕 "What's new" window: after an update, each person sees the release notes of the versions they missed, once.
  • 🔑 API tokens can also use comments, recurring templates, automations, icons and the inbox.

🐛 Fixed

  • 📥 Notion import: "Import again" can re-import unchanged pages, image icons are copied, and callouts keep all their blocks.
  • ✋ The block handle stays on the right block in columns, lists and to-dos, and follows the page when it scrolls.
  • The export of the personal space is named in the interface's language.

🛡️ Security

  • 🔒 Security headers and a Content-Security-Policy on every page.
  • 🚫 Link previews and button webhooks can no longer reach the server's local network (unless an administrator allows it for webhooks).
  • 👥 The user directory only shows the people you work with.
  • 🔑 A token limited to some spaces stays within them, SSO no longer links accounts by an unverified e-mail address, and repeated wrong passwords lock an account for a while.
  • ⬆️ Updated dependencies with known vulnerabilities (nodemailer, drizzle-orm, @fastify/static).

⬆️ Upgrading

Pull the new image (ghcr.io/btronquo/nootion:3.4.0 or latest) and restart. No data migration to do by hand.

⚠️ Check APP_SECRET first: the server now refuses to start in production with the example secret of older docker-compose.yml files. If you still use it, generate one (openssl rand -hex 32) and put it in a .env file next to docker-compose.yml (see .env.example). Changing it means typing again the secrets stored in Nootion (plugin settings, SSO, e-mail and backup passwords).

Behind a reverse proxy on another machine, set TRUST_PROXY (see docs/DEPLOYMENT.md).

Full list: CHANGELOG.md.

Also some security fixes !

Nootion v3.3.0

Choose a tag to compare

@btronquo btronquo released this 03 Nov 17:42

Nootion 3.3.0

Blocks get a right click menu, and the sidebar can now be resized and other small nice stuff :)

✨ New

  • 🧱 Block menu: click the ⋮⋮ dots left of a block to open its menu, with a search box:
    • 🔁 Turn into text, a heading, a list (bullets, numbers, to-do), a quote, a callout or code
    • 🎨 Color: the block's text or its background, in Notion's colors, light and dark
    • 🔗 Copy link to block: the link opens the page scrolled to the block, which lights up for a moment
    • 📄 Duplicate (Ctrl+D), ⬆️⬇️ move up or down (Ctrl+Shift+↑/↓), 💬 comment, 🗑️ delete
    • 🕑 Who last edited the block, and when, at the bottom of the menu (for changes made from this version on)
  • ↔️ Resizable sidebar: drag its right edge, from 200 to 480 pixels, remembered per browser. A click on the edge puts it away. With the keyboard: focus the edge, then the arrows.

🐛 Fixed (also in 3.2.1)

  • Drop-down lists are readable in dark mode on Windows: their options were light text on a white background.
  • Opening a page no longer shows a scrollbar for a split second, shifting the content sideways.

⬆️ Upgrading

Pull the new image (ghcr.io/btronquo/nootion:3.3.0 or latest) and restart. Nothing to change in the configuration, no data migration.

Full list: CHANGELOG.md.

Nootion v3.2.0

Choose a tag to compare

@btronquo btronquo released this 03 Nov 08:54

Nootion 3.2.0

3.1.0 was tagged on the code of 3.0.0 by mistake. Everything announced for it is in this version.

✨ New

  • 🔐 Single sign-on (SSO): "Sign in with Microsoft" (Entra ID), Google Workspace, Okta, Keycloak or any OpenID Connect provider, set in Administration. Existing accounts are linked by their address; new accounts for invited people, some domains or everyone; SSO sessions last 12 hours by default; passwords can be turned off (administrators keep theirs). With SCIM, the provider creates accounts and disables people who leave the company, within minutes. Step by step for Entra ID: docs/SSO.md.
  • 🔔 Update notice: the version running shows at the bottom of the sidebar. When a newer release is out, administrators see a ⚠ next to "Administration" and a notice they can hide until the next one. UPDATE_CHECK=false turns it off.
  • 📧 E-mail: set an SMTP server or a Resend key in Administration > E-mail, and check it with a test e-mail. Reminders, mentions and comment replies are then also e-mailed (each person picks which in My account), invitations go straight to the address given, and the sign-in page offers "Forgot your password?".
  • 🧩 Widgets in the "/" menu, for dashboards and home pages:
    • 📊 Charts from a database view: bars, columns, line or donut
    • 📈 Progress bars: of the year, month or day, of the rows checked in a database, or towards a goal
    • ⏳ Countdown to a date
    • 🍅 Pomodoro timer
    • 🔥 Habit tracker, as a grid of days with your streak
    • 🕒 Clock (any time zone) and 🌤️ weather with a 5-day forecast
    • 💬 Quote of the day
    • 🖼️ Image carousel
  • 🗓️ Date ranges and times: database dates can have an end date and start and end times. The calendar shows several days as one bar.
  • 🕸️ Graph: every page as a dot, linked to the pages it mentions, as in Obsidian. Hover a page to light up its links, then click to open it.
  • 📚 All pages: every page and database you can open in one list, to search, filter and sort.
  • ✨ Demo page: new users get "Discover Nootion", which shows every block, a database with its six views and the widgets, all with made-up data. It is an ordinary page that can be deleted, and My account can make it again. DEMO_PAGE=false turns it off.
  • 🎨 Custom page icons: every emoji (with a search in your language and recent ones), or your own images, shared by everyone on the server.
  • ➕ Block handles: hover a block to add one below it with "+", or move it by dragging the ⋮⋮ dots, as in Notion.
  • 🖱️ Page menu: right-click a page in the sidebar, or use its "…" button, to add it to favorites, copy its link, duplicate it, rename it, move it, delete it or open it in a new tab.
  • ↔️ Collapsible sidebar: « or Ctrl+\ puts it away. It then shows again while the menu button or the left edge of the window is hovered.
  • 🕑 "Edited at 14:32" in the page's top bar, with "Saved" shown briefly after your changes reach the server.
  • ☑️ Nicer to-do boxes: a bit bigger, with a check that pops in and a strikethrough that fades in.

🐛 Fixed

  • 👥 In a shared space, pages that others add, rename, move or delete now show up in the sidebar right away, without reloading.
  • 💾 "Saving…" no longer flashes at every change. It only shows when a save is slow.
  • 📱 On phones, the bottom of the sidebar no longer hides under the browser's toolbar.

⬆️ Upgrading

Pull the new image (docker compose pull && docker compose up -d). The database is migrated on startup. As always, back up /data first.

ghcr.io/btronquo/nootion:3.2.0

Nootion v3.1.0

Choose a tag to compare

@btronquo btronquo released this 31 Oct 18:08
e40d751

Nootion 3.1.0

Another update that brings a lot of features, and gains widgets, a graph of your pages and e-mail etc etc etc...

✨ New

  • 📧 E-mail: set an SMTP server or a Resend key in Administration > E-mail, and check it with a test e-mail. Reminders, mentions and comment replies are then also e-mailed (each person picks which in My account), invitations go straight to the address given, and the sign-in page offers "Forgot your password?".
  • 🧩 Widgets in the "/" menu, for dashboards and home pages:
    • 📊 Charts from a database view: bars, columns, line or donut
    • 📈 Progress bars: of the year, month or day, of the rows checked in a database, or towards a goal
    • ⏳ Countdown to a date
    • 🍅 Pomodoro timer
    • 🔥 Habit tracker, as a grid of days with your streak
    • 🕒 Clock (any time zone) and 🌤️ weather with a 5-day forecast
    • 💬 Quote of the day
    • 🖼️ Image carousel
  • 🗓️ Date ranges and times: database dates can have an end date and start and end times. The calendar shows several days as one bar.
  • 🕸️ Graph: every page as a dot, linked to the pages it mentions, as in Obsidian. Hover a page to light up its links, then click to open it.
  • 📚 All pages: every page and database you can open in one list, to search, filter and sort.
  • ✨ Demo page: new users get "Discover Nootion", which shows every block, a database with its six views and the widgets, all with made-up data. It is an ordinary page that can be deleted, and My account can make it again. DEMO_PAGE=false turns it off.
  • 🎨 Custom page icons: every emoji (with a search in your language and recent ones), or your own images, shared by everyone on the server.
  • ➕ Block handles: hover a block to add one below it with "+", or move it by dragging the ⋮⋮ dots, as in Notion.
  • 🖱️ Page menu: right-click a page in the sidebar, or use its "…" button, to add it to favorites, copy its link, duplicate it, rename it, move it, delete it or open it in a new tab.
  • ↔️ Collapsible sidebar: « or Ctrl+\ puts it away. It then shows again while the menu button or the left edge of the window is hovered.
  • 🕑 "Edited at 14:32" in the page's top bar, with "Saved" shown briefly after your changes reach the server.
  • ☑️ Nicer to-do boxes: a bit bigger, with a check that pops in and a strikethrough that fades in.

🐛 Fixed

  • 👥 In a shared space, pages that others add, rename, move or delete now show up in the sidebar right away, without reloading.
  • 💾 "Saving…" no longer flashes at every change. It only shows when a save is slow.

⬆️ Upgrading

Pull the new image (docker compose pull && docker compose up -d). The database is migrated on startup. As always, back up /data first.

ghcr.io/btronquo/nootion:3.1.0

Nootion v3.0.0

Choose a tag to compare

@btronquo btronquo released this 31 Oct 10:58
e40d751

Nootion 3.0.0

Nootion now works with others and runs on its own: comments and mentions, database automations, recurring templates, quick capture and automatic backups.

✨ New

  • 💬 Comments: select text and comment on it, or comment on the whole page. Threads have replies, can be resolved and reopened, and follow their passage as the page is edited. People with the "commenter" role can take part.
  • 🔔 Mentions and notifications: type "@" and a name, in a comment or in the page, to notify someone in the app and on their devices. "Reminders" becomes "Notifications".
  • ⚡ Database automations: when a row is added, a column changes or a date arrives, run steps on the row. For example, "Status set to Paid → fill in the payment date". They can be paused, and their last runs are listed with any error.
  • 🔁 Recurring templates: a new page or row from a template every N days, on some days of the week or on a day of the month, at a chosen time.
  • 📥 Quick capture: Ctrl+Alt+N (⌘⌥N on a Mac) drops a note in your inbox. The installed app also takes what you share to it from other apps. AI agents can add to it too (capture_to_inbox).
  • 📑 Table of contents: /table of contents lists the page's headings, kept up to date.
  • 💾 Automatic backups: the full backup every day or week to a folder of the server (a NAS share) or to WebDAV (Nextcloud), keeping the last N copies.
  • 🧩 Plugin column types: plugins can add column types to databases. The new built-in ⭐ Ratings plugin (off by default) adds a column of one to five stars.
  • 📅 Google Calendar without an admin client: each person can use their own Google OAuth client.

🔄 Changed

  • 🔗 A new subpage gets a link at the end of its parent page, and moving a page moves its link with it, as in Notion.
  • 🌿 Calmer interface: dialogs, menus and pages fade in smoothly, and buttons respond to a press. All of it is off when the system asks for reduced motion.
  • ⌨️ Dialogs put the cursor in their first field, and Escape closes them.

⬆️ Upgrading

Pull the new image (docker compose pull && docker compose up -d). The database is migrated on startup. As always, back up /data first.

ghcr.io/btronquo/nootion:3.0.0

The full list of changes is in CHANGELOG.md.

Nootion v2.0.1 ! Hotfix for widgets !

Choose a tag to compare

@btronquo btronquo released this 30 Oct 12:32

Fixed the widgets /button /calendar etc not working when having set up the solution in a http environment different than localhost

Nootion v2.0.0

Choose a tag to compare

@btronquo btronquo released this 30 Oct 11:18

Nootion 2.0 brings AI agents support, automations and your other services into your notes: for example, Claude can now read and write your pages, buttons run workflows with forms using the MCP plugin, and Nextcloud and Google Calendar plug right into pages and databases.

I think we can say it's now feature complete.
Feel free to open a github issue if needed.

✨ Highlights

🤖 MCP server: work with Claude and other AI assistants

  • Claude (or any MCP agent) can search, read and write pages, and create, query and fill databases, as you.
  • You choose which spaces it can reach and whether it can only read, or read and write.
  • On claude.ai and Claude's apps, add Nootion as a custom connector. Claude opens a Nootion page where you grant access (OAuth 2.1). Claude Code and other agents can use a personal token.
  • 🕵️ Everything an agent changes is traceable. Page history shows "via Claude", and My account lists what each app or agent did.
  • 📖 docs/MCP.md

🔘 Buttons, automations and forms

  • A button block (/button) in pages, and a Button column in databases.
  • One click runs steps:
    • ➕ add a row to a database
    • ✏️ change the current row
    • 📄 create a page, from a template or not
    • 🔗 open a page or a link
    • 🪝 call a webhook
  • Variables such as {{today}}, {{user}}, {{row.Column}} and {{form.Field}}. Click a variable to insert it.
  • 📝 A button can first open a form: text, number, date, choice, checkbox or person fields.
  • 🌍 A form can get a public link to collect answers from people without an account (rate limited).
  • Steps always run with the rights of the person clicking.
  • 📖 docs/BUTTONS.md

☁️ Nextcloud plugin

  • /nextcloud: browse folders, search by name, see thumbnails, and copy files into a page. Images show inline, other files become a file block.
  • From Nextcloud in "File" columns.
  • /nextcloud link: a card that opens a file or folder in Nextcloud without copying it.
  • 🔐 Each person connects their own account, through Nextcloud's login page or an app password. Nootion only sees what that account sees.
  • 📖 docs/NEXTCLOUD.md

📅 Google Calendar plugin: two-way sync

  • /google calendar links a database's date column with one of your Google calendars.
  • 🔄 Both ways, every minute:
    • rows with a date become events;
    • events created, moved, renamed or deleted in Google update the database.
  • If a row and its event both changed, the latest change wins.
  • 🔐 Each person connects their own Google account. The administrator creates the OAuth client once.
  • 📖 docs/GOOGLE_CALENDAR.md

🔌 Connected services

  • My account › Connected services lists each person's accounts on other services (Nextcloud, Google…), with a button to disconnect them. Access is also revoked on the service's side.
  • Passwords and tokens are stored encrypted with APP_SECRET.

🧩 For plugin developers

  • Server side:
    • userSecrets: encrypted data per user
    • attachments.create: attach a file to a page
    • request: call Nootion's API as a user, with their rights
    • binary and redirect responses, and appUrl
    • connectedAccount: show up in Connected services
  • Browser side:
    • registerFileSource: a new place to pick files from, offered in the / menu and in "File" columns
    • ui: the app's Modal, Button and showDialog
  • The Nextcloud and Google Calendar plugins are complete examples.
  • 📖 docs/PLUGINS.md

⬆️ Upgrading

  • 💾 Back up your data folder first, as with any major version.
  • 🗄️ Database migrations run automatically at startup.
  • 🔧 Nextcloud and Google Calendar are off by default. Turn them on in Administration › Plugins.
    • Google Calendar needs an OAuth client from Google Cloud Console. See the guide.
    • Google only accepts an APP_URL in https, or http://localhost.
  • 🐳 docker compose pull && docker compose up -d, or pin ghcr.io/btronquo/nootion:2.0.0.
    Full changelog: CHANGELOG.md · v1.2.0...v2.0.0

Nootion 1.2.0

Choose a tag to compare

@btronquo btronquo released this 30 Oct 08:12

Docker image: ghcr.io/btronquo/nootion:1.2.0 (also 1.2 and latest). To update: docker compose pull && docker compose up -d; the database is migrated at startup.

Added

  • Favorites: a star in each page's header adds the page to a "Favorites" section at the top of the sidebar
    (also in the phone drawer). Favorites are per user, reordered by drag and drop, and a page dragged from a tree
    onto the section is starred. Pages in the trash or no longer shared with the user are hidden from the list.
  • Cover images: a banner at the top of a page or database, from an uploaded image, an image link or one of six
    built-in gradients. Images are repositioned by dragging them up or down. Covers show on public links, and the
    Notion import brings them in (Notion's own files are copied, links are kept).
  • Toggle blocks and toggle headings ("/" menu): each reader opens and closes them without changing the page for
    others. Columns: blocks side by side in 2 or 3 columns, one under the other on phones; Backspace in an empty
    column removes it. The Notion import keeps toggles and columns, and the Markdown export writes toggles as
    <details>.
  • The "/" menu also finds commands by their name in the interface language.
  • New database views: list (one line per row), gallery (cards topped by the row's cover or the first image of its
    page) and calendar (month or week, rows placed on a date column, dragged to another day to change their date,
    date ranges shown on every day, "+" on a day to add a row on that date).
  • Timeline view: rows as bars from their start date to their end date, by days, weeks or months. Bars are dragged
    to move them and by their ends to change the start or the end (on phones too); a row without a date gets one by
    clicking on its line.
  • Calendar block ("/" menu): the dated rows of one or several databases on one month or week calendar, each
    database in its colour and with its date column. Rows are dragged to another day, "+" adds a row in the chosen
    database, and readers only see the databases they can open. "Subscribe" gives each user a private, read-only
    iCal link (renewable, can be turned off) for phone and desktop calendars. Public links show the databases they
    publish.
  • Personal home page, opened at sign-in and from "Home" in the sidebar: a greeting, then widgets each user
    arranges like blocks of a page ("/" to add one, drag to reorder): recently visited pages (cards with their
    cover), favorites, upcoming events of chosen databases (next 7 to 90 days), and the first rows of a database view
    (a checkbox column can be ticked from there). It is an ordinary page underneath, so any other block works too.
  • Templates. Row templates ("Templates" in a database's toolbar): content and values that new rows start with, edited
    like a row, one of them used for every new row if chosen. Page templates ("Use as a template" in a page's menu):
    an empty page offers them, and the copy brings the template's content, icon, cover, subpages and databases (with
    their columns, views and rows), and attached files.
  • Page history (clock button in a page's header): versions are kept as the page is edited (every 10 minutes at
    most while people type, and when the last of them leaves), with who edited. Each version shows what changed
    (added lines in green, removed ones struck in red) or the page as it was, and can be restored; the current
    content stays in the history. All versions of the last day are kept, then one a day for a month, then one a week.
  • Backlinks: "Linked from" at the bottom of a page lists the pages that link to it or mention it (with the
    sentence around the link), among those the reader can open.
  • Search inside attached files: the text of PDFs, of images and scanned PDFs (OCR, French and English) and of text
    files is read in the background when they arrive, existing files included. Search finds them by their words or
    their name; the result opens the page holding the file, with a link to the file itself. The Docker image now
    includes poppler and tesseract (OCR_LANGS sets the OCR languages).
  • Dates in plain words: typing "@" followed by a date in French or in English inserts it in the text, whatever the
    interface language: @demain 9h, @tomorrow at 2pm, @vendredi, @next monday, @dans 3 jours, @in 2 weeks,
    @15 novembre, @nov 15, @15/11 (11/15 in English), @2026-11-15… A date shows as "Tomorrow at 9:00 AM" and
    opens to change its day, its time and its reminder. The Notion import brings Notion's dates in, search finds pages
    by their dates (2026-11-15), and the Markdown export writes them as such.
  • Reminders: a date can remind the person who set it (@rappel demain 9h, @remind friday, or from the date itself),
    at the time or some minutes, hours or days before (9:00 for a day without a time). "Reminders" in the sidebar lists
    them, with the number of those due; each is marked as done from there. The app shows a notification when one falls
    due, and devices where "Get notifications on this device" is turned on receive it even with the app closed (Web
    Push; needs HTTPS, and on iPhone the app added to the home screen).
  • REST API with personal tokens ("My account › API tokens"): each token is limited to some spaces, read-only or
    read and write, and can expire; it is shown once, and the list shows when each was last used. With a token,
    scripts and apps read and write pages (content as Markdown or as the editor's JSON, changes shown live to people
    editing), query databases (filters, sorts, pages of results; columns and options named by their names), add and
    change rows, upload files and search. Tokens can't touch the account, sharing, public links or the
    administration. Documented in docs/API.md.

Fixed

  • French interface: a few labels were not translated (column menu, filters, code button, plugins page, one
    server error), and wording is now consistent ("base" rather than "database", "agrégation" rather than "rollup").
  • The "Write, or type /" hint stayed on empty lines after the cursor had left them.

Nootion 1.1.0

Choose a tag to compare

@btronquo btronquo released this 29 Oct 16:28

This version takes Nootion out of the desk: it installs as an app on your phone, keeps working without network,
and brings your Notion workspace over with its databases.

Highlights

  • Mobile app that edits: install Nootion from the browser (PWA). Drawer sidebar, an editing toolbar above
    the keyboard, database rows as cards.
  • Offline and sync: pages already opened stay readable and editable without network. Page content is merged
    with others' changes when the connection comes back; database changes are queued and sent in order.
  • Import from Notion: pages, databases, relations, rollups, formulas (translated), files and links between
    pages, through Notion's API. Run it again to bring in what changed, without duplicates.
  • Your data, your call: empty a space or delete your account with its data from "My account".

Install or update

docker compose pull && docker compose up -d

New install: see Getting started. Image:
ghcr.io/btronquo/nootion:1.1.0 (amd64 and arm64). Database migrations run on their own at startup; back up the
data folder first, as before any update. Installing the app on a phone needs HTTPS: see the
deployment guide.

What's new

Mobile

  • Installable app (PWA): manifest, icons, service worker that keeps the app's shell available.
  • Phone layout: the sidebar opens as a drawer, page headers stay at the top, smaller margins.
  • Editing toolbar above the keyboard on touch screens: "/" menu, bold, italic, link, heading, lists,
    indent and outdent, move a block up or down, undo and redo.
  • Database tables show as cards on phones; a new row opens at once to fill it in.
  • Menus fit the screen and the space left by the keyboard.

Offline

  • Pages already opened on a device open and can be edited without network; their content is kept in the browser
    and merged with others' changes when the connection comes back.
  • Database cells, page titles and icons changed offline are queued and sent in order once back online.
  • Badge showing the offline state, the changes waiting and those the server refused.
  • Signing out removes the offline copy of the account from the device.

Account and data

  • "Import" section in "My account", presenting the ways to bring data in (Notion, CSV / JSON, backup).
  • "Empty a space": deletes every page and database of a space one owns, trash included.
  • "Delete my account": deletes the account, its personal space and the shared spaces only it is in.
    Refused while the account is the last administrator or the only owner of a space others use.

Import from Notion

  • "Import from Notion" in "My account" › "Import": imports the pages and databases shared with a Notion integration into a space.
  • Page tree, emoji icons, text with its formatting, lists, to-dos, quotes, callouts, code, tables, images and files
    (copied to Nootion), mentions and links between pages.
  • Databases with their columns (select options, number formats, people matched by email), rows and their content,
    two-way relations, rollups and formulas translated to Nootion's formula language.
  • Formulas Nootion can't compute keep their values in a text column; a report lists them along with what was
    imported differently (toggles shown open, columns put one under the other…).
  • Importing again brings in what changed in Notion without creating duplicates. The integration secret is stored encrypted.

Fixes and documentation

  • Database tables show one line above the column headers instead of two.
  • File sizes are shown in the interface's language.
  • The deployment guide is no longer specific to TrueNAS: it describes running with Docker Compose on any host.
    Full changelog: v1.0.0...v1.1.0