diff --git a/apps/docs/components/index.tsx b/apps/docs/components/index.tsx index 8fcca7efa3..620513e952 100644 --- a/apps/docs/components/index.tsx +++ b/apps/docs/components/index.tsx @@ -4,10 +4,9 @@ // Basic UI things import Link from 'next/link' -import { Accordion, Admonition, Alert, Button, CodeBlock, markdownComponents } from 'ui' +import { Accordion, Admonition, Alert, Button, CodeBlock, Image, markdownComponents } from 'ui' import { GlassPanel } from 'ui-patterns/GlassPanel' import { IconPanel } from 'ui-patterns/IconPanel' -import { ThemeImage } from 'ui-patterns/ThemeImage' import { TabPanel, Tabs } from '~/components/Tabs' // Common components @@ -143,7 +142,7 @@ const components = { IconMenuStorage, IconMenuSwift, IconPanel, - Image: (props: any) => , + Image: (props: any) => , JwtGenerator, KotlinProjectSetup, Link, diff --git a/apps/docs/content/guides/ai/choosing-compute-addon.mdx b/apps/docs/content/guides/ai/choosing-compute-addon.mdx index fec64e9167..84cd91e3e4 100644 --- a/apps/docs/content/guides/ai/choosing-compute-addon.mdx +++ b/apps/docs/content/guides/ai/choosing-compute-addon.mdx @@ -120,15 +120,14 @@ It is possible to upload more vectors to a single table if Memory allows it (for -
- multi database -
+multi database ## IVFFlat @@ -255,15 +254,14 @@ For 1,000,000 vectors 40 probes results to accuracy of 0.98. Note that exact val -
- multi database -
+multi database @@ -292,27 +290,27 @@ You can increase the Requests per Second by increasing `m` and `ef_construction` > -
- multi database -
+multi database
-
- multi database -
+ +multi database +
@@ -322,15 +320,15 @@ Check out more tips and the complete step-by-step guide in [Going to Production We follow techniques outlined in the [ANN Benchmarks](https://github.com/erikbern/ann-benchmarks) methodology. A Python test runner is responsible for uploading the data, creating the index, and running the queries. The pgvector engine is implemented using [vecs](https://github.com/supabase/vecs), a Python client for pgvector. -
- multi database -
+multi database Each test is run for a minimum of 30-40 minutes. They include a series of experiments executed at different concurrency levels to measure the engine's performance under different load types. The results are then averaged. diff --git a/apps/docs/content/guides/ai/engineering-for-scale.mdx b/apps/docs/content/guides/ai/engineering-for-scale.mdx index 17a4a27f9c..f0e5e5be6a 100644 --- a/apps/docs/content/guides/ai/engineering-for-scale.mdx +++ b/apps/docs/content/guides/ai/engineering-for-scale.mdx @@ -14,15 +14,14 @@ For small workloads, it's typical to store your data in a single database. If you've used [Vecs](/docs/guides/ai/vecs-python-client) to create 3 different collections, you can expose collections to your web or mobile application using [views](/docs/guides/database/tables#views): -
- single database -
+single database For example, with 3 collections, called `docs`, `posts`, and `images`, we could expose the "docs" inside the public schema like this: @@ -50,15 +49,14 @@ const { data, error } = await supabase As you move into production, we recommend splitting your collections into separate projects. This is because it allows your vector stores to scale independently of your production data. Vectors typically grow faster than operational data, and they have different resource requirements. Running them on separate databases removes the single-point-of-failure. -
- With secondaries -
+With secondaries You can use as many secondary databases as you need to manage your collections. With this architecture, you have 2 options for accessing collections within your application: @@ -134,12 +132,11 @@ const { data, error } = await supabase This diagram provides an example architecture that allows you to access the collections either with our client libraries or using Vecs. You can add as many secondary databases as you need (in this example we only show one): -
- multi database -
+multi database diff --git a/apps/docs/content/guides/ai/examples/building-chatgpt-plugins.mdx b/apps/docs/content/guides/ai/examples/building-chatgpt-plugins.mdx index a37988c88c..d30ad096e9 100644 --- a/apps/docs/content/guides/ai/examples/building-chatgpt-plugins.mdx +++ b/apps/docs/content/guides/ai/examples/building-chatgpt-plugins.mdx @@ -32,11 +32,12 @@ We'll be saving the Postgres documentation in Postgres, and ChatGPT will be retr diagram reference ### Step 1: Fork the ChatGPT Retrieval Plugin repository diff --git a/apps/docs/content/guides/ai/going-to-prod.mdx b/apps/docs/content/guides/ai/going-to-prod.mdx index 010748a695..a82522b043 100644 --- a/apps/docs/content/guides/ai/going-to-prod.mdx +++ b/apps/docs/content/guides/ai/going-to-prod.mdx @@ -28,15 +28,14 @@ On the other hand, if you need to scale your application, you will need to [crea `pgvector` supports two types of indexes: HNSW and IVFFlat. We recommend using [HNSW](/docs/guides/ai/vector-indexes/hnsw-indexes) because of its [performance](https://supabase.com/blog/increase-performance-pgvector-hnsw#hnsw-performance-1536-dimensions) and [robustness against changing data](/docs/guides/ai/vector-indexes/hnsw-indexes#when-should-you-create-hnsw-indexes). -
- dbpedia embeddings comparing ivfflat and hnsw queries-per-second using the 4XL compute addon -
+dbpedia embeddings comparing ivfflat and hnsw queries-per-second using the 4XL compute addon ## HNSW, understanding `ef_construction`, `ef_search`, and `m` @@ -50,15 +49,14 @@ Search parameters: - `ef_search` is the size of the dynamic list for the nearest neighbors (used during the search). Increasing `ef_search` will result in better accuracy, but it will also increase the time required to execute a query (40 is the default value). -
- dbpedia embeddings comparing hnsw queries-per-second using different build parameters -
+dbpedia embeddings comparing hnsw queries-per-second using different build parameters ## IVFFlat, understanding `probes` and `lists` @@ -72,15 +70,14 @@ The values of lists and probes directly affect accuracy and queries per second ( You can find more examples of how `lists` and `probes` constants affect accuracy and QPS in [pgvector 0.4.0 performance](https://supabase.com/blog/pgvector-performance) blogpost. -
- multi database -
+multi database ## Performance tips when using indexes @@ -114,12 +111,11 @@ You can look at our [Choosing Compute Add-on](/docs/guides/ai/choosing-compute-a Or take a look at our [pgvector 0.5.0 performance](https://supabase.com/blog/increase-performance-pgvector-hnsw) and [pgvector 0.4.0 performance](https://supabase.com/blog/pgvector-performance) blog posts to see what pgvector is capable of and how the above technique can be used to achieve the best results. -
- multi database -
+multi database diff --git a/apps/docs/content/guides/ai/vector-indexes/hnsw-indexes.mdx b/apps/docs/content/guides/ai/vector-indexes/hnsw-indexes.mdx index 2a1823ad17..eb7d09ac96 100644 --- a/apps/docs/content/guides/ai/vector-indexes/hnsw-indexes.mdx +++ b/apps/docs/content/guides/ai/vector-indexes/hnsw-indexes.mdx @@ -52,15 +52,13 @@ The hierarchical aspect of HNSW builds off of the idea of skip lists. Skip lists are multi-layer linked lists. The bottom layer is a regular linked list connecting an ordered sequence of elements. Each new layer above removes some elements from the underlying layer (based on a fixed probability), producing a sparser subsequence that “skips” over elements. -
- visual of an example skip list -
+visual of an example skip list When searching for an element, the algorithm begins at the top layer and traverses its linked list horizontally. If the target element is found, the algorithm stops and returns it. Otherwise if the next element in the list is greater than the target (or `NULL`), the algorithm drops down to the next layer below. Since each layer below is less sparse than the layer above (with the bottom layer connecting all elements), the target will eventually be found. Skip lists offer O(log n) average complexity for both search and insertion/deletion. @@ -68,9 +66,11 @@ When searching for an element, the algorithm begins at the top layer and travers A navigable small world (NSW) is a special type of proximity graph that also includes long-range connections between nodes. These long-range connections support the “small world” property of the graph, meaning almost every node can be reached from any other node within a few hops. Without these additional long-range connections, many hops would be required to reach a far-away node. -visual of an example navigable small world graph The “navigable” part of NSW specifically refers to the ability to logarithmically scale the greedy search algorithm on the graph, an algorithm that attempts to make only the locally optimal choice at each hop. Without this property, the graph may still be considered a small world with short paths between far-away nodes, but the greedy algorithm tends to miss them. Greedy search is ideal for NSW because it is quick to navigate and has low computational costs. diff --git a/apps/docs/content/guides/cli/managing-environments.mdx b/apps/docs/content/guides/cli/managing-environments.mdx index 37f275933d..bde4fefce1 100644 --- a/apps/docs/content/guides/cli/managing-environments.mdx +++ b/apps/docs/content/guides/cli/managing-environments.mdx @@ -15,6 +15,7 @@ This guide shows you how to set up your local Supabase development environment t light: '/docs/img/local-dev-environment--light.svg', dark: '/docs/img/local-dev-environment.svg', }} + zoomable /> ## Set up a local environment diff --git a/apps/docs/content/guides/database/connecting-to-postgres.mdx b/apps/docs/content/guides/database/connecting-to-postgres.mdx index deff1d5dd7..f720da0370 100644 --- a/apps/docs/content/guides/database/connecting-to-postgres.mdx +++ b/apps/docs/content/guides/database/connecting-to-postgres.mdx @@ -32,19 +32,16 @@ A "connection pool" is a system (external to Postgres) which manages Postgres co When a client makes a request, the pooler "allocates" an available connection to the client. When the client transaction or session is completed the connection is returned to the pool and is free to be used by another client. -
- New migration files trigger migrations on the preview instance. - New migration files trigger migrations on the preview instance. -
Connecting to the database directly vs using a Connection Pooler
-
+New migration files trigger migrations on the preview instance. Every Supabase project comes with a connection pooler for managing connections to your database. The pooler provides 2 important services: @@ -195,15 +192,13 @@ You can obtain your connection info and Server root certificate from your applic Register a new postgres server. - Register a new postgres server. + src={{ + dark: '/docs/img/guides/database/connecting-to-postgres/pgadmin/register-server-pgAdmin.png?v=2', + light: + '/docs/img/guides/database/connecting-to-postgres/pgadmin/register-server-pgAdmin--light.png', + }} + /> diff --git a/apps/docs/content/guides/database/partitions.mdx b/apps/docs/content/guides/database/partitions.mdx index 72467ca0bd..d4ca7cd2b2 100644 --- a/apps/docs/content/guides/database/partitions.mdx +++ b/apps/docs/content/guides/database/partitions.mdx @@ -6,15 +6,14 @@ description: 'Organizing tables into partitions in Postgres.' Table partitioning is a technique that allows you to divide a large table into smaller, more manageable parts called “partitions”. -
- multi database -
+multi database Each partition contains a subset of the data based on a specified criteria, such as a range of values or a specific condition. Partitioning can significantly improve query performance and simplify data management for large datasets. diff --git a/apps/docs/content/guides/platform/branching.mdx b/apps/docs/content/guides/platform/branching.mdx index 95c97aa20c..f5a0086377 100644 --- a/apps/docs/content/guides/platform/branching.mdx +++ b/apps/docs/content/guides/platform/branching.mdx @@ -24,19 +24,16 @@ Supabase Branching works with Git. You can test changes in a separate, temporary You can run multiple Preview Branches for every Supabase project. Branches contain all the Supabase features with their own API credentials. Preview Environments pause automatically after branching.inactivity_period_in_minutes minutes of inactivity. Note that `pg_cron` executions will be impacted by inactivity related pausing. -
- Each branch has a separate Supabase instance. - Each branch has a separate Supabase instance. -
Each Branch is a separate environment.
-
+Each branch has a separate Supabase instance. ### Branching workflow @@ -58,21 +55,16 @@ The Preview Branch is also seeded with sample data based on `./supabase/seed.sql Supabase Branching follows the [Trunk Based Development](https://trunkbaseddevelopment.com/) workflow, with one main Production branch and multiple development branches: -
- Each GitHub branch can have its own Supabase preview branch. - - Each GitHub branch can have its own Supabase preview branch. -
Each GitHub branch can have its own Supabase preview branch.
- -
+Each GitHub branch can have its own Supabase preview branch. ### Production branch @@ -84,21 +76,16 @@ After connecting your Supabase project to one of the supported [Git providers](# The Git integration can read files from your Git provider, watching every commit and pull request. Each time a commit is pushed with new migrations in the `./supabase/migrations` directory, the migrations are run on the matching Supabase Preview environment: -
- New migration files trigger migrations on the preview instance. - - New migration files trigger migrations on the preview instance. -
New migration files trigger migrations on the preview instance.
- -
+New migration files trigger migrations on the preview instance. ### Data changes @@ -517,11 +504,13 @@ When you open a pull request on GitHub, the Supabase integration automatically c A comment is added to your PR with the deployment status of your preview branch. Statuses are shown separately for Database, Services, and APIs. -
- - {/* prettier-ignore */} -
Supabase GitHub integration will comment on your PR with the status of your Preview Branch, including whether migrations have successfully run.
-
+GitHub view of the deployment status of your preview branch Every time a new commit is pushed that changes the migration files in `./supabase/migrations`, the new migrations are run against the preview branch. You can check the status of these runs in the comment's Tasks table. @@ -529,11 +518,13 @@ Every time a new commit is pushed that changes the migration files in `./supabas We highly recommend turning on a 'required check' for the Supabase integration. You can do this from your GitHub repository settings. This prevents PRs from being merged when migration checks fail, and stops invalid migrations from being merged into your production branch. -
- - {/* prettier-ignore */} -
Check the "Require status checks to pass before merging" option.
-
+Check the "Require status checks to pass before merging" option. ### Disable branching diff --git a/apps/docs/content/guides/platform/migrating-and-upgrading-projects.mdx b/apps/docs/content/guides/platform/migrating-and-upgrading-projects.mdx index 1e05075578..bbeee6fda3 100644 --- a/apps/docs/content/guides/platform/migrating-and-upgrading-projects.mdx +++ b/apps/docs/content/guides/platform/migrating-and-upgrading-projects.mdx @@ -71,30 +71,27 @@ The 90-day window allows Supabase to introduce platform changes that may not be During the 90-day restore window a paused project can be restored to the platform with a single button click from [Studio's dashboard page](https://supabase.com/dashboard/projects). -
- Project Paused: 90 Days Remaining -
+Project Paused: 90 Days Remaining After the 90-day restore window, you can download your project's backup file from the project dashboard. This backup is compatible with [pg_restore](https://www.postgresql.org/docs/current/app-pgrestore.html). You can extract your data from it, or attempt to manually restore the project. -
- Project Paused: 90 Days Remaining -
+Project Paused: 90 Days Remaining If you upgrade to a paid plan while your project is paused, any expired one-click restore options are reenabled. Since the backup was taken outside the backwards compatibility window, it may fail to restore. If you have a problem restoring your backup after upgrading, contact [Support](/support). -
- Project Paused: 90 Days Remaining -
+Project Paused: 90 Days Remaining #### Disk sizing diff --git a/apps/docs/content/guides/platform/project-transfer.mdx b/apps/docs/content/guides/platform/project-transfer.mdx index 5ac8c0d342..5c85d55aab 100644 --- a/apps/docs/content/guides/platform/project-transfer.mdx +++ b/apps/docs/content/guides/platform/project-transfer.mdx @@ -6,25 +6,25 @@ description: 'Transfer a project to another organization.' With the introduction of [Organization-based Billing](/docs/guides/platform/org-based-billing), we’re adding the ability to freely transfer projects between different organizations. Head to your [projects' general settings](https://supabase.com/dashboard/project/_/settings/general) to initiate a project transfer. -
- Project Transfer: General Settings -
+Project Transfer: General Settings -
- Project Transfer: Confirmation Modal -
+Project Transfer: Confirmation Modal Source organization - the organization the project currently belongs to Target organization - the organization you want to move the project to diff --git a/apps/docs/content/guides/platform/read-replicas.mdx b/apps/docs/content/guides/platform/read-replicas.mdx index 882892700d..5e1af00c16 100644 --- a/apps/docs/content/guides/platform/read-replicas.mdx +++ b/apps/docs/content/guides/platform/read-replicas.mdx @@ -10,21 +10,12 @@ Read Replicas are additional databases that are kept in sync with your Primary d - **Improved latency:** For projects with a global user base, additional databases can be deployed closer to users to reduce latency. - **Redundancy:** Read Replicas provide data redundancy. -
- - Map view of all project databases - - Map view of all project databases. - -
+Map view of all project databases. ## About Read Replicas @@ -127,21 +118,12 @@ If you use a [custom domain](/docs/guides/platform/custom-domains), requests wil In the SQL editor, you can choose if you want to run the query on a particular Read Replica. -
- - SQL editor view. - - SQL editor view. - -
+SQL editor view. ### Logging @@ -195,13 +177,13 @@ In this replication method, the Primary continuously buffers WAL changes to a lo ### File-based log shipping 🤝 streaming replication -
- Map view of Primary and Read Replica databases -
Map view of Primary and Read Replica databases
-
+Map view of Primary and Read Replica databases We bring these two methods together to achieve quick, stable, and reliable replication. Each method addresses the limitations of the other. Streaming replication minimizes replication lag, while file-based log shipping provides a fallback. For file-based log shipping, we use our existing Point In Time Recovery (PITR) infrastructure. We regularly archive files from the Primary using [WAL-G](https://github.com/wal-g/wal-g), an open source archival and restoration tool, and ship the WAL files to S3. diff --git a/apps/docs/styles/main.scss b/apps/docs/styles/main.scss index c771bfbff4..b27ea548f7 100644 --- a/apps/docs/styles/main.scss +++ b/apps/docs/styles/main.scss @@ -278,3 +278,22 @@ article p code { th code { @apply text-nowrap; } + +/* Zoomable image */ + +[data-rmiz-modal]:focus, +[data-rmiz-modal-overlay]:focus { + outline: none !important; +} + +[data-rmiz-modal-overlay], +[data-rmiz-modal-img] { + transition-timing-function: cubic-bezier(0.24, 0.25, 0.05, 1) !important; +} +[data-rmiz-modal-overlay='visible'] { + background-color: hsl(var(--background-default)) !important; + opacity: 0.8; +} +[data-rmiz-modal-img] { + image-rendering: high-quality; +} diff --git a/apps/www/_blog/2023-08-03-fewer-dimensions-are-better-pgvector.mdx b/apps/www/_blog/2023-08-03-fewer-dimensions-are-better-pgvector.mdx index 5ed60d8d0a..1aa6cbd693 100644 --- a/apps/www/_blog/2023-08-03-fewer-dimensions-are-better-pgvector.mdx +++ b/apps/www/_blog/2023-08-03-fewer-dimensions-are-better-pgvector.mdx @@ -72,15 +72,13 @@ What specifically do we gain when we have fewer dimensions? Faster queries and l Take a look at dot product for example: -
- multi database -
+multi database Dot product is the product of each vector element pair summed together into a single result. Fewer dimensions in the vector means fewer calculations for every computed distance. @@ -94,40 +92,34 @@ We compared the performance of `text-embedding-ada-002` from OpenAI (1536 dimens We observed pgvector with `all-MiniLM-L6-v2` outperforming `text-embedding-ada-002` by 78% when holding the accuracy@10 constant at 0.99. This gap increases as you lower the accuracy. Postgres was using just 4GB of RAM with 384d vectors generated by `all-MiniLM-L6-v2` compared to 7.5GB with `text-embedding-ada-002`. -
- multi database -
+multi database -
- multi database -
+multi database After that, we decided to try the recently published [gte-small](https://huggingface.co/thenlper/gte-small) (also 384 dimensions), and the results were even more astonishing. With `gte-small`, we could set `probes=10` to achieve the same level of `accuracy@10 = 0.99`. Consequently, we observed more than a 200% improvement in queries per second for pgvector with embeddings generated by `gte-small` compared to `all-MiniLM-L6-v2`. -
- multi database -
+multi database ## Choosing an embedding model diff --git a/apps/www/_blog/2024-05-09-meetup-kahoot-alternative.mdx b/apps/www/_blog/2024-05-09-meetup-kahoot-alternative.mdx index 31aec7aa5f..739a206399 100644 --- a/apps/www/_blog/2024-05-09-meetup-kahoot-alternative.mdx +++ b/apps/www/_blog/2024-05-09-meetup-kahoot-alternative.mdx @@ -64,7 +64,7 @@ if (sessionData.session) { The database stores everything that happens in the app. We have 6 different tables to store everything from the questions to the answers that users leave for each question in a game. Each time the admin clicks the “Start Game” button of a quiz set from the host dashboard, a new game is created. The database is designed so that the same set of users can play games with the same quiz set multiple times. The full table definitions under `superbase/migrations` in the [GitHub repo](https://github.com/supabase-community/kahoot-alternative/tree/main/supabase/migrations). -![Database diagram](/images/blog/oss-kahoot-alternative/erd.png) +Database diagram ### Realtime diff --git a/apps/www/components/AuthWidget/AuthWidgetSection.tsx b/apps/www/components/AuthWidget/AuthWidgetSection.tsx index 301bb685d5..c5fd910b41 100644 --- a/apps/www/components/AuthWidget/AuthWidgetSection.tsx +++ b/apps/www/components/AuthWidget/AuthWidgetSection.tsx @@ -1,15 +1,14 @@ import { createClient } from '@supabase/supabase-js' -import { Button } from 'ui' +import { Button, Image } from 'ui' import { useState } from 'react' // Import Swiper React components import { useRouter } from 'next/router' -import Image from 'next/image' +import NextImage from 'next/image' import { ColorSwatchIcon, MenuIcon } from '@heroicons/react/outline' import { Auth } from '@supabase/auth-ui-react' import { ThemeSupa } from '@supabase/auth-ui-shared' import { useTheme } from 'next-themes' -import { ThemeImage } from 'ui-patterns/ThemeImage' function AuthWidgetSection() { const supabase = createClient( @@ -116,7 +115,7 @@ function AuthWidgetSection() {

- react icon
-
-
- (
{props.image && (
- { - const isMobile = useBreakpoint() - const Component = zoomable ? Zoom : 'span' - - return ( - - {children} - - ) -} - -export default ZoomableImg diff --git a/apps/www/lib/mdx/mdxComponents.tsx b/apps/www/lib/mdx/mdxComponents.tsx index 3dd6c3c15e..a8701df4dd 100644 --- a/apps/www/lib/mdx/mdxComponents.tsx +++ b/apps/www/lib/mdx/mdxComponents.tsx @@ -1,8 +1,5 @@ -import 'react-medium-image-zoom/dist/styles.css' - import { PropsWithChildren } from 'react' -import Image from 'next/image' -import { ThemeImage } from 'ui-patterns/ThemeImage' +import NextImage from 'next/image' import Avatar from '~/components/Avatar' import CodeBlock from '~/components/CodeBlock/CodeBlock' @@ -21,27 +18,16 @@ import { Heading, IconArrowUpRight, IconTriangle, + Image, } from 'ui' import ImageFadeStack from '~/components/ImageFadeStack' -import ZoomableImg from '~/components/ZoomableImg/ZoomableImg' +import { type ImageProps } from 'ui/src/components/Image/Image' // import all components used in blog articles here // to do: move this into a helper/utils, it is used elsewhere const ignoreClass = 'ignore-on-export' -const getCaptionAlign = (align?: 'left' | 'center' | 'right') => { - switch (align) { - case 'left': - return 'text-left' - case 'right': - return 'text-right' - case 'center': - default: - return 'text-center' - } -} - const LinkComponent = (props: PropsWithChildren) => ( { if (props.className !== ignoreClass) { return ( - - - + ) } return }, - Img: ({ zoomable = true, className, ...props }: any) => ( -
- - - - - - {props.caption && ( -
- {props.caption} -
+ Img: ({ zoomable = true, className, ...props }: ImageProps & { wide?: boolean }) => ( + + zoomable={zoomable} + {...props} + /> ), Link: LinkComponent, code: (props: any) => {props.children}, diff --git a/apps/www/package.json b/apps/www/package.json index 7718b9ba11..240e1ee96c 100644 --- a/apps/www/package.json +++ b/apps/www/package.json @@ -54,7 +54,6 @@ "react-countdown": "^2.3.5", "react-dom": "^18.2.0", "react-markdown": "^8.0.3", - "react-medium-image-zoom": "^5.1.8", "react-syntax-highlighter": "^15.5.0", "react-tooltip": "^4.2.17", "react-transition-group": "^4.4.1", diff --git a/apps/www/pages/auth/Auth.tsx b/apps/www/pages/auth/Auth.tsx index da6bba83f8..356cd76c8d 100644 --- a/apps/www/pages/auth/Auth.tsx +++ b/apps/www/pages/auth/Auth.tsx @@ -1,9 +1,9 @@ -import { Button, IconArrowUpRight, IconBriefcase, IconEye, IconLink, IconShield } from 'ui' +import { Button, IconArrowUpRight, IconBriefcase, IconEye, IconLink, IconShield, Image } from 'ui' import ApiExamples from 'data/products/auth/auth-api-examples' import AuthSqlRulesExamples from 'data/products/auth/auth-sql-rules-examples' import Solutions from 'data/Solutions' import { NextSeo } from 'next-seo' -import Image from 'next/image' +import NextImage from 'next/image' import Link from 'next/link' import { useRouter } from 'next/router' import AuthWidgetSection from '~/components/AuthWidget/AuthWidgetSection' @@ -16,7 +16,6 @@ import APISection from '~/components/Sections/APISection' import GithubExamples from '~/components/Sections/GithubExamples' import ProductHeader from '~/components/Sections/ProductHeader' import AuthProviders from '~/data/auth.json' -import { ThemeImage } from 'ui-patterns/ThemeImage' import ProductsNav from '~/components/Products/ProductsNav' import { PRODUCT_NAMES } from 'shared-data/products' @@ -60,7 +59,7 @@ function AuthPage() { "Including PostgreSQL's policy engine, for fine-grained access rules.", ]} image={[ - { return (
- {`${auth.name}
- { @@ -194,7 +193,7 @@ function RealtimePage() { return ( <>
- https://supabase.com/blog Latest Postgres news from Angelico de los Reyes at Supabase en - Thu, 15 Dec 2022 16:00:00 GMT + Thu, 15 Dec 2022 23:00:00 GMT https://supabase.com/blog/postgres-point-in-time-recovery Point in Time Recovery is now available for Pro projects https://supabase.com/blog/postgres-point-in-time-recovery We're making PITR available for more projects, with a new Dashboard UI that makes it simple to use. - Thu, 15 Dec 2022 16:00:00 GMT + Thu, 15 Dec 2022 23:00:00 GMT https://supabase.com/blog/continuous-postgresql-backup-walg Continuous PostgreSQL Backups using WAL-G https://supabase.com/blog/continuous-postgresql-backup-walg Have you ever wanted to restore your database's state to a particular moment in time? This post explains how, using WAL-G. - Sat, 01 Aug 2020 16:00:00 GMT + Sat, 01 Aug 2020 22:00:00 GMT https://supabase.com/blog/postgresql-templates What are PostgreSQL Templates? https://supabase.com/blog/postgresql-templates What are PostgreSQL templates and what are they used for? - Wed, 08 Jul 2020 16:00:00 GMT + Wed, 08 Jul 2020 22:00:00 GMT https://supabase.com/blog/postgresql-physical-logical-backups Physical vs Logical Backups in PostgreSQL https://supabase.com/blog/postgresql-physical-logical-backups What are physical and logical backups in Postgres? - Mon, 06 Jul 2020 16:00:00 GMT + Mon, 06 Jul 2020 22:00:00 GMT diff --git a/apps/www/public/planetpg-ant_wilson-rss.xml b/apps/www/public/planetpg-ant_wilson-rss.xml index 8ce4387e59..7733d8ee02 100644 --- a/apps/www/public/planetpg-ant_wilson-rss.xml +++ b/apps/www/public/planetpg-ant_wilson-rss.xml @@ -5,14 +5,14 @@ https://supabase.com/blog Latest Postgres news from Ant Wilson at Supabase en - Fri, 26 Feb 2021 16:00:00 GMT + Fri, 26 Feb 2021 23:00:00 GMT https://supabase.com/blog/cracking-postgres-interview Cracking PostgreSQL Interview Questions https://supabase.com/blog/cracking-postgres-interview Understand the top PostgreSQL Interview Questions - Fri, 26 Feb 2021 16:00:00 GMT + Fri, 26 Feb 2021 23:00:00 GMT diff --git a/apps/www/public/planetpg-bo_lu-rss.xml b/apps/www/public/planetpg-bo_lu-rss.xml index 60399534f4..2f5f7f12e6 100644 --- a/apps/www/public/planetpg-bo_lu-rss.xml +++ b/apps/www/public/planetpg-bo_lu-rss.xml @@ -5,14 +5,14 @@ https://supabase.com/blog Latest Postgres news from Bo Lu at Supabase en - Wed, 13 Dec 2023 16:00:00 GMT + Wed, 13 Dec 2023 23:00:00 GMT https://supabase.com/blog/supabase-wrappers-v02 Supabase Wrappers v0.2: Query Pushdown & Remote Subqueries https://supabase.com/blog/supabase-wrappers-v02 Supabase Wrappers v0.2 brings more Wrappers, query pushdown, remote subquery, and more - Wed, 13 Dec 2023 16:00:00 GMT + Wed, 13 Dec 2023 23:00:00 GMT diff --git a/apps/www/public/planetpg-burggraf-rss.xml b/apps/www/public/planetpg-burggraf-rss.xml index 3bec1f37cf..60c2881d53 100644 --- a/apps/www/public/planetpg-burggraf-rss.xml +++ b/apps/www/public/planetpg-burggraf-rss.xml @@ -5,21 +5,21 @@ https://supabase.com/blog Latest Postgres news from Mark Burggraf at Supabase en - Wed, 23 Nov 2022 16:00:00 GMT + Wed, 23 Nov 2022 23:00:00 GMT https://supabase.com/blog/sql-or-nosql-both-with-postgresql SQL or NoSQL? Why not use both (with PostgreSQL)? https://supabase.com/blog/sql-or-nosql-both-with-postgresql How to turn Postgres into an easy-to-use NoSQL database that retains all the power of SQL - Wed, 23 Nov 2022 16:00:00 GMT + Wed, 23 Nov 2022 23:00:00 GMT https://supabase.com/blog/postgres-wasm Postgres WASM by Snaplet and Supabase https://supabase.com/blog/postgres-wasm We're open sourcing postgres-wasm, a PostgresQL server that runs inside a browser, with our friends at Snaplet. - Sun, 02 Oct 2022 16:00:00 GMT + Sun, 02 Oct 2022 22:00:00 GMT diff --git a/apps/www/public/planetpg-egor_romanov-rss.xml b/apps/www/public/planetpg-egor_romanov-rss.xml index f7b4a45db0..1f1992ad3b 100644 --- a/apps/www/public/planetpg-egor_romanov-rss.xml +++ b/apps/www/public/planetpg-egor_romanov-rss.xml @@ -5,21 +5,21 @@ https://supabase.com/blog Latest Postgres news from Egor Romanov at Supabase en - Wed, 02 Aug 2023 16:00:00 GMT + Wed, 02 Aug 2023 22:00:00 GMT https://supabase.com/blog/fewer-dimensions-are-better-pgvector pgvector: Fewer dimensions are better https://supabase.com/blog/fewer-dimensions-are-better-pgvector Increase performance in pgvector by using embedding vectors with fewer dimensions - Wed, 02 Aug 2023 16:00:00 GMT + Wed, 02 Aug 2023 22:00:00 GMT https://supabase.com/blog/pgvector-performance pgvector 0.4.0 performance https://supabase.com/blog/pgvector-performance There's been a lot of talk about pgvector performance lately, so we took some datasets and pushed pgvector to the limits to find out its strengths and limitations. - Wed, 12 Jul 2023 16:00:00 GMT + Wed, 12 Jul 2023 22:00:00 GMT diff --git a/apps/www/public/planetpg-filipe-rss.xml b/apps/www/public/planetpg-filipe-rss.xml index 2d50dfea8f..8c8374f738 100644 --- a/apps/www/public/planetpg-filipe-rss.xml +++ b/apps/www/public/planetpg-filipe-rss.xml @@ -5,14 +5,14 @@ https://supabase.com/blog Latest Postgres news from Filipe Cabaço at Supabase en - Mon, 08 Jan 2024 16:00:00 GMT + Mon, 08 Jan 2024 23:00:00 GMT https://supabase.com/blog/elixir-clustering-using-postgres Elixir clustering using Postgres https://supabase.com/blog/elixir-clustering-using-postgres Learn about our approach to connecting multiple nodes in Elixir using Postgres - Mon, 08 Jan 2024 16:00:00 GMT + Mon, 08 Jan 2024 23:00:00 GMT diff --git a/apps/www/public/planetpg-gregnr-rss.xml b/apps/www/public/planetpg-gregnr-rss.xml index ca204372a1..38d0e18e8c 100644 --- a/apps/www/public/planetpg-gregnr-rss.xml +++ b/apps/www/public/planetpg-gregnr-rss.xml @@ -5,28 +5,28 @@ https://supabase.com/blog Latest Postgres news from Greg Richardson at Supabase en - Tue, 05 Sep 2023 16:00:00 GMT + Tue, 05 Sep 2023 22:00:00 GMT https://supabase.com/blog/increase-performance-pgvector-hnsw pgvector v0.5.0: Faster semantic search with HNSW indexes https://supabase.com/blog/increase-performance-pgvector-hnsw Increase performance in pgvector using HNSW indexes - Tue, 05 Sep 2023 16:00:00 GMT + Tue, 05 Sep 2023 22:00:00 GMT https://supabase.com/blog/fewer-dimensions-are-better-pgvector pgvector: Fewer dimensions are better https://supabase.com/blog/fewer-dimensions-are-better-pgvector Increase performance in pgvector by using embedding vectors with fewer dimensions - Wed, 02 Aug 2023 16:00:00 GMT + Wed, 02 Aug 2023 22:00:00 GMT https://supabase.com/blog/openai-embeddings-postgres-vector Storing OpenAI embeddings in Postgres with pgvector https://supabase.com/blog/openai-embeddings-postgres-vector An example of how to build an AI-powered search engine using OpenAI's embeddings and PostgreSQL. - Sun, 05 Feb 2023 16:00:00 GMT + Sun, 05 Feb 2023 23:00:00 GMT diff --git a/apps/www/public/planetpg-michel-rss.xml b/apps/www/public/planetpg-michel-rss.xml index de6ad8f7eb..a3f4f5da28 100644 --- a/apps/www/public/planetpg-michel-rss.xml +++ b/apps/www/public/planetpg-michel-rss.xml @@ -5,7 +5,7 @@ https://supabase.com/blog Latest Postgres news from Michel Pelletier at Supabase en - Thu, 15 Dec 2022 16:00:00 GMT + Thu, 15 Dec 2022 23:00:00 GMT https://supabase.com/blog/vault-now-in-beta diff --git a/apps/www/public/planetpg-oli_rice-rss.xml b/apps/www/public/planetpg-oli_rice-rss.xml index 11a82ee4d1..e47141794e 100644 --- a/apps/www/public/planetpg-oli_rice-rss.xml +++ b/apps/www/public/planetpg-oli_rice-rss.xml @@ -5,63 +5,63 @@ https://supabase.com/blog Latest Postgres news from Oliver Rice at Supabase en - Tue, 12 Dec 2023 16:00:00 GMT + Tue, 12 Dec 2023 23:00:00 GMT https://supabase.com/blog/postgrest-12 PostgREST 12 https://supabase.com/blog/postgrest-12 PostgREST 12 is out and we take a look at some of the major new features like JWT Caching and Aggregate Functions - Tue, 12 Dec 2023 16:00:00 GMT + Tue, 12 Dec 2023 23:00:00 GMT https://supabase.com/blog/pg-graphql-postgres-functions pg_graphql: Postgres functions now supported https://supabase.com/blog/pg-graphql-postgres-functions pg_graphql now supports the most requested feature: Postgres functions a.k.a. User Defined Functions (UDFs) - Mon, 11 Dec 2023 16:00:00 GMT + Mon, 11 Dec 2023 23:00:00 GMT https://supabase.com/blog/fewer-dimensions-are-better-pgvector pgvector: Fewer dimensions are better https://supabase.com/blog/fewer-dimensions-are-better-pgvector Increase performance in pgvector by using embedding vectors with fewer dimensions - Wed, 02 Aug 2023 16:00:00 GMT + Wed, 02 Aug 2023 22:00:00 GMT https://supabase.com/blog/whats-new-in-pg-graphql-v1-2 What's New in pg_graphql v1.2 https://supabase.com/blog/whats-new-in-pg-graphql-v1-2 New Features in the v1.2 release of pg_graphql - Thu, 20 Apr 2023 16:00:00 GMT + Thu, 20 Apr 2023 22:00:00 GMT https://supabase.com/blog/type-constraints-in-65-lines-of-sql Type Constraints in 65 lines of SQL https://supabase.com/blog/type-constraints-in-65-lines-of-sql Creating validated data types in Postgres - Thu, 16 Feb 2023 16:00:00 GMT + Thu, 16 Feb 2023 23:00:00 GMT https://supabase.com/blog/pg-graphql-v1 pg_graphql v1.0 https://supabase.com/blog/pg-graphql-v1 Announcing the v1.0 release of pg_graphql - Thu, 15 Dec 2022 16:00:00 GMT + Thu, 15 Dec 2022 23:00:00 GMT https://supabase.com/blog/pg-jsonschema-a-postgres-extension-for-json-validation pg_jsonschema: JSON Schema support for Postgres https://supabase.com/blog/pg-jsonschema-a-postgres-extension-for-json-validation Today we're releasing pg_jsonschema, a Postgres extension for JSON validation. - Thu, 18 Aug 2022 16:00:00 GMT + Thu, 18 Aug 2022 22:00:00 GMT https://supabase.com/blog/postgres-audit Postgres Auditing in 150 lines of SQL https://supabase.com/blog/postgres-audit PostgreSQL has a robust set of features which we can leverage to create a generic auditing solution in 150 lines of SQL. - Mon, 07 Mar 2022 16:00:00 GMT + Mon, 07 Mar 2022 23:00:00 GMT diff --git a/apps/www/public/planetpg-paul_copplestone-rss.xml b/apps/www/public/planetpg-paul_copplestone-rss.xml index 3bc16e2002..6859d0a9c7 100644 --- a/apps/www/public/planetpg-paul_copplestone-rss.xml +++ b/apps/www/public/planetpg-paul_copplestone-rss.xml @@ -5,42 +5,42 @@ https://supabase.com/blog Latest Postgres news from Paul Copplestone at Supabase en - Sun, 30 Apr 2023 16:00:00 GMT + Sun, 30 Apr 2023 22:00:00 GMT https://supabase.com/blog/postgres-pluggable-strorage Next steps for Postgres pluggable storage https://supabase.com/blog/postgres-pluggable-strorage Exploring history of Postgres pluggable storage and the possibility of landing it in the Postgres core. - Sun, 30 Apr 2023 16:00:00 GMT + Sun, 30 Apr 2023 22:00:00 GMT https://supabase.com/blog/postgres-crdt pg_crdt - an experimental CRDT extension for Postgres https://supabase.com/blog/postgres-crdt Embedding Yjs and Automerge into Postgres for collaborative applications. - Fri, 09 Dec 2022 16:00:00 GMT + Fri, 09 Dec 2022 23:00:00 GMT https://supabase.com/blog/partial-postgresql-data-dumps-with-rls Partial data dumps using Postgres Row Level Security https://supabase.com/blog/partial-postgresql-data-dumps-with-rls Using RLS to create seed files for local PostgreSQL testing. - Mon, 27 Jun 2022 16:00:00 GMT + Mon, 27 Jun 2022 22:00:00 GMT https://supabase.com/blog/postgres-as-a-cron-server Postgres as a CRON Server https://supabase.com/blog/postgres-as-a-cron-server Running repetitive tasks with your Postgres database. - Thu, 04 Mar 2021 16:00:00 GMT + Thu, 04 Mar 2021 23:00:00 GMT https://supabase.com/blog/postgresql-views Postgres Views https://supabase.com/blog/postgresql-views Creating and using a view in PostgreSQL. - Tue, 17 Nov 2020 16:00:00 GMT + Tue, 17 Nov 2020 23:00:00 GMT diff --git a/apps/www/public/planetpg-pavel-rss.xml b/apps/www/public/planetpg-pavel-rss.xml index 74a4b96c44..9bf35b3865 100644 --- a/apps/www/public/planetpg-pavel-rss.xml +++ b/apps/www/public/planetpg-pavel-rss.xml @@ -26,21 +26,21 @@ pgvector 0.4.0 performance https://supabase.com/blog/pgvector-performance There's been a lot of talk about pgvector performance lately, so we took some datasets and pushed pgvector to the limits to find out its strengths and limitations. - Wed, 12 Jul 2023 16:00:00 GMT + Wed, 12 Jul 2023 22:00:00 GMT https://supabase.com/blog/new-in-postgres-15 What's new in Postgres 15? https://supabase.com/blog/new-in-postgres-15 Describes the release of Postgres 15, new features and reasons to use it - Thu, 15 Dec 2022 16:00:00 GMT + Thu, 15 Dec 2022 23:00:00 GMT https://supabase.com/blog/postgresql-commitfest What is PostgreSQL commitfest and how to contribute https://supabase.com/blog/postgresql-commitfest A time-tested method for contributing to the core Postgres code - Wed, 26 Oct 2022 16:00:00 GMT + Wed, 26 Oct 2022 22:00:00 GMT diff --git a/apps/www/public/planetpg-philipp-rss.xml b/apps/www/public/planetpg-philipp-rss.xml index 62295896d5..7aaabf5980 100644 --- a/apps/www/public/planetpg-philipp-rss.xml +++ b/apps/www/public/planetpg-philipp-rss.xml @@ -5,14 +5,14 @@ https://supabase.com/blog Latest Postgres news from Philipp Steinrötter at Supabase en - Thu, 07 Dec 2023 16:00:00 GMT + Thu, 07 Dec 2023 23:00:00 GMT https://supabase.com/blog/postgres-language-server-implementing-parser Postgres Language Server: implementing the Parser https://supabase.com/blog/postgres-language-server-implementing-parser A detailed analysis of our iterations to implement a Parser for Postgres - Thu, 07 Dec 2023 16:00:00 GMT + Thu, 07 Dec 2023 23:00:00 GMT diff --git a/apps/www/public/planetpg-raminder_singh-rss.xml b/apps/www/public/planetpg-raminder_singh-rss.xml index 0669108b04..78ac26bfda 100644 --- a/apps/www/public/planetpg-raminder_singh-rss.xml +++ b/apps/www/public/planetpg-raminder_singh-rss.xml @@ -5,21 +5,21 @@ https://supabase.com/blog Latest Postgres news from Raminder Singh at Supabase en - Wed, 10 Apr 2024 16:00:00 GMT + Wed, 10 Apr 2024 22:00:00 GMT https://supabase.com/blog/postgres-roles-and-privileges Postgres Roles and Privileges https://supabase.com/blog/postgres-roles-and-privileges A guide to Postgres roles and privileges - Wed, 10 Apr 2024 16:00:00 GMT + Wed, 10 Apr 2024 22:00:00 GMT https://supabase.com/blog/how-pg-graphql-works How pg_graphql works https://supabase.com/blog/how-pg-graphql-works An insight into the internals of GraphQL in Postgres using pg_graphql, and how you can contribute. - Tue, 23 Jan 2024 16:00:00 GMT + Tue, 23 Jan 2024 23:00:00 GMT diff --git a/apps/www/public/planetpg-stas-rss.xml b/apps/www/public/planetpg-stas-rss.xml index 1aec518ee0..ab384bd4cf 100644 --- a/apps/www/public/planetpg-stas-rss.xml +++ b/apps/www/public/planetpg-stas-rss.xml @@ -5,14 +5,14 @@ https://supabase.com/blog Latest Postgres news from Stanislav Muzhyk at Supabase en - Tue, 12 Dec 2023 16:00:00 GMT + Tue, 12 Dec 2023 23:00:00 GMT https://supabase.com/blog/supavisor-postgres-connection-pooler Supavisor 1.0: a scalable connection pooler for Postgres https://supabase.com/blog/supavisor-postgres-connection-pooler Supavisor is now used across all projects, providing a scalable and cloud-native Postgres connection pooler that can handle millions of connections - Tue, 12 Dec 2023 16:00:00 GMT + Tue, 12 Dec 2023 23:00:00 GMT diff --git a/apps/www/public/planetpg-steve_chavez-rss.xml b/apps/www/public/planetpg-steve_chavez-rss.xml index 3fa9a2969f..d847d3c1fb 100644 --- a/apps/www/public/planetpg-steve_chavez-rss.xml +++ b/apps/www/public/planetpg-steve_chavez-rss.xml @@ -5,21 +5,21 @@ https://supabase.com/blog Latest Postgres news from Steve Chavez at Supabase en - Thu, 15 Dec 2022 16:00:00 GMT + Thu, 15 Dec 2022 23:00:00 GMT https://supabase.com/blog/postgrest-11-prerelease PostgREST 11 pre-release https://supabase.com/blog/postgrest-11-prerelease Describes new features of PostgREST 11 pre-release - Thu, 15 Dec 2022 16:00:00 GMT + Thu, 15 Dec 2022 23:00:00 GMT https://supabase.com/blog/roles-postgres-hooks Protecting reserved roles with PostgreSQL Hooks https://supabase.com/blog/roles-postgres-hooks Using Postgres Hooks to protect functionality in your Postgres database. - Thu, 01 Jul 2021 16:00:00 GMT + Thu, 01 Jul 2021 22:00:00 GMT diff --git a/apps/www/public/planetpg-victor-rss.xml b/apps/www/public/planetpg-victor-rss.xml index a5d33f9fea..fa14b827b4 100644 --- a/apps/www/public/planetpg-victor-rss.xml +++ b/apps/www/public/planetpg-victor-rss.xml @@ -5,28 +5,28 @@ https://supabase.com/blog Latest Postgres news from Victor at Supabase en - Thu, 13 Oct 2022 16:00:00 GMT + Thu, 13 Oct 2022 22:00:00 GMT https://supabase.com/blog/postgres-full-text-search-vs-the-rest Postgres Full Text Search vs the rest https://supabase.com/blog/postgres-full-text-search-vs-the-rest Comparing one of the most popular Postgres features against alternatives - Thu, 13 Oct 2022 16:00:00 GMT + Thu, 13 Oct 2022 22:00:00 GMT https://supabase.com/blog/choosing-a-postgres-primary-key Choosing a Postgres Primary Key https://supabase.com/blog/choosing-a-postgres-primary-key Turns out the question of which identifier to use as a Primary Key is complicated -- we're going to dive into some of the complexity and inherent trade-offs, and figure things out - Wed, 07 Sep 2022 16:00:00 GMT + Wed, 07 Sep 2022 22:00:00 GMT https://supabase.com/blog/seen-by-in-postgresql Implementing "seen by" functionality with Postgres https://supabase.com/blog/seen-by-in-postgresql Different approaches for tracking visitor counts with PostgreSQL. - Sun, 17 Jul 2022 16:00:00 GMT + Sun, 17 Jul 2022 22:00:00 GMT diff --git a/apps/www/public/rss.xml b/apps/www/public/rss.xml index a0a6093fff..0206806fab 100644 --- a/apps/www/public/rss.xml +++ b/apps/www/public/rss.xml @@ -5,13 +5,20 @@ https://supabase.com Latest news from Supabase en - Wed, 08 May 2024 22:00:00 GMT + Mon, 17 Jun 2024 22:00:00 GMT + https://supabase.com/blog/calcom-platform-starter-kit-nextjs-supabase + Cal.com launches Expert Marketplace built with Next.js and Supabase. + https://supabase.com/blog/calcom-platform-starter-kit-nextjs-supabase + Cal.com and Supabase team up to build an open-source platform starter kit for developers. + Mon, 17 Jun 2024 22:00:00 GMT + + https://supabase.com/blog/meetup-kahoot-alternative - Kahoot alternative at GA week community meetup + The open source Kahoot alternative https://supabase.com/blog/meetup-kahoot-alternative - How we built a Kahoot alternative for our Supabase meetup to boost up the community meetup. + How we built a Kahoot alternative for the Supabase community meetups. Wed, 08 May 2024 22:00:00 GMT @@ -54,903 +61,903 @@ Supabase Security Advisor & Performance Advisor https://supabase.com/blog/security-performance-advisor We're making it easier to build a secure and high-performing application. - Wed, 17 Apr 2024 16:00:00 GMT + Wed, 17 Apr 2024 22:00:00 GMT https://supabase.com/blog/ga-week-summary Top 10 Launches from Supabase GA Week https://supabase.com/blog/ga-week-summary A recap of the most important launches and updates from the week. - Wed, 17 Apr 2024 16:00:00 GMT + Wed, 17 Apr 2024 22:00:00 GMT https://supabase.com/blog/s3-compatible-storage Supabase Storage: now supports the S3 protocol https://supabase.com/blog/s3-compatible-storage Supabase Storage is now officially an S3-Compatible Storage Provider. - Wed, 17 Apr 2024 16:00:00 GMT + Wed, 17 Apr 2024 22:00:00 GMT https://supabase.com/blog/anonymous-sign-ins Supabase Auth now supports Anonymous Sign-ins https://supabase.com/blog/anonymous-sign-ins Sign in as an anonymous user to authenticate with Supabase - Tue, 16 Apr 2024 16:00:00 GMT + Tue, 16 Apr 2024 22:00:00 GMT https://supabase.com/blog/ai-inference-now-available-in-supabase-edge-functions AI Inference now available in Supabase Edge Functions https://supabase.com/blog/ai-inference-now-available-in-supabase-edge-functions Use embeddings and large language models on the edge with Supabase Edge Functions. - Mon, 15 Apr 2024 16:00:00 GMT + Mon, 15 Apr 2024 22:00:00 GMT https://supabase.com/blog/supabase-swift Supabase Swift https://supabase.com/blog/supabase-swift Supabase Swift is now officially supported. - Sun, 14 Apr 2024 16:00:00 GMT + Sun, 14 Apr 2024 22:00:00 GMT https://supabase.com/blog/supabase-bootstrap Supabase Bootstrap: the fastest way to launch a new project https://supabase.com/blog/supabase-bootstrap Launch a new hosted Supabase project directly from the CLI using pre-built applications. - Sun, 14 Apr 2024 16:00:00 GMT + Sun, 14 Apr 2024 22:00:00 GMT https://supabase.com/blog/supabase-aws-marketplace Supabase on the AWS Marketplace https://supabase.com/blog/supabase-aws-marketplace Supabase is now available on the AWS Marketplace, Simplifying Procurement for Enterprise Customers. - Sun, 14 Apr 2024 16:00:00 GMT + Sun, 14 Apr 2024 22:00:00 GMT https://supabase.com/blog/supabase-aquires-oriole Oriole joins Supabase https://supabase.com/blog/supabase-aquires-oriole The Oriole team are joining Supabase to build a faster storage engine for Postgres. - Sun, 14 Apr 2024 16:00:00 GMT + Sun, 14 Apr 2024 22:00:00 GMT https://supabase.com/blog/branching-publicly-available Branching now Publicly Available https://supabase.com/blog/branching-publicly-available Supabase Branching is now available on Pro Plan and above. - Sun, 14 Apr 2024 16:00:00 GMT + Sun, 14 Apr 2024 22:00:00 GMT https://supabase.com/blog/supabase-oss-hackathon Supabase Open Source Hackathon 2024 https://supabase.com/blog/supabase-oss-hackathon Build an Open Source Project over 10 days. 5 prize categories. - Thu, 11 Apr 2024 16:00:00 GMT + Thu, 11 Apr 2024 22:00:00 GMT https://supabase.com/blog/postgres-roles-and-privileges Postgres Roles and Privileges https://supabase.com/blog/postgres-roles-and-privileges A guide to Postgres roles and privileges - Wed, 10 Apr 2024 16:00:00 GMT + Wed, 10 Apr 2024 22:00:00 GMT https://supabase.com/blog/pg-paper-dump Announcing Data Preservation Service https://supabase.com/blog/pg-paper-dump Secure, reliable and timeless backups - Sun, 31 Mar 2024 16:00:00 GMT + Sun, 31 Mar 2024 22:00:00 GMT https://supabase.com/blog/semantic-image-search-amazon-bedrock Implementing semantic image search with Amazon Titan and Supabase Vector https://supabase.com/blog/semantic-image-search-amazon-bedrock Implementing semantic image search with Amazon Titan and Supabase Vector in Python. - Mon, 25 Mar 2024 16:00:00 GMT + Mon, 25 Mar 2024 23:00:00 GMT https://supabase.com/blog/postgrest-aggregate-functions PostgREST Aggregate Functions https://supabase.com/blog/postgrest-aggregate-functions Summarize your data by performing calculations across groups of rows in PostgREST - Wed, 28 Feb 2024 16:00:00 GMT + Wed, 28 Feb 2024 23:00:00 GMT https://supabase.com/blog/content-recommendation-with-flutter Build a content recommendation app with Flutter and OpenAI https://supabase.com/blog/content-recommendation-with-flutter Build a movie-viewing app that recommends another movie based on what the user is viewing using OpenAI, Flutter and Supabase. - Sun, 25 Feb 2024 16:00:00 GMT + Sun, 25 Feb 2024 23:00:00 GMT https://supabase.com/blog/automating-performance-tests Automating performance tests https://supabase.com/blog/automating-performance-tests Learn about our story to get to the automated performance testing. - Tue, 20 Feb 2024 16:00:00 GMT + Tue, 20 Feb 2024 23:00:00 GMT https://supabase.com/blog/matryoshka-embeddings Matryoshka embeddings: faster OpenAI vector search using Adaptive Retrieval https://supabase.com/blog/matryoshka-embeddings Use Adaptive Retrieval to improve query performance with OpenAI's new embedding models - Mon, 12 Feb 2024 16:00:00 GMT + Mon, 12 Feb 2024 23:00:00 GMT https://supabase.com/blog/nosql-mongodb-compatibility-with-ferretdb-and-flydotio NoSQL Postgres: Add MongoDB compatibility to your Supabase projects with FerretDB https://supabase.com/blog/nosql-mongodb-compatibility-with-ferretdb-and-flydotio NoSQL Postgres: Add MongoDB compatibility to your Supabase projects with FerretDB - Tue, 30 Jan 2024 16:00:00 GMT + Tue, 30 Jan 2024 23:00:00 GMT https://supabase.com/blog/pgvector-fast-builds pgvector 0.6.0: 30x faster with parallel index builds https://supabase.com/blog/pgvector-fast-builds pgvector 0.6.0 brings a significant improvement: parallel index builds for HNSW. Building an HNSW index is now up to 30x faster for unlogged tables. - Mon, 29 Jan 2024 16:00:00 GMT + Mon, 29 Jan 2024 23:00:00 GMT https://supabase.com/blog/ruby-on-rails-postgres Getting started with Ruby on Rails and Postgres on Supabase https://supabase.com/blog/ruby-on-rails-postgres Learn how to create a new Rails app and connect it to a Supabase Postgres database. - Sun, 28 Jan 2024 16:00:00 GMT + Sun, 28 Jan 2024 23:00:00 GMT https://supabase.com/blog/flutter-figma-clone Create a Figma Clone app with Flutter and Supabase Realtime https://supabase.com/blog/flutter-figma-clone A tutorial on how to build a collaborative design app like Figma using Flutter and Supabase Realtime. - Thu, 25 Jan 2024 16:00:00 GMT + Thu, 25 Jan 2024 23:00:00 GMT https://supabase.com/blog/how-pg-graphql-works How pg_graphql works https://supabase.com/blog/how-pg-graphql-works An insight into the internals of GraphQL in Postgres using pg_graphql, and how you can contribute. - Tue, 23 Jan 2024 16:00:00 GMT + Tue, 23 Jan 2024 23:00:00 GMT https://supabase.com/blog/laravel-postgres Getting started with Laravel and Postgres https://supabase.com/blog/laravel-postgres Learn how to create a new Laravel PHP app and connect it to a Supabase PostgreSQL database. - Sun, 21 Jan 2024 16:00:00 GMT + Sun, 21 Jan 2024 23:00:00 GMT https://supabase.com/blog/what-is-saml-authentication What is SAML? A practical guide to the authentication protocol https://supabase.com/blog/what-is-saml-authentication Learn what is SAML authentication, how it differentiates from SSO, SAML with Postgres, and more. - Tue, 16 Jan 2024 16:00:00 GMT + Tue, 16 Jan 2024 23:00:00 GMT https://supabase.com/blog/ipv6 Brace yourself, IPv6 is coming https://supabase.com/blog/ipv6 On February 1st 2024, AWS will start charging for IPv4 addresses. This is a big deal for the internet, and we're here to help you prepare. - Thu, 11 Jan 2024 16:00:00 GMT + Thu, 11 Jan 2024 23:00:00 GMT https://supabase.com/blog/react-query-nextjs-app-router-cache-helpers Using React Query with Next.js App Router and Supabase Cache Helpers https://supabase.com/blog/react-query-nextjs-app-router-cache-helpers Learn how to use React Query in Next.js Client & Server Components for data fetching with Supabase. - Thu, 11 Jan 2024 16:00:00 GMT + Thu, 11 Jan 2024 23:00:00 GMT https://supabase.com/blog/elixir-clustering-using-postgres Elixir clustering using Postgres https://supabase.com/blog/elixir-clustering-using-postgres Learn about our approach to connecting multiple nodes in Elixir using Postgres - Mon, 08 Jan 2024 16:00:00 GMT + Mon, 08 Jan 2024 23:00:00 GMT https://supabase.com/blog/beta-update-december-2023 Supabase Beta December 2023 https://supabase.com/blog/beta-update-december-2023 A Launch Week X rundown with all the fantastic goodies we shipped - Thu, 04 Jan 2024 16:00:00 GMT + Thu, 04 Jan 2024 23:00:00 GMT https://supabase.com/blog/launch-week-x-hackathon-winners Launch Week X Hackathon Winners https://supabase.com/blog/launch-week-x-hackathon-winners Announcing the winners of the Launch Week X Hackathon! - Wed, 03 Jan 2024 16:00:00 GMT + Wed, 03 Jan 2024 23:00:00 GMT https://supabase.com/blog/launch-week-x-best-launches Top 10 Launches of LWX https://supabase.com/blog/launch-week-x-best-launches Our CEO takes a look at his favorite ships from LWX - Mon, 18 Dec 2023 16:00:00 GMT + Mon, 18 Dec 2023 23:00:00 GMT https://supabase.com/blog/introducing-read-replicas Introducing Read Replicas https://supabase.com/blog/introducing-read-replicas We are launching support for Postgres Read Replicas - Thu, 14 Dec 2023 16:00:00 GMT + Thu, 14 Dec 2023 23:00:00 GMT https://supabase.com/blog/client-libraries-v2 Supabase Libraries V2: Python, Swift, Kotlin, Flutter, and Typescript https://supabase.com/blog/client-libraries-v2 Swift, Kotlin, C#, and Python are now stable and moving to the v2 API. - Thu, 14 Dec 2023 16:00:00 GMT + Thu, 14 Dec 2023 23:00:00 GMT https://supabase.com/blog/postgres-on-fly-by-supabase Fly Postgres, managed by Supabase https://supabase.com/blog/postgres-on-fly-by-supabase A managed Postgres offering developed by Supabase and Fly.io - Thu, 14 Dec 2023 16:00:00 GMT + Thu, 14 Dec 2023 23:00:00 GMT https://supabase.com/blog/supabase-auth-identity-linking-hooks Supabase Auth: Identity Linking, Hooks, and HaveIBeenPwned integration https://supabase.com/blog/supabase-auth-identity-linking-hooks Four major Auth features: Identity Linking, Session Control, Leaked Password Protection, and Hooks - Wed, 13 Dec 2023 16:00:00 GMT + Wed, 13 Dec 2023 23:00:00 GMT https://supabase.com/blog/supabase-wrappers-v02 Supabase Wrappers v0.2: Query Pushdown & Remote Subqueries https://supabase.com/blog/supabase-wrappers-v02 Supabase Wrappers v0.2 brings more Wrappers, query pushdown, remote subquery, and more - Wed, 13 Dec 2023 16:00:00 GMT + Wed, 13 Dec 2023 23:00:00 GMT https://supabase.com/blog/supabase-branching Supabase Branching https://supabase.com/blog/supabase-branching A Postgres database for every Pull Request. - Tue, 12 Dec 2023 16:00:00 GMT + Tue, 12 Dec 2023 23:00:00 GMT https://supabase.com/blog/supavisor-postgres-connection-pooler Supavisor 1.0: a scalable connection pooler for Postgres https://supabase.com/blog/supavisor-postgres-connection-pooler Supavisor is now used across all projects, providing a scalable and cloud-native Postgres connection pooler that can handle millions of connections - Tue, 12 Dec 2023 16:00:00 GMT + Tue, 12 Dec 2023 23:00:00 GMT https://supabase.com/blog/postgrest-12 PostgREST 12 https://supabase.com/blog/postgrest-12 PostgREST 12 is out and we take a look at some of the major new features like JWT Caching and Aggregate Functions - Tue, 12 Dec 2023 16:00:00 GMT + Tue, 12 Dec 2023 23:00:00 GMT https://supabase.com/blog/edge-functions-node-npm Edge Functions: Node and native npm compatibility https://supabase.com/blog/edge-functions-node-npm We're adding Node and native npm compatibility for Edge Functions. - Mon, 11 Dec 2023 16:00:00 GMT + Mon, 11 Dec 2023 23:00:00 GMT https://supabase.com/blog/pg-graphql-postgres-functions pg_graphql: Postgres functions now supported https://supabase.com/blog/pg-graphql-postgres-functions pg_graphql now supports the most requested feature: Postgres functions a.k.a. User Defined Functions (UDFs) - Mon, 11 Dec 2023 16:00:00 GMT + Mon, 11 Dec 2023 23:00:00 GMT https://supabase.com/blog/studio-introducing-assistant Supabase Studio: AI Assistant and User Impersonation https://supabase.com/blog/studio-introducing-assistant We're introducing the next generation of our AI Assistant and some features that will help get your ideas into code even faster. - Sun, 10 Dec 2023 16:00:00 GMT + Sun, 10 Dec 2023 23:00:00 GMT https://supabase.com/blog/postgres-language-server-implementing-parser Postgres Language Server: implementing the Parser https://supabase.com/blog/postgres-language-server-implementing-parser A detailed analysis of our iterations to implement a Parser for Postgres - Thu, 07 Dec 2023 16:00:00 GMT + Thu, 07 Dec 2023 23:00:00 GMT https://supabase.com/blog/how-design-works-at-supabase How design works at Supabase https://supabase.com/blog/how-design-works-at-supabase The transformative journey of Supabase's Design team and its unique culture to enhance the output and quality of the entire company. - Thu, 07 Dec 2023 16:00:00 GMT + Thu, 07 Dec 2023 23:00:00 GMT https://supabase.com/blog/supabase-hackathon-lwx Supabase Launch Week X Hackathon https://supabase.com/blog/supabase-hackathon-lwx Build an Open Source Project over 10 days. 5 prize categories. - Mon, 04 Dec 2023 16:00:00 GMT + Mon, 04 Dec 2023 23:00:00 GMT https://supabase.com/blog/community-meetups-lwx Launch Week X Community Meetups https://supabase.com/blog/community-meetups-lwx The Supabase Community Meetups are back, and this time we've got more events happening all over the world! - Mon, 04 Dec 2023 16:00:00 GMT + Mon, 04 Dec 2023 23:00:00 GMT https://supabase.com/blog/beta-update-november-2023 Supabase Beta November 2023 https://supabase.com/blog/beta-update-november-2023 Launch Week X is coming! But we still have cool updates that we couldn't fit next week. - Mon, 04 Dec 2023 16:00:00 GMT + Mon, 04 Dec 2023 23:00:00 GMT https://supabase.com/blog/automatic-cli-login Automatic CLI login https://supabase.com/blog/automatic-cli-login Explore the technical implementation and security measures behind CLI's new automatic login feature. - Thu, 30 Nov 2023 16:00:00 GMT + Thu, 30 Nov 2023 23:00:00 GMT https://supabase.com/blog/oauth2-login-python-flask-apps GitHub OAuth in your Python Flask app https://supabase.com/blog/oauth2-login-python-flask-apps A step-by-step guide on building Login with Github into your Python apps. - Mon, 20 Nov 2023 16:00:00 GMT + Mon, 20 Nov 2023 23:00:00 GMT https://supabase.com/blog/react-native-authentication Getting started with React Native authentication https://supabase.com/blog/react-native-authentication Learn how to implement authentication in your React Native applications. - Wed, 15 Nov 2023 16:00:00 GMT + Wed, 15 Nov 2023 23:00:00 GMT https://supabase.com/blog/beta-update-october-2023 Supabase Beta October 2023 https://supabase.com/blog/beta-update-october-2023 Brand-new features, community content, and (more importantly) the date for our next Launch Week. - Sun, 05 Nov 2023 16:00:00 GMT + Sun, 05 Nov 2023 23:00:00 GMT https://supabase.com/blog/supabase-is-now-compatible-with-nextjs-14 Supabase is now compatible with Next.js 14 https://supabase.com/blog/supabase-is-now-compatible-with-nextjs-14 The fastest way to build apps with Next.js 14 and Supabase - Tue, 31 Oct 2023 16:00:00 GMT + Tue, 31 Oct 2023 23:00:00 GMT https://supabase.com/blog/pgvector-vs-pinecone pgvector vs Pinecone: cost and performance https://supabase.com/blog/pgvector-vs-pinecone Direct performance comparison between pgvector and Pinecone. - Mon, 09 Oct 2023 16:00:00 GMT + Mon, 09 Oct 2023 22:00:00 GMT https://supabase.com/blog/react-native-offline-first-watermelon-db Offline-first React Native Apps with Expo, WatermelonDB, and Supabase https://supabase.com/blog/react-native-offline-first-watermelon-db Store your data locally and sync it with Postgres using WatermelonDB! - Sat, 07 Oct 2023 16:00:00 GMT + Sat, 07 Oct 2023 22:00:00 GMT https://supabase.com/blog/beta-update-september-2023 Supabase Beta September 2023 https://supabase.com/blog/beta-update-september-2023 September was packed with so many new features and releases that it might have seemed like another Launch Week, but it wasn't! - Tue, 03 Oct 2023 16:00:00 GMT + Tue, 03 Oct 2023 22:00:00 GMT https://supabase.com/blog/postgres-dynamic-table-partitioning Dynamic Table Partitioning in Postgres https://supabase.com/blog/postgres-dynamic-table-partitioning Learn how to scale large postgres tables in place and increase query performance. - Mon, 02 Oct 2023 16:00:00 GMT + Mon, 02 Oct 2023 22:00:00 GMT https://supabase.com/blog/beta-update-august-2023 Supabase Beta August 2023 https://supabase.com/blog/beta-update-august-2023 Launch Week 8 review and more things we shipped 🚀 - Thu, 07 Sep 2023 16:00:00 GMT + Thu, 07 Sep 2023 22:00:00 GMT https://supabase.com/blog/increase-performance-pgvector-hnsw pgvector v0.5.0: Faster semantic search with HNSW indexes https://supabase.com/blog/increase-performance-pgvector-hnsw Increase performance in pgvector using HNSW indexes - Tue, 05 Sep 2023 16:00:00 GMT + Tue, 05 Sep 2023 22:00:00 GMT https://supabase.com/blog/organization-based-billing Organization-based Billing, Project Transfers, Team plan https://supabase.com/blog/organization-based-billing Introducing the new Organization-based Billing - Wed, 30 Aug 2023 16:00:00 GMT + Wed, 30 Aug 2023 22:00:00 GMT https://supabase.com/blog/launch-week-8-hackathon-winners Launch Week 8 Hackathon Winners https://supabase.com/blog/launch-week-8-hackathon-winners Announcing the winners of the Launch Week 8 Hackathon! - Wed, 23 Aug 2023 16:00:00 GMT + Wed, 23 Aug 2023 22:00:00 GMT https://supabase.com/blog/supavisor-1-million Supavisor: Scaling Postgres to 1 Million Connections https://supabase.com/blog/supavisor-1-million Supavisor is a scalable, cloud-native Postgres connection pooler. We connected a million clients to it to see how it performs. - Thu, 10 Aug 2023 16:00:00 GMT + Thu, 10 Aug 2023 22:00:00 GMT https://supabase.com/blog/supabase-soc2-hipaa Supabase is now HIPAA and SOC2 Type 2 compliant https://supabase.com/blog/supabase-soc2-hipaa This documents our journey from SOC2 Type 1 to SOC2 Type2 and HIPAA compliance. You can start building healthcare apps on Supabase today. - Thu, 10 Aug 2023 16:00:00 GMT + Thu, 10 Aug 2023 22:00:00 GMT https://supabase.com/blog/launch-week-8-community-highlights Launch Week 8 Community Highlights https://supabase.com/blog/launch-week-8-community-highlights Highlights from the community for the past 4 months. - Thu, 10 Aug 2023 16:00:00 GMT + Thu, 10 Aug 2023 22:00:00 GMT https://supabase.com/blog/supabase-integrations-marketplace Supabase Integrations Marketplace https://supabase.com/blog/supabase-integrations-marketplace Become a Supabase Integrations Partner: Publish OAuth Apps and Build with Supabase. - Wed, 09 Aug 2023 16:00:00 GMT + Wed, 09 Aug 2023 22:00:00 GMT https://supabase.com/blog/using-supabase-with-vercel Vercel Integration and Next.js App Router Support https://supabase.com/blog/using-supabase-with-vercel Using Supabase with Vercel and Next.js is now a lot easier. - Wed, 09 Aug 2023 16:00:00 GMT + Wed, 09 Aug 2023 22:00:00 GMT https://supabase.com/blog/supabase-studio-3-0 Supabase Studio 3.0: AI SQL Editor, Schema Diagrams, and new Wrappers https://supabase.com/blog/supabase-studio-3-0 Supabase Studio now comes with an AI assisted SQL Editor, schema diagrams, and much more. - Tue, 08 Aug 2023 16:00:00 GMT + Tue, 08 Aug 2023 22:00:00 GMT https://supabase.com/blog/supabase-local-dev Supabase Local Dev: migrations, branching, and observability https://supabase.com/blog/supabase-local-dev New features to streamline the interaction between CLI, code editors, and remote databases. - Mon, 07 Aug 2023 16:00:00 GMT + Mon, 07 Aug 2023 22:00:00 GMT https://supabase.com/blog/hugging-face-supabase Hugging Face is now supported in Supabase https://supabase.com/blog/hugging-face-supabase We've added support Hugging Face support in our Python Vector Client and Edge Functions. - Sun, 06 Aug 2023 16:00:00 GMT + Sun, 06 Aug 2023 22:00:00 GMT https://supabase.com/blog/why-supabase-remote Why we'll stay remote https://supabase.com/blog/why-supabase-remote Offices are making a comeback, just not at Supabase. - Fri, 04 Aug 2023 16:00:00 GMT + Fri, 04 Aug 2023 22:00:00 GMT https://supabase.com/blog/interactive-constellation-threejs-react-three-fiber Coding the stars - an interactive constellation with Three.js and React Three Fiber https://supabase.com/blog/interactive-constellation-threejs-react-three-fiber How we built a constellation of stars with Three.js and React Three Fiber. - Thu, 03 Aug 2023 16:00:00 GMT + Thu, 03 Aug 2023 22:00:00 GMT https://supabase.com/blog/fewer-dimensions-are-better-pgvector pgvector: Fewer dimensions are better https://supabase.com/blog/fewer-dimensions-are-better-pgvector Increase performance in pgvector by using embedding vectors with fewer dimensions - Wed, 02 Aug 2023 16:00:00 GMT + Wed, 02 Aug 2023 22:00:00 GMT https://supabase.com/blog/beta-update-july-2023 Supabase Beta July 2023 https://supabase.com/blog/beta-update-july-2023 Launch Week 8 is coming - but we still shipped some goodies during July - Tue, 01 Aug 2023 16:00:00 GMT + Tue, 01 Aug 2023 22:00:00 GMT https://supabase.com/blog/react-native-storage React Native file upload with Supabase Storage https://supabase.com/blog/react-native-storage Learn how to implement authentication and file upload in a React Native app. - Mon, 31 Jul 2023 16:00:00 GMT + Mon, 31 Jul 2023 22:00:00 GMT https://supabase.com/blog/supabase-lw8-hackathon Supabase Launch Week 8 Hackathon https://supabase.com/blog/supabase-lw8-hackathon Build an Open Source Project over 10 days. 5 prize categories. - Mon, 24 Jul 2023 16:00:00 GMT + Mon, 24 Jul 2023 22:00:00 GMT https://supabase.com/blog/flutter-authentication Getting started with Flutter authentication https://supabase.com/blog/flutter-authentication Learn how authentication on Flutter works through Google sign in with Supabase auth. - Mon, 17 Jul 2023 16:00:00 GMT + Mon, 17 Jul 2023 22:00:00 GMT https://supabase.com/blog/pgvector-performance pgvector 0.4.0 performance https://supabase.com/blog/pgvector-performance There's been a lot of talk about pgvector performance lately, so we took some datasets and pushed pgvector to the limits to find out its strengths and limitations. - Wed, 12 Jul 2023 16:00:00 GMT + Wed, 12 Jul 2023 22:00:00 GMT https://supabase.com/blog/postgrest-11-1-release What is new in PostgREST v11.1? https://supabase.com/blog/postgrest-11-1-release Impersonated Role Settings, Configurable Isolation Level, improved Bulk Insert, and more - Tue, 11 Jul 2023 16:00:00 GMT + Tue, 11 Jul 2023 22:00:00 GMT https://supabase.com/blog/supabase-beta-update-june-2023 Supabase Beta June 2023 https://supabase.com/blog/supabase-beta-update-june-2023 A plethora of announcements... read till the end to find out when is the new Launch Week - Wed, 05 Jul 2023 16:00:00 GMT + Wed, 05 Jul 2023 22:00:00 GMT https://supabase.com/blog/native-mobile-auth Native Mobile Auth Support for Google and Apple Sign in https://supabase.com/blog/native-mobile-auth Supabase auth adds full support for native mobile sign in with Apple and Google. - Mon, 26 Jun 2023 16:00:00 GMT + Mon, 26 Jun 2023 22:00:00 GMT https://supabase.com/blog/supabase-beta-update-may-2023 Supabase Beta May 2023 https://supabase.com/blog/supabase-beta-update-may-2023 Learn about the great things we shipped last month. Spoiler alert... lots of AI. - Thu, 08 Jun 2023 16:00:00 GMT + Thu, 08 Jun 2023 22:00:00 GMT https://supabase.com/blog/vecs Supabase Vecs: a vector client for Postgres https://supabase.com/blog/vecs Introducing Supabase Vecs, a PostgreSQL vector client - Sun, 28 May 2023 16:00:00 GMT + Sun, 28 May 2023 22:00:00 GMT https://supabase.com/blog/flutter-hackathon-winners Flutter Hackathon Winners https://supabase.com/blog/flutter-hackathon-winners Announcing the winners of the Flutter Hackathon! - Sun, 28 May 2023 16:00:00 GMT + Sun, 28 May 2023 22:00:00 GMT https://supabase.com/blog/chatgpt-plugins-support-postgres ChatGPT plugins now support Postgres & Supabase https://supabase.com/blog/chatgpt-plugins-support-postgres Supabase recently contributed to the OpenAI Retrieval Plugin repo with a Postgres and a Supabase implementation to help developers build ChatGPT plugins using pgvector. - Wed, 24 May 2023 16:00:00 GMT + Wed, 24 May 2023 22:00:00 GMT https://supabase.com/blog/building-chatgpt-plugins-template Building ChatGPT Plugins with Supabase Edge Runtime https://supabase.com/blog/building-chatgpt-plugins-template We're releasing a ChatGPT plugin template written in TypeScript and running on Deno! - Sun, 14 May 2023 16:00:00 GMT + Sun, 14 May 2023 22:00:00 GMT https://supabase.com/blog/flutter-hackathon Flutter Hackathon https://supabase.com/blog/flutter-hackathon Build Flutter apps and win limited edition swag. - Thu, 11 May 2023 16:00:00 GMT + Thu, 11 May 2023 22:00:00 GMT https://supabase.com/blog/supabase-beta-update-april-2023 Supabase Beta April 2023 https://supabase.com/blog/supabase-beta-update-april-2023 A review of Launch Week 7 and more exciting updates from last month. - Mon, 08 May 2023 16:00:00 GMT + Mon, 08 May 2023 22:00:00 GMT https://supabase.com/blog/flutter-multi-factor-authentication Securing your Flutter apps with Multi-Factor Authentication https://supabase.com/blog/flutter-multi-factor-authentication Build a Flutter app where the user is required to authenticate using Multi-Factor Authentication. - Wed, 03 May 2023 16:00:00 GMT + Wed, 03 May 2023 22:00:00 GMT https://supabase.com/blog/postgres-pluggable-strorage Next steps for Postgres pluggable storage https://supabase.com/blog/postgres-pluggable-strorage Exploring history of Postgres pluggable storage and the possibility of landing it in the Postgres core. - Sun, 30 Apr 2023 16:00:00 GMT + Sun, 30 Apr 2023 22:00:00 GMT https://supabase.com/blog/launch-week-7-hackathon-winners Launch Week 7 Hackathon Winners https://supabase.com/blog/launch-week-7-hackathon-winners Announcing the winners of the Launch Week 7 Hackathon! - Sun, 23 Apr 2023 16:00:00 GMT + Sun, 23 Apr 2023 22:00:00 GMT https://supabase.com/blog/whats-new-in-pg-graphql-v1-2 What's New in pg_graphql v1.2 https://supabase.com/blog/whats-new-in-pg-graphql-v1-2 New Features in the v1.2 release of pg_graphql - Thu, 20 Apr 2023 16:00:00 GMT + Thu, 20 Apr 2023 22:00:00 GMT https://supabase.com/blog/supabase-studio-2.0 Supabase Studio 2.0: help when you need it most https://supabase.com/blog/supabase-studio-2.0 Supabase Studio now comes with ChatGPT, and GraphiQL built in, Cascade Deletes, and Foreign Key Selectors, and much more. - Thu, 13 Apr 2023 16:00:00 GMT + Thu, 13 Apr 2023 22:00:00 GMT https://supabase.com/blog/dbdev dbdev: PostgreSQL Package Manager https://supabase.com/blog/dbdev We're publicly previewing dbdev, a PostgreSQL package manager. - Thu, 13 Apr 2023 16:00:00 GMT + Thu, 13 Apr 2023 22:00:00 GMT https://supabase.com/blog/pg-tle Trusted Language Extensions for Postgres https://supabase.com/blog/pg-tle We're collaborating with AWS to bring Trusted Language Extensions to Postgres. - Thu, 13 Apr 2023 16:00:00 GMT + Thu, 13 Apr 2023 22:00:00 GMT https://supabase.com/blog/launch-week-7-community-highlights Launch Week 7 Community Highlights https://supabase.com/blog/launch-week-7-community-highlights We're honored to work with, sponsor, and support incredible people and tools. Here is a highlight of the last 3 months. - Thu, 13 Apr 2023 16:00:00 GMT + Thu, 13 Apr 2023 22:00:00 GMT https://supabase.com/blog/supabase-auth-sso-pkce Supabase Auth: SSO, Mobile, and Server-side support https://supabase.com/blog/supabase-auth-sso-pkce Supacharging Supabase Auth with Sign in with Apple on iOS, Single-Sign-On support with SAML 2.0, and PKCE for server-side rendering and mobile auth. - Wed, 12 Apr 2023 16:00:00 GMT + Wed, 12 Apr 2023 22:00:00 GMT https://supabase.com/blog/storage-v3-resumable-uploads Supabase Storage v3: Resumable Uploads with support for 50GB files https://supabase.com/blog/storage-v3-resumable-uploads Storage V3 with lots of new features including resumable uploads, more image transformationsm a Next.js image loader and more. - Tue, 11 Apr 2023 16:00:00 GMT + Tue, 11 Apr 2023 22:00:00 GMT https://supabase.com/blog/edge-runtime-self-hosted-deno-functions Supabase Edge Runtime: Self-hosted Deno Functions https://supabase.com/blog/edge-runtime-self-hosted-deno-functions We are open-sourcing Supabase Edge Runtime allowing you to host your Edge Functions anywhere. - Mon, 10 Apr 2023 16:00:00 GMT + Mon, 10 Apr 2023 22:00:00 GMT https://supabase.com/blog/supabase-logs-self-hosted Supabase Logs: open source logging server https://supabase.com/blog/supabase-logs-self-hosted We're releasing Supabase Logs for both self-hosted users and CLI development. - Sun, 09 Apr 2023 16:00:00 GMT + Sun, 09 Apr 2023 22:00:00 GMT https://supabase.com/blog/supabase-beta-update-march-2023 Supabase Beta March 2023 https://supabase.com/blog/supabase-beta-update-march-2023 We are in full shipping mode 🛥️… Launch Week 7 can’t come quickly enough! - Fri, 07 Apr 2023 16:00:00 GMT + Fri, 07 Apr 2023 22:00:00 GMT https://supabase.com/blog/launch-week-7-hackathon The Supabase AI Hackathon https://supabase.com/blog/launch-week-7-hackathon Build an Open Source Project over 10 days. 5 prize categories. - Thu, 06 Apr 2023 16:00:00 GMT + Thu, 06 Apr 2023 22:00:00 GMT https://supabase.com/blog/designing-with-ai-midjourney Designing with AI: Generating unique artwork for every user https://supabase.com/blog/designing-with-ai-midjourney Using MidJourney to generative artwork and serving ticket images with Edge Functions - Thu, 06 Apr 2023 16:00:00 GMT + Thu, 06 Apr 2023 22:00:00 GMT https://supabase.com/blog/infinite-scroll-with-nextjs-framer-motion Infinite scroll with Next.js, Framer Motion, and Supabase https://supabase.com/blog/infinite-scroll-with-nextjs-framer-motion Lazy load and paginate data on scroll with Next.js and a sprinkle of Framer Motion magic ✨ - Mon, 03 Apr 2023 16:00:00 GMT + Mon, 03 Apr 2023 22:00:00 GMT https://supabase.com/blog/supaclub SupaClub https://supabase.com/blog/supaclub The Worlds First Software Engineering Nightclub. - Fri, 31 Mar 2023 16:00:00 GMT + Fri, 31 Mar 2023 22:00:00 GMT https://supabase.com/blog/supabase-beta-update-february-2023 Supabase Beta February 2023 https://supabase.com/blog/supabase-beta-update-february-2023 There is something for everybody this month - AI, Auth, Database, Edge Functions, GraphQL … you name it! - Wed, 08 Mar 2023 16:00:00 GMT + Wed, 08 Mar 2023 23:00:00 GMT https://supabase.com/blog/geo-queries-with-postgis-in-ionic-angular Geo Queries with PostGIS in Ionic Angular https://supabase.com/blog/geo-queries-with-postgis-in-ionic-angular Using the PostGIS extension to build a cross-platform application with Ionic Angular. - Tue, 28 Feb 2023 16:00:00 GMT + Tue, 28 Feb 2023 23:00:00 GMT https://supabase.com/blog/type-constraints-in-65-lines-of-sql Type Constraints in 65 lines of SQL https://supabase.com/blog/type-constraints-in-65-lines-of-sql Creating validated data types in Postgres - Thu, 16 Feb 2023 16:00:00 GMT + Thu, 16 Feb 2023 23:00:00 GMT https://supabase.com/blog/case-study-happyteams HappyTeams unlocks better performance and reduces cost with Supabase https://supabase.com/blog/case-study-happyteams How a bootstrapped startup migrated from Heroku to Supabase in 30 minutes and never looked back - Wed, 15 Feb 2023 16:00:00 GMT + Wed, 15 Feb 2023 23:00:00 GMT https://supabase.com/blog/flutter-real-time-multiplayer-game How to build a real-time multiplayer game with Flutter Flame https://supabase.com/blog/flutter-real-time-multiplayer-game Build a real-time multiplayer game using Flutter, Flame, and Supabase realtime. - Mon, 13 Feb 2023 16:00:00 GMT + Mon, 13 Feb 2023 23:00:00 GMT https://supabase.com/blog/supabase-beta-january-2023 Supabase Beta January 2023 https://supabase.com/blog/supabase-beta-january-2023 New Postgres extensions, pg_graphql updates, changes to Edge Functions, and more! - Tue, 07 Feb 2023 16:00:00 GMT + Tue, 07 Feb 2023 23:00:00 GMT https://supabase.com/blog/chatgpt-supabase-docs Supabase Clippy: ChatGPT for Supabase Docs https://supabase.com/blog/chatgpt-supabase-docs Creating a ChatGPT interface for the Supabase documentation. - Mon, 06 Feb 2023 16:00:00 GMT + Mon, 06 Feb 2023 23:00:00 GMT https://supabase.com/blog/openai-embeddings-postgres-vector Storing OpenAI embeddings in Postgres with pgvector https://supabase.com/blog/openai-embeddings-postgres-vector An example of how to build an AI-powered search engine using OpenAI's embeddings and PostgreSQL. - Sun, 05 Feb 2023 16:00:00 GMT + Sun, 05 Feb 2023 23:00:00 GMT https://supabase.com/blog/supabase-beta-december-2022 Supabase Beta December 2022 https://supabase.com/blog/supabase-beta-december-2022 This month the Beta Update is a Launch Week 6 Special, where we review the cascade of announcements. - Wed, 04 Jan 2023 16:00:00 GMT + Wed, 04 Jan 2023 23:00:00 GMT https://supabase.com/blog/launch-week-6-hackathon-winners Launch Week 6 Hackathon Winners https://supabase.com/blog/launch-week-6-hackathon-winners Announcing the winners of the Launch Week 6 Hackathon! - Mon, 02 Jan 2023 16:00:00 GMT + Mon, 02 Jan 2023 23:00:00 GMT https://supabase.com/blog/vault-now-in-beta Supabase Vault is now in Beta https://supabase.com/blog/vault-now-in-beta A Postgres extension to store encrypted secrets and encrypt data. - Thu, 15 Dec 2022 16:00:00 GMT + Thu, 15 Dec 2022 23:00:00 GMT https://supabase.com/blog/postgrest-11-prerelease PostgREST 11 pre-release https://supabase.com/blog/postgrest-11-prerelease Describes new features of PostgREST 11 pre-release - Thu, 15 Dec 2022 16:00:00 GMT + Thu, 15 Dec 2022 23:00:00 GMT https://supabase.com/blog/postgres-point-in-time-recovery Point in Time Recovery is now available for Pro projects https://supabase.com/blog/postgres-point-in-time-recovery We're making PITR available for more projects, with a new Dashboard UI that makes it simple to use. - Thu, 15 Dec 2022 16:00:00 GMT + Thu, 15 Dec 2022 23:00:00 GMT https://supabase.com/blog/pg-graphql-v1 pg_graphql v1.0 https://supabase.com/blog/pg-graphql-v1 Announcing the v1.0 release of pg_graphql - Thu, 15 Dec 2022 16:00:00 GMT + Thu, 15 Dec 2022 23:00:00 GMT https://supabase.com/blog/new-in-postgres-15 What's new in Postgres 15? https://supabase.com/blog/new-in-postgres-15 Describes the release of Postgres 15, new features and reasons to use it - Thu, 15 Dec 2022 16:00:00 GMT + Thu, 15 Dec 2022 23:00:00 GMT https://supabase.com/blog/launch-week-6-wrap-up Launch Week 6: Wrap Up https://supabase.com/blog/launch-week-6-wrap-up That's a wrap on Supabase Launch Week Day 6. Here's everything we shipped in one long blog post. - Thu, 15 Dec 2022 16:00:00 GMT + Thu, 15 Dec 2022 23:00:00 GMT https://supabase.com/blog/launch-week-6-community-day Community Day https://supabase.com/blog/launch-week-6-community-day Wrapping up Launch Week 6 with contributors, partners, and friends. - Thu, 15 Dec 2022 16:00:00 GMT + Thu, 15 Dec 2022 23:00:00 GMT https://supabase.com/blog/custom-domain-names Custom Domain Names https://supabase.com/blog/custom-domain-names Change your Supabase project's domain name to your own domain. - Thu, 15 Dec 2022 16:00:00 GMT + Thu, 15 Dec 2022 23:00:00 GMT https://supabase.com/blog/postgres-foreign-data-wrappers-rust Supabase Wrappers, a Postgres FDW framework written in Rust https://supabase.com/blog/postgres-foreign-data-wrappers-rust A framework for building Postgres Foreign Data Wrappers which connects to Stripe, Firebase, Clickhouse, and more. - Wed, 14 Dec 2022 16:00:00 GMT + Wed, 14 Dec 2022 23:00:00 GMT https://supabase.com/blog/mfa-auth-via-rls Multi-factor Authentication via Row Level Security Enforcement https://supabase.com/blog/mfa-auth-via-rls MFA Auth with enforcement via RLS - Tue, 13 Dec 2022 16:00:00 GMT + Tue, 13 Dec 2022 23:00:00 GMT https://supabase.com/blog/storage-image-resizing-smart-cdn Supabase Storage v2: Image resizing and Smart CDN https://supabase.com/blog/storage-image-resizing-smart-cdn We're introducing new features for Supabase Storage: Image resizing and a Smart CDN. - Mon, 12 Dec 2022 16:00:00 GMT + Mon, 12 Dec 2022 23:00:00 GMT https://supabase.com/blog/new-supabase-docs-built-with-nextjs New Supabase Docs, built with Next.js https://supabase.com/blog/new-supabase-docs-built-with-nextjs We've redesigned our Docs and migrated to Next.js - Sun, 11 Dec 2022 16:00:00 GMT + Sun, 11 Dec 2022 23:00:00 GMT https://supabase.com/blog/postgres-crdt pg_crdt - an experimental CRDT extension for Postgres https://supabase.com/blog/postgres-crdt Embedding Yjs and Automerge into Postgres for collaborative applications. - Fri, 09 Dec 2022 16:00:00 GMT + Fri, 09 Dec 2022 23:00:00 GMT https://supabase.com/blog/who-we-hire Who We Hire at Supabase https://supabase.com/blog/who-we-hire Traits we look for to maintain a culture of shipping fast and often - Thu, 08 Dec 2022 16:00:00 GMT + Thu, 08 Dec 2022 23:00:00 GMT https://supabase.com/blog/launch-week-6-hackathon Launch Week 6 Hackathon https://supabase.com/blog/launch-week-6-hackathon Build an Open Source Project, Win $1500 and the Supabase Darkmode Keyboard - Thu, 08 Dec 2022 16:00:00 GMT + Thu, 08 Dec 2022 23:00:00 GMT https://supabase.com/blog/supabase-beta-november-2022 Supabase Beta November 2022 https://supabase.com/blog/supabase-beta-november-2022 We are preparing everything for Launch Week 6, but we still had time to ship some goodies this month! - Tue, 06 Dec 2022 16:00:00 GMT + Tue, 06 Dec 2022 23:00:00 GMT https://supabase.com/blog/the-supabase-content-storm @@ -964,931 +971,931 @@ SQL or NoSQL? Why not use both (with PostgreSQL)? https://supabase.com/blog/sql-or-nosql-both-with-postgresql How to turn Postgres into an easy-to-use NoSQL database that retains all the power of SQL - Wed, 23 Nov 2022 16:00:00 GMT + Wed, 23 Nov 2022 23:00:00 GMT https://supabase.com/blog/flutter-authorization-with-rls Flutter Authorization with RLS https://supabase.com/blog/flutter-authorization-with-rls Learn how you can secure your Flutter app using Supabase Row Level Security. - Mon, 21 Nov 2022 16:00:00 GMT + Mon, 21 Nov 2022 23:00:00 GMT https://supabase.com/blog/fetching-and-caching-supabase-data-in-next-js-server-components Fetching and caching Supabase data in Next.js 13 Server Components https://supabase.com/blog/fetching-and-caching-supabase-data-in-next-js-server-components Next.js 13 introduces new data fetching and caching methods to enable React Server Components and Suspense. - Wed, 16 Nov 2022 16:00:00 GMT + Wed, 16 Nov 2022 23:00:00 GMT https://supabase.com/blog/authentication-in-ionic-angular Authentication in Ionic Angular with Supabase https://supabase.com/blog/authentication-in-ionic-angular Learn how to build an Ionic Angular app with authentication, Row Level Security, and Magic Link auth. - Mon, 07 Nov 2022 16:00:00 GMT + Mon, 07 Nov 2022 23:00:00 GMT https://supabase.com/blog/supabase-beta-update-october-2022 Supabase Beta October 2022 https://supabase.com/blog/supabase-beta-update-october-2022 New SDKs, quickstarts, Functions tricks, and more. But, more importantly, Launch Week 6️ has a date! - Tue, 01 Nov 2022 16:00:00 GMT + Tue, 01 Nov 2022 23:00:00 GMT https://supabase.com/blog/postgresql-commitfest What is PostgreSQL commitfest and how to contribute https://supabase.com/blog/postgresql-commitfest A time-tested method for contributing to the core Postgres code - Wed, 26 Oct 2022 16:00:00 GMT + Wed, 26 Oct 2022 22:00:00 GMT https://supabase.com/blog/supabase-flutter-sdk-v1-released supabase-flutter v1 Released https://supabase.com/blog/supabase-flutter-sdk-v1-released We've released supabase-flutter v1. More intuitive way of accessing Supabase from your Flutter application. - Thu, 20 Oct 2022 16:00:00 GMT + Thu, 20 Oct 2022 22:00:00 GMT https://supabase.com/blog/supabase-js-v2-released supabase-js v2 Released https://supabase.com/blog/supabase-js-v2-released We've released supabase-js v2. Updated examples, quickstarts, and an improved experience. - Wed, 19 Oct 2022 16:00:00 GMT + Wed, 19 Oct 2022 22:00:00 GMT https://supabase.com/blog/postgres-full-text-search-vs-the-rest Postgres Full Text Search vs the rest https://supabase.com/blog/postgres-full-text-search-vs-the-rest Comparing one of the most popular Postgres features against alternatives - Thu, 13 Oct 2022 16:00:00 GMT + Thu, 13 Oct 2022 22:00:00 GMT https://supabase.com/blog/supabase-beta-update-september-2022 Supabase Beta September 2022 https://supabase.com/blog/supabase-beta-update-september-2022 We were too focused on clearing out the backlog so we didn't ship anything new last month... or did we?! - Tue, 04 Oct 2022 16:00:00 GMT + Tue, 04 Oct 2022 22:00:00 GMT https://supabase.com/blog/postgres-wasm Postgres WASM by Snaplet and Supabase https://supabase.com/blog/postgres-wasm We're open sourcing postgres-wasm, a PostgresQL server that runs inside a browser, with our friends at Snaplet. - Sun, 02 Oct 2022 16:00:00 GMT + Sun, 02 Oct 2022 22:00:00 GMT https://supabase.com/blog/choosing-a-postgres-primary-key Choosing a Postgres Primary Key https://supabase.com/blog/choosing-a-postgres-primary-key Turns out the question of which identifier to use as a Primary Key is complicated -- we're going to dive into some of the complexity and inherent trade-offs, and figure things out - Wed, 07 Sep 2022 16:00:00 GMT + Wed, 07 Sep 2022 22:00:00 GMT https://supabase.com/blog/supabase-beta-update-august-2022 Supabase Beta August 2022 https://supabase.com/blog/supabase-beta-update-august-2022 Launch Week Special. See everything we shipped, plus winners of the Hackathon and the extended Community Highlights - Tue, 06 Sep 2022 16:00:00 GMT + Tue, 06 Sep 2022 22:00:00 GMT https://supabase.com/blog/launch-week-5-hackathon-winners Launch Week 5 Hackathon Winners https://supabase.com/blog/launch-week-5-hackathon-winners Announcing the winners of the Launch Week 5 Hackathon! - Wed, 24 Aug 2022 16:00:00 GMT + Wed, 24 Aug 2022 22:00:00 GMT https://supabase.com/blog/building-a-realtime-trello-board-with-supabase-and-angular Building a Realtime Trello Board with Supabase and Angular https://supabase.com/blog/building-a-realtime-trello-board-with-supabase-and-angular Go beyond the hello world example with this real world project. - Tue, 23 Aug 2022 16:00:00 GMT + Tue, 23 Aug 2022 22:00:00 GMT https://supabase.com/blog/supabase-vault Supabase Vault https://supabase.com/blog/supabase-vault Today we're announcing Vault, a Postgres extension for managing secrets and encryption inside your database. - Thu, 18 Aug 2022 16:00:00 GMT + Thu, 18 Aug 2022 22:00:00 GMT https://supabase.com/blog/postgrest-v10 PostgREST v10: EXPLAIN and Improved Relationship Detection https://supabase.com/blog/postgrest-v10 Today, PostgREST 10 was released. Let's take a look at some of the new features that go hand in hand with supabase-js v2. - Thu, 18 Aug 2022 16:00:00 GMT + Thu, 18 Aug 2022 22:00:00 GMT https://supabase.com/blog/pg-jsonschema-a-postgres-extension-for-json-validation pg_jsonschema: JSON Schema support for Postgres https://supabase.com/blog/pg-jsonschema-a-postgres-extension-for-json-validation Today we're releasing pg_jsonschema, a Postgres extension for JSON validation. - Thu, 18 Aug 2022 16:00:00 GMT + Thu, 18 Aug 2022 22:00:00 GMT https://supabase.com/blog/launch-week-5-one-more-thing One more thing https://supabase.com/blog/launch-week-5-one-more-thing Let's be honest, it's never just one more thing. - Thu, 18 Aug 2022 16:00:00 GMT + Thu, 18 Aug 2022 22:00:00 GMT https://supabase.com/blog/launch-week-5-community-day Community Day https://supabase.com/blog/launch-week-5-community-day Wrapping up Launch Week 5 with contributors, partners, and friends. - Thu, 18 Aug 2022 16:00:00 GMT + Thu, 18 Aug 2022 22:00:00 GMT https://supabase.com/blog/supabase-realtime-multiplayer-general-availability Realtime: Multiplayer Edition https://supabase.com/blog/supabase-realtime-multiplayer-general-availability Announcing the general availability of Realtime's Broadcast and Presence. - Wed, 17 Aug 2022 16:00:00 GMT + Wed, 17 Aug 2022 22:00:00 GMT https://supabase.com/blog/supabase-soc2 Supabase is SOC2 compliant https://supabase.com/blog/supabase-soc2 Supabase is now SOC2 compliant. Learn how we got here and what it means for our customers. - Tue, 16 Aug 2022 16:00:00 GMT + Tue, 16 Aug 2022 22:00:00 GMT https://supabase.com/blog/supabase-js-v2 supabase-js v2 https://supabase.com/blog/supabase-js-v2 A look at supabase-js v2, which brings type support and focuses on quality-of-life improvements for developers. - Mon, 15 Aug 2022 16:00:00 GMT + Mon, 15 Aug 2022 22:00:00 GMT https://supabase.com/blog/supabase-cli-v1-and-admin-api-beta Supabase CLI v1 and Management API Beta https://supabase.com/blog/supabase-cli-v1-and-admin-api-beta We are moving Supabase CLI v1 out of beta, and releasing Management API beta. - Sun, 14 Aug 2022 16:00:00 GMT + Sun, 14 Aug 2022 22:00:00 GMT https://supabase.com/blog/supabase-series-b Supabase Series B https://supabase.com/blog/supabase-series-b Supabase raised $80M in May, bringing our total funding to $116M. - Thu, 11 Aug 2022 16:00:00 GMT + Thu, 11 Aug 2022 22:00:00 GMT https://supabase.com/blog/launch-week-5-hackathon Launch Week 5 Hackathon https://supabase.com/blog/launch-week-5-hackathon Build to win $1500 - Friday 12th to Monday 21st August 2022 - Tue, 09 Aug 2022 16:00:00 GMT + Tue, 09 Aug 2022 22:00:00 GMT https://supabase.com/blog/slack-consolidate-slackbot-to-consolidate-messages Slack Consolidate: a slackbot built with Python and Supabase https://supabase.com/blog/slack-consolidate-slackbot-to-consolidate-messages A slackbot to consolidate messages from different channels using Supabase, Slack SDK and Python - Mon, 08 Aug 2022 16:00:00 GMT + Mon, 08 Aug 2022 22:00:00 GMT https://supabase.com/blog/supabase-beta-update-july-2022 Supabase Beta July 2022 https://supabase.com/blog/supabase-beta-update-july-2022 Launch Week Golden Tickets, Flutter SDK 1.0 Developer Preview and more... - Tue, 02 Aug 2022 16:00:00 GMT + Tue, 02 Aug 2022 22:00:00 GMT https://supabase.com/blog/supabase-flutter-sdk-1-developer-preview Supabase Flutter SDK 1.0 Developer Preview https://supabase.com/blog/supabase-flutter-sdk-1-developer-preview Supabase Flutter SDK is getting a major update and we need your help making it better. - Mon, 01 Aug 2022 16:00:00 GMT + Mon, 01 Aug 2022 22:00:00 GMT https://supabase.com/blog/seen-by-in-postgresql Implementing "seen by" functionality with Postgres https://supabase.com/blog/seen-by-in-postgresql Different approaches for tracking visitor counts with PostgreSQL. - Sun, 17 Jul 2022 16:00:00 GMT + Sun, 17 Jul 2022 22:00:00 GMT https://supabase.com/blog/supabase-auth-helpers-with-sveltekit-support Revamped Auth Helpers for Supabase (with SvelteKit support) https://supabase.com/blog/supabase-auth-helpers-with-sveltekit-support Supabase Auth Helpers now have improved developer experience, Sveltekit support, and more. - Tue, 12 Jul 2022 16:00:00 GMT + Tue, 12 Jul 2022 22:00:00 GMT https://supabase.com/blog/beta-update-june-2022 Supabase Beta June 2022 https://supabase.com/blog/beta-update-june-2022 Auth Helpers, Unlimited Free Projects, CLI and more... - Tue, 05 Jul 2022 16:00:00 GMT + Tue, 05 Jul 2022 22:00:00 GMT https://supabase.com/blog/flutter-tutorial-building-a-chat-app Flutter Tutorial: building a Flutter chat app https://supabase.com/blog/flutter-tutorial-building-a-chat-app Learn how to build a Flutter chat app with open source and scalable backend (inc. auth, realtime, database, and more). - Wed, 29 Jun 2022 16:00:00 GMT + Wed, 29 Jun 2022 22:00:00 GMT https://supabase.com/blog/visualizing-supabase-data-using-metabase Visualizing Supabase Data using Metabase https://supabase.com/blog/visualizing-supabase-data-using-metabase How to create different kinds of charts out of data stored in Supabase using Metabase. - Tue, 28 Jun 2022 16:00:00 GMT + Tue, 28 Jun 2022 22:00:00 GMT https://supabase.com/blog/partial-postgresql-data-dumps-with-rls Partial data dumps using Postgres Row Level Security https://supabase.com/blog/partial-postgresql-data-dumps-with-rls Using RLS to create seed files for local PostgreSQL testing. - Mon, 27 Jun 2022 16:00:00 GMT + Mon, 27 Jun 2022 22:00:00 GMT https://supabase.com/blog/loading-data-supabase-python Python data loading with Supabase https://supabase.com/blog/loading-data-supabase-python An example of how to load data into Supabase using supabase-py - Thu, 16 Jun 2022 16:00:00 GMT + Thu, 16 Jun 2022 22:00:00 GMT https://supabase.com/blog/beta-update-may-2022 Supabase Beta May 2022 https://supabase.com/blog/beta-update-may-2022 Product and community updates including wildcard auth redirects, edge functions with webhooks, and Prometheus endpoints for everybody. - Tue, 31 May 2022 16:00:00 GMT + Tue, 31 May 2022 22:00:00 GMT https://supabase.com/blog/how-supabase-accelerates-development-of-all-pull-together How Mike Lyndon is using Supabase to accelerate development of AllPullTogether https://supabase.com/blog/how-supabase-accelerates-development-of-all-pull-together Mike Lyndon is learning web development as he builds AllPullTogether, and Supabase is helping him accelerate what he can accomplish. - Wed, 25 May 2022 16:00:00 GMT + Wed, 25 May 2022 22:00:00 GMT https://supabase.com/blog/partner-gallery-works-with-supabase Works With Supabase - announcing our Partner Gallery https://supabase.com/blog/partner-gallery-works-with-supabase Introducing our Partner Gallery - open source and made with Supabase. - Tue, 19 Apr 2022 16:00:00 GMT + Tue, 19 Apr 2022 22:00:00 GMT https://supabase.com/blog/bring-the-func-hackathon-winners Bring the Func Hackathon Winners 2022 https://supabase.com/blog/bring-the-func-hackathon-winners Celebrating many amazing OSS Hackathon projects using GraphQL and Edge Functions. - Sun, 17 Apr 2022 16:00:00 GMT + Sun, 17 Apr 2022 22:00:00 GMT https://supabase.com/blog/beta-update-march-2022 Supabase Beta March 2022 https://supabase.com/blog/beta-update-march-2022 Functions, GraphQL, and much more. - Thu, 14 Apr 2022 16:00:00 GMT + Thu, 14 Apr 2022 22:00:00 GMT https://supabase.com/blog/supabrew Supabrew - Never Code Thirsty https://supabase.com/blog/supabrew A light and refreshing non-alcoholic beer for devs. - Thu, 31 Mar 2022 16:00:00 GMT + Thu, 31 Mar 2022 22:00:00 GMT https://supabase.com/blog/supabase-realtime-with-multiplayer-features Supabase Realtime, with Multiplayer Features https://supabase.com/blog/supabase-realtime-with-multiplayer-features Today we're announced Realtime, with multiplayer features. Realtime enables broadcast, presence, and listening to database changes delivered over WebSockets. - Thu, 31 Mar 2022 16:00:00 GMT + Thu, 31 Mar 2022 22:00:00 GMT https://supabase.com/blog/hackathon-bring-the-func Hackathon: Bring the Func(🕺) https://supabase.com/blog/hackathon-bring-the-func Build open-source projects with our latest features, win limited edition swag and plant a tree! - Thu, 31 Mar 2022 16:00:00 GMT + Thu, 31 Mar 2022 22:00:00 GMT https://supabase.com/blog/supabase-edge-functions Edge Functions are now available in Supabase https://supabase.com/blog/supabase-edge-functions Today we're launching Edge Functions. Edge Functions let you execute Typescript code close to your users, no matter where they're located. - Wed, 30 Mar 2022 16:00:00 GMT + Wed, 30 Mar 2022 22:00:00 GMT https://supabase.com/blog/supabase-enterprise Introducing Supabase Enterprise https://supabase.com/blog/supabase-enterprise Today we are releasing Supabase Enterprise, a suite of features to scale your project. - Tue, 29 Mar 2022 16:00:00 GMT + Tue, 29 Mar 2022 22:00:00 GMT https://supabase.com/blog/graphql-now-available GraphQL is now available in Supabase https://supabase.com/blog/graphql-now-available GraphQL support is now in general availability on the Supabase platform via our open source PostgreSQL extension, pg_graphql. - Mon, 28 Mar 2022 16:00:00 GMT + Mon, 28 Mar 2022 22:00:00 GMT https://supabase.com/blog/community-day-lw4 Community Day https://supabase.com/blog/community-day-lw4 Kicking off Launch Week 4 with contributors, partners, and friends. - Sun, 27 Mar 2022 16:00:00 GMT + Sun, 27 Mar 2022 22:00:00 GMT https://supabase.com/blog/supabase-launch-week-four Supabase Launch Week 4 https://supabase.com/blog/supabase-launch-week-four Launch Week 4: One new feature every day for an entire week. Starting Monday 28th March. - Thu, 24 Mar 2022 16:00:00 GMT + Thu, 24 Mar 2022 23:00:00 GMT https://supabase.com/blog/should-i-open-source-my-company Should I Open Source my Company? https://supabase.com/blog/should-i-open-source-my-company The unexpected upsides of building in public - Thu, 24 Mar 2022 16:00:00 GMT + Thu, 24 Mar 2022 23:00:00 GMT https://supabase.com/blog/postgres-audit Postgres Auditing in 150 lines of SQL https://supabase.com/blog/postgres-audit PostgreSQL has a robust set of features which we can leverage to create a generic auditing solution in 150 lines of SQL. - Mon, 07 Mar 2022 16:00:00 GMT + Mon, 07 Mar 2022 23:00:00 GMT https://supabase.com/blog/supabase-beta-january-2022 Supabase Beta January 2022 https://supabase.com/blog/supabase-beta-january-2022 New auth providers, SMS providers, and new videos. - Mon, 21 Feb 2022 16:00:00 GMT + Mon, 21 Feb 2022 23:00:00 GMT https://supabase.com/blog/supabase-beta-december-2021 Supabase Beta December 2021 https://supabase.com/blog/supabase-beta-december-2021 New crypto extension, Postgres videos, and a bunch of cool integrations. - Wed, 19 Jan 2022 16:00:00 GMT + Wed, 19 Jan 2022 23:00:00 GMT https://supabase.com/blog/product-hunt-golden-kitty-awards-2021 Golden Kitty Awards Ceremony Watch Party with Supabase https://supabase.com/blog/product-hunt-golden-kitty-awards-2021 Hang out with us while watching the Product Hunt Golden Kitty Awards Ceremony - Wed, 19 Jan 2022 16:00:00 GMT + Wed, 19 Jan 2022 23:00:00 GMT https://supabase.com/blog/holiday-hackdays-winners-2021 Holiday Hackdays Winners 2021 https://supabase.com/blog/holiday-hackdays-winners-2021 Celebrating many amazing projects submitted to our Holiday Hackdays Hackathon. - Thu, 16 Dec 2021 16:00:00 GMT + Thu, 16 Dec 2021 23:00:00 GMT https://supabase.com/blog/beta-november-2021-launch-week-recap Supabase Beta November 2021: Launch Week Recap https://supabase.com/blog/beta-november-2021-launch-week-recap We wrapped up November with Supabase's third Launch Week. Here's all the awesome stuff that got shipped ... - Tue, 14 Dec 2021 16:00:00 GMT + Tue, 14 Dec 2021 23:00:00 GMT https://supabase.com/blog/supabase-holiday-hackdays-hackathon Kicking off the Holiday Hackdays https://supabase.com/blog/supabase-holiday-hackdays-hackathon Build cool stuff and celebrate open-source software with us during the Holiday Hackdays! - Thu, 02 Dec 2021 16:00:00 GMT + Thu, 02 Dec 2021 23:00:00 GMT https://supabase.com/blog/pg-graphql pg_graphql: A GraphQL extension for PostgreSQL https://supabase.com/blog/pg-graphql GraphQL support is in development for PostgreSQL + Supabase. - Thu, 02 Dec 2021 16:00:00 GMT + Thu, 02 Dec 2021 23:00:00 GMT https://supabase.com/blog/launch-week-three-friday-five-more-things Five more things https://supabase.com/blog/launch-week-three-friday-five-more-things It's never just one more thing! - Thu, 02 Dec 2021 16:00:00 GMT + Thu, 02 Dec 2021 23:00:00 GMT https://supabase.com/blog/supabase-acquires-logflare Supabase acquires Logflare https://supabase.com/blog/supabase-acquires-logflare Today, we're ecstatic to announce that Logflare is joining Supabase. - Wed, 01 Dec 2021 16:00:00 GMT + Wed, 01 Dec 2021 23:00:00 GMT https://supabase.com/blog/realtime-row-level-security-in-postgresql Realtime Postgres RLS now available on Supabase https://supabase.com/blog/realtime-row-level-security-in-postgresql Realtime database changes are now broadcast to authenticated users, respecting the same PostgreSQL policies that you use for Row Level Security. - Tue, 30 Nov 2021 16:00:00 GMT + Tue, 30 Nov 2021 23:00:00 GMT https://supabase.com/blog/supabase-studio Supabase Studio https://supabase.com/blog/supabase-studio The same Dashboard that you're using on our Platform is now available for local development and Self-Hosting. - Mon, 29 Nov 2021 16:00:00 GMT + Mon, 29 Nov 2021 23:00:00 GMT https://supabase.com/blog/community-day-lw3 Community Day https://supabase.com/blog/community-day-lw3 Kicking off launch week by highlighting the communities around Supabase. - Sun, 28 Nov 2021 16:00:00 GMT + Sun, 28 Nov 2021 23:00:00 GMT https://supabase.com/blog/whats-new-in-postgres-14 New in PostgreSQL 14: What every developer should know https://supabase.com/blog/whats-new-in-postgres-14 A quick look at some new features and functionality in PostgreSQL 14. - Sat, 27 Nov 2021 16:00:00 GMT + Sat, 27 Nov 2021 23:00:00 GMT https://supabase.com/blog/postgrest-9 PostgREST 9 https://supabase.com/blog/postgrest-9 New features and updates in PostgREST version 9. - Fri, 26 Nov 2021 16:00:00 GMT + Fri, 26 Nov 2021 23:00:00 GMT https://supabase.com/blog/supabase-launch-week-the-trilogy Supabase Launch Week III: Holiday Special https://supabase.com/blog/supabase-launch-week-the-trilogy Tis the season to be shipping. - Thu, 25 Nov 2021 16:00:00 GMT + Thu, 25 Nov 2021 23:00:00 GMT https://supabase.com/blog/supabase-how-we-launch How we launch at Supabase https://supabase.com/blog/supabase-how-we-launch The history and methodology of Supabase Launch Week. - Thu, 25 Nov 2021 16:00:00 GMT + Thu, 25 Nov 2021 23:00:00 GMT https://supabase.com/blog/supabase-beta-october-2021 Supabase Beta October 2021 https://supabase.com/blog/supabase-beta-october-2021 Three new Auth providers, multi-schema support, and we're gearing up for another Launch Week. - Sat, 06 Nov 2021 16:00:00 GMT + Sat, 06 Nov 2021 23:00:00 GMT https://supabase.com/blog/supabase-series-a Supabase $30m Series A https://supabase.com/blog/supabase-series-a Supabase just raised $30M, bringing our total funding to $36M. - Wed, 27 Oct 2021 16:00:00 GMT + Wed, 27 Oct 2021 22:00:00 GMT https://supabase.com/blog/replenysh-time-to-value-in-less-than-24-hours Replenysh uses Supabase to implement OTP in less than 24-hours https://supabase.com/blog/replenysh-time-to-value-in-less-than-24-hours Learn how Replenysh uses Supabase to power the circular economy, redefining how brands interact with their customers and products. - Mon, 18 Oct 2021 16:00:00 GMT + Mon, 18 Oct 2021 22:00:00 GMT https://supabase.com/blog/hacktoberfest-hackathon-winners-2021 Hacktoberfest Hackathon Winners 2021 https://supabase.com/blog/hacktoberfest-hackathon-winners-2021 Celebrating many amazing projects submitted to our Hacktoberfest Hackathon. - Wed, 13 Oct 2021 16:00:00 GMT + Wed, 13 Oct 2021 22:00:00 GMT https://supabase.com/blog/supabase-beta-sept-2021 Supabase Beta Sept 2021 https://supabase.com/blog/supabase-beta-sept-2021 Hackathon, Aborting request, UI updates, and now Hiring. - Sun, 03 Oct 2021 16:00:00 GMT + Sun, 03 Oct 2021 22:00:00 GMT https://supabase.com/blog/supabase-hacktoberfest-hackathon-2021 Supabase Hacktoberfest Hackathon 2021 https://supabase.com/blog/supabase-hacktoberfest-hackathon-2021 We're running another Supabase Hackathon during Hacktoberfest! - Mon, 27 Sep 2021 16:00:00 GMT + Mon, 27 Sep 2021 22:00:00 GMT https://supabase.com/blog/supabase-beta-august-2021 Supabase Beta August 2021 https://supabase.com/blog/supabase-beta-august-2021 Fundraising, Realtime Security, custom SMS templates, and deployments in South Korea. - Thu, 09 Sep 2021 16:00:00 GMT + Thu, 09 Sep 2021 22:00:00 GMT https://supabase.com/blog/supabase-beta-july-2021 Supabase Beta July 2021 https://supabase.com/blog/supabase-beta-july-2021 Discord Logins, Vercel Integration, Full text search, and OAuth guides. - Wed, 11 Aug 2021 16:00:00 GMT + Wed, 11 Aug 2021 22:00:00 GMT https://supabase.com/blog/hackathon-winners Open Source Hackathon Winners https://supabase.com/blog/hackathon-winners Let the medal ceremony begin for the best projects submitted during the Supabase Hackathon. - Sun, 08 Aug 2021 16:00:00 GMT + Sun, 08 Aug 2021 22:00:00 GMT https://supabase.com/blog/supabase-swag-store Supabase Swag Store https://supabase.com/blog/supabase-swag-store Today we are officially launching the Supabase Swag Store. - Thu, 29 Jul 2021 16:00:00 GMT + Thu, 29 Jul 2021 22:00:00 GMT https://supabase.com/blog/supabase-functions-updates Updates for Supabase Functions https://supabase.com/blog/supabase-functions-updates The question on everyone's mind - are we launching Supabase Functions? Well, it's complicated. - Thu, 29 Jul 2021 16:00:00 GMT + Thu, 29 Jul 2021 22:00:00 GMT https://supabase.com/blog/1-the-supabase-hackathon The Supabase Hackathon https://supabase.com/blog/1-the-supabase-hackathon A whole week of Hacking for Fun and Prizes. - Thu, 29 Jul 2021 16:00:00 GMT + Thu, 29 Jul 2021 22:00:00 GMT https://supabase.com/blog/supabase-reports-and-metrics Supabase Reports and Metrics https://supabase.com/blog/supabase-reports-and-metrics We're exposing a full set of metrics in your projects, so that you can build better (and faster) products for your users. - Wed, 28 Jul 2021 16:00:00 GMT + Wed, 28 Jul 2021 22:00:00 GMT https://supabase.com/blog/supabase-auth-passwordless-sms-login Supabase Auth v2: Phone Auth now available https://supabase.com/blog/supabase-auth-passwordless-sms-login Phone Auth is available today on all new and existing Supabase projects. - Tue, 27 Jul 2021 16:00:00 GMT + Tue, 27 Jul 2021 22:00:00 GMT https://supabase.com/blog/mobbin-supabase-200000-users Mobbin uses Supabase to authenticate 200,000 users https://supabase.com/blog/mobbin-supabase-200000-users Learn how Mobbin migrated 200,000 users from Firebase for a better authentication experience. - Tue, 27 Jul 2021 16:00:00 GMT + Tue, 27 Jul 2021 22:00:00 GMT https://supabase.com/blog/storage-beta Supabase Storage now in Beta https://supabase.com/blog/storage-beta Supabase Storage moves into Beta. - Mon, 26 Jul 2021 16:00:00 GMT + Mon, 26 Jul 2021 22:00:00 GMT https://supabase.com/blog/spot-flutter-with-postgres Spot: a video sharing app built with Flutter https://supabase.com/blog/spot-flutter-with-postgres Spot is a geolocation-based video-sharing app with some social networking features. - Mon, 26 Jul 2021 16:00:00 GMT + Mon, 26 Jul 2021 22:00:00 GMT https://supabase.com/blog/supabase-postgres-13 Supabase is now on Postgres 13.3 https://supabase.com/blog/supabase-postgres-13 From today, new Supabase projects will be on a version of Supabase Postgres that runs on Postgres 13.3. - Sun, 25 Jul 2021 16:00:00 GMT + Sun, 25 Jul 2021 22:00:00 GMT https://supabase.com/blog/supabase-community-day Supabase Community Day https://supabase.com/blog/supabase-community-day Community Day - Sun, 25 Jul 2021 16:00:00 GMT + Sun, 25 Jul 2021 22:00:00 GMT https://supabase.com/blog/epsilon3-self-hosting Epsilon3 Self-Host Supabase To Revolutionize Space Operations https://supabase.com/blog/epsilon3-self-hosting Learn how the team at Epsilon3 use Supabase to help teams execute secure and reliable operations in an industry that project spend runs into the billions. - Sun, 25 Jul 2021 16:00:00 GMT + Sun, 25 Jul 2021 22:00:00 GMT https://supabase.com/blog/supabase-launch-week-sql Supabase Launch Week II: The SQL https://supabase.com/blog/supabase-launch-week-sql Five days of Supabase. Again. - Wed, 21 Jul 2021 16:00:00 GMT + Wed, 21 Jul 2021 22:00:00 GMT https://supabase.com/blog/roles-postgres-hooks Protecting reserved roles with PostgreSQL Hooks https://supabase.com/blog/roles-postgres-hooks Using Postgres Hooks to protect functionality in your Postgres database. - Thu, 01 Jul 2021 16:00:00 GMT + Thu, 01 Jul 2021 22:00:00 GMT https://supabase.com/blog/supabase-beta-june-2021 Supabase Beta June 2021 https://supabase.com/blog/supabase-beta-june-2021 Discord Logins, Vercel Integration, Full text search, and OAuth guides. - Tue, 01 Jun 2021 16:00:00 GMT + Tue, 01 Jun 2021 22:00:00 GMT https://supabase.com/blog/supabase-beta-may-2021 Supabase Beta May 2021 https://supabase.com/blog/supabase-beta-may-2021 Apple &amp; Twitter Logins, Supabase Grid, Go &amp; Swift Libraries. - Tue, 01 Jun 2021 16:00:00 GMT + Tue, 01 Jun 2021 22:00:00 GMT https://supabase.com/blog/supabase-beta-april-2021 Supabase Beta April 2021 https://supabase.com/blog/supabase-beta-april-2021 Supabase "gardening" - stability, security, and community support. - Tue, 04 May 2021 16:00:00 GMT + Tue, 04 May 2021 22:00:00 GMT https://supabase.com/blog/supabase-beta-march-2021 Supabase Beta March 2021 https://supabase.com/blog/supabase-beta-march-2021 Launch week, Storage, Supabase CLI, Connection Pooling, Supabase UI, and Pricing. - Mon, 05 Apr 2021 16:00:00 GMT + Mon, 05 Apr 2021 22:00:00 GMT https://supabase.com/blog/supabase-workflows Workflows are coming to Supabase https://supabase.com/blog/supabase-workflows Functions are great, but you know what's better? - Thu, 01 Apr 2021 16:00:00 GMT + Thu, 01 Apr 2021 22:00:00 GMT https://supabase.com/blog/supabase-pgbouncer PgBouncer is now available in Supabase https://supabase.com/blog/supabase-pgbouncer Better support for Serverless and Postgres. - Thu, 01 Apr 2021 16:00:00 GMT + Thu, 01 Apr 2021 22:00:00 GMT https://supabase.com/blog/supabase-dot-com Supabase Dot Com https://supabase.com/blog/supabase-dot-com The Supabase Domain name is changing. - Thu, 01 Apr 2021 16:00:00 GMT + Thu, 01 Apr 2021 22:00:00 GMT https://supabase.com/blog/supabase-nft-marketplace Supabase Launches NFT Marketplace https://supabase.com/blog/supabase-nft-marketplace A fully encrypted NFT platform to protect and transact your digital assets - Wed, 31 Mar 2021 16:00:00 GMT + Wed, 31 Mar 2021 22:00:00 GMT https://supabase.com/blog/supabase-cli Supabase CLI https://supabase.com/blog/supabase-cli Local development, database migrations, and self-hosting. - Tue, 30 Mar 2021 16:00:00 GMT + Tue, 30 Mar 2021 22:00:00 GMT https://supabase.com/blog/supabase-storage Storage is now available in Supabase https://supabase.com/blog/supabase-storage Launching Supabase Storage and how you can use it in your apps - Mon, 29 Mar 2021 16:00:00 GMT + Mon, 29 Mar 2021 22:00:00 GMT https://supabase.com/blog/pricing Supabase Beta Pricing https://supabase.com/blog/pricing Supabase launches Beta pricing structure - Sun, 28 Mar 2021 16:00:00 GMT + Sun, 28 Mar 2021 22:00:00 GMT https://supabase.com/blog/launch-week Launch week https://supabase.com/blog/launch-week Five days of Supabase. - Wed, 24 Mar 2021 16:00:00 GMT + Wed, 24 Mar 2021 23:00:00 GMT https://supabase.com/blog/angels-of-supabase Angels of Supabase https://supabase.com/blog/angels-of-supabase Meet the investors of Supabase. - Wed, 24 Mar 2021 16:00:00 GMT + Wed, 24 Mar 2021 23:00:00 GMT https://supabase.com/blog/In-The-Loop Developers stay up to date with intheloop.dev https://supabase.com/blog/In-The-Loop Learn why Kevin is building intheloop.dev with Supabase - Sun, 21 Mar 2021 16:00:00 GMT + Sun, 21 Mar 2021 23:00:00 GMT https://supabase.com/blog/using-supabase-replit Using Supabase in Replit https://supabase.com/blog/using-supabase-replit Free hosted relational database from within your node.js repl - Wed, 10 Mar 2021 16:00:00 GMT + Wed, 10 Mar 2021 23:00:00 GMT https://supabase.com/blog/toad-a-link-shortener-with-simple-apis-for-low-coders Toad, a link shortener with simple APIs for low-coders https://supabase.com/blog/toad-a-link-shortener-with-simple-apis-for-low-coders An easy-to-use link shortening tool with simple APIs - Sun, 07 Mar 2021 16:00:00 GMT + Sun, 07 Mar 2021 23:00:00 GMT https://supabase.com/blog/postgres-as-a-cron-server Postgres as a CRON Server https://supabase.com/blog/postgres-as-a-cron-server Running repetitive tasks with your Postgres database. - Thu, 04 Mar 2021 16:00:00 GMT + Thu, 04 Mar 2021 23:00:00 GMT https://supabase.com/blog/supabase-beta-february-2021 Supabase Beta February 2021 https://supabase.com/blog/supabase-beta-february-2021 One year of building. - Mon, 01 Mar 2021 16:00:00 GMT + Mon, 01 Mar 2021 23:00:00 GMT https://supabase.com/blog/cracking-postgres-interview Cracking PostgreSQL Interview Questions https://supabase.com/blog/cracking-postgres-interview Understand the top PostgreSQL Interview Questions - Fri, 26 Feb 2021 16:00:00 GMT + Fri, 26 Feb 2021 23:00:00 GMT https://supabase.com/blog/case-study-roboflow Roboflow.com choose Supabase to power Paint.wtf leaderboard https://supabase.com/blog/case-study-roboflow Learn how Roboflow.com used Supabase to build their Paint.wtf leaderboard - Mon, 08 Feb 2021 16:00:00 GMT + Mon, 08 Feb 2021 23:00:00 GMT https://supabase.com/blog/supabase-beta-january-2021 Supabase Beta January 2021 https://supabase.com/blog/supabase-beta-january-2021 Eleven months of building. - Mon, 01 Feb 2021 16:00:00 GMT + Mon, 01 Feb 2021 23:00:00 GMT https://supabase.com/blog/supabase-beta-december-2020 Supabase Beta December 2020 https://supabase.com/blog/supabase-beta-december-2020 Ten months of building. - Fri, 01 Jan 2021 16:00:00 GMT + Fri, 01 Jan 2021 23:00:00 GMT https://supabase.com/blog/supabase-dashboard-performance Making the Supabase Dashboard Supa-fast https://supabase.com/blog/supabase-dashboard-performance Improving the performance of the Supabase dashboard - Sat, 12 Dec 2020 16:00:00 GMT + Sat, 12 Dec 2020 23:00:00 GMT https://supabase.com/blog/supabase-striveschool Supabase Partners With Strive School To Help Teach Open Source https://supabase.com/blog/supabase-striveschool Supabase Partners With Strive School To Help Teach Open Source To The Next Generation Of Developers - Tue, 01 Dec 2020 16:00:00 GMT + Tue, 01 Dec 2020 23:00:00 GMT https://supabase.com/blog/case-study-xendit Xendit Built a Counter-Fraud Watchlist for the Fintech Industry https://supabase.com/blog/case-study-xendit See how Xendit use Supabase to build a full-text search engine. - Tue, 01 Dec 2020 16:00:00 GMT + Tue, 01 Dec 2020 23:00:00 GMT https://supabase.com/blog/case-study-tayfa TAYFA Built a No-Code Website Builder in Seven Days https://supabase.com/blog/case-study-tayfa See how Tayfa went from idea to paying customer in less than 30 days. - Tue, 01 Dec 2020 16:00:00 GMT + Tue, 01 Dec 2020 23:00:00 GMT https://supabase.com/blog/case-study-monitoro Monitoro Built a Web Crawler Handling Millions of API Requests https://supabase.com/blog/case-study-monitoro See how Monitoro built an automated scraping platform using Supabase. - Tue, 01 Dec 2020 16:00:00 GMT + Tue, 01 Dec 2020 23:00:00 GMT https://supabase.com/blog/supabase-alpha-november-2020 Supabase Alpha November 2020 https://supabase.com/blog/supabase-alpha-november-2020 Nine months of building. - Mon, 30 Nov 2020 16:00:00 GMT + Mon, 30 Nov 2020 23:00:00 GMT https://supabase.com/blog/postgresql-views Postgres Views https://supabase.com/blog/postgresql-views Creating and using a view in PostgreSQL. - Tue, 17 Nov 2020 16:00:00 GMT + Tue, 17 Nov 2020 23:00:00 GMT https://supabase.com/blog/supabase-alpha-october-2020 Supabase Alpha October 2020 https://supabase.com/blog/supabase-alpha-october-2020 Eight months of building. - Sun, 01 Nov 2020 16:00:00 GMT + Sun, 01 Nov 2020 23:00:00 GMT https://supabase.com/blog/improved-dx Supabase.js 1.0 https://supabase.com/blog/improved-dx We're releasing a new version of our Supabase client with some awesome new improvements. - Thu, 29 Oct 2020 16:00:00 GMT + Thu, 29 Oct 2020 23:00:00 GMT https://supabase.com/blog/supabase-alpha-september-2020 Supabase Alpha September 2020 https://supabase.com/blog/supabase-alpha-september-2020 Seven months of building. - Fri, 02 Oct 2020 16:00:00 GMT + Fri, 02 Oct 2020 22:00:00 GMT https://supabase.com/blog/supabase-hacktoberfest-2020 Supabase Hacktoberfest 2020 https://supabase.com/blog/supabase-hacktoberfest-2020 Join us for a celebration of open source software and learn how to contribute to Supabase. - Thu, 10 Sep 2020 16:00:00 GMT + Thu, 10 Sep 2020 22:00:00 GMT https://supabase.com/blog/supabase-alpha-august-2020 Supabase Alpha August 2020 https://supabase.com/blog/supabase-alpha-august-2020 Six months of building - Wed, 02 Sep 2020 16:00:00 GMT + Wed, 02 Sep 2020 22:00:00 GMT https://supabase.com/blog/supabase-auth Supabase Auth https://supabase.com/blog/supabase-auth Authenticate and authorize your users with Supabase Auth - Tue, 04 Aug 2020 16:00:00 GMT + Tue, 04 Aug 2020 22:00:00 GMT https://supabase.com/blog/supabase-alpha-july-2020 Supabase Alpha July 2020 https://supabase.com/blog/supabase-alpha-july-2020 Five months of building - Sat, 01 Aug 2020 16:00:00 GMT + Sat, 01 Aug 2020 22:00:00 GMT https://supabase.com/blog/continuous-postgresql-backup-walg Continuous PostgreSQL Backups using WAL-G https://supabase.com/blog/continuous-postgresql-backup-walg Have you ever wanted to restore your database's state to a particular moment in time? This post explains how, using WAL-G. - Sat, 01 Aug 2020 16:00:00 GMT + Sat, 01 Aug 2020 22:00:00 GMT https://supabase.com/blog/alpha-launch-postmortem Alpha Launch Postmortem https://supabase.com/blog/alpha-launch-postmortem Everything that went wrong with Supabase's launch - Thu, 09 Jul 2020 16:00:00 GMT + Thu, 09 Jul 2020 22:00:00 GMT https://supabase.com/blog/postgresql-templates What are PostgreSQL Templates? https://supabase.com/blog/postgresql-templates What are PostgreSQL templates and what are they used for? - Wed, 08 Jul 2020 16:00:00 GMT + Wed, 08 Jul 2020 22:00:00 GMT https://supabase.com/blog/postgresql-physical-logical-backups Physical vs Logical Backups in PostgreSQL https://supabase.com/blog/postgresql-physical-logical-backups What are physical and logical backups in Postgres? - Mon, 06 Jul 2020 16:00:00 GMT + Mon, 06 Jul 2020 22:00:00 GMT https://supabase.com/blog/supabase-alpha-june-2020 Supabase Alpha June 2020 https://supabase.com/blog/supabase-alpha-june-2020 Four months of building - Tue, 30 Jun 2020 16:00:00 GMT + Tue, 30 Jun 2020 22:00:00 GMT https://supabase.com/blog/supabase-steve-chavez Steve Chavez has joined Supabase https://supabase.com/blog/supabase-steve-chavez Steve joins Supabase to help build Auth. - Sun, 14 Jun 2020 16:00:00 GMT + Sun, 14 Jun 2020 22:00:00 GMT https://supabase.com/blog/supabase-alpha-may-2020 Supabase Alpha May 2020 https://supabase.com/blog/supabase-alpha-may-2020 Three months of building - Sun, 31 May 2020 16:00:00 GMT + Sun, 31 May 2020 22:00:00 GMT https://supabase.com/blog/supabase-alpha-april-2020 Supabase Alpha April 2020 https://supabase.com/blog/supabase-alpha-april-2020 Two months of building - Sun, 31 May 2020 16:00:00 GMT + Sun, 31 May 2020 22:00:00 GMT diff --git a/package-lock.json b/package-lock.json index c151fa40fb..efa696b548 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2405,7 +2405,6 @@ "react-countdown": "^2.3.5", "react-dom": "^18.2.0", "react-markdown": "^8.0.3", - "react-medium-image-zoom": "^5.1.8", "react-syntax-highlighter": "^15.5.0", "react-tooltip": "^4.2.17", "react-transition-group": "^4.4.1", @@ -34371,14 +34370,15 @@ "license": "MIT" }, "node_modules/react-medium-image-zoom": { - "version": "5.1.8", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/react-medium-image-zoom/-/react-medium-image-zoom-5.2.4.tgz", + "integrity": "sha512-XLu/fLqpbmhiDAGA6yie78tDv4kh8GxvS7kKQArSOvCvm5zvgItoh4h01NAAvnezQ60ovsTeedHiHG3eG9CcGg==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/rpearce" } ], - "license": "BSD-3-Clause", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" @@ -42875,6 +42875,7 @@ "react-hot-toast": "^2.4.1", "react-intersection-observer": "^9.8.2", "react-markdown": "^8.0.3", + "react-medium-image-zoom": "^5.2.4", "react-resizable-panels": "^2.0.13", "react-syntax-highlighter": "^15.5.0", "react-tooltip": "^4.2.17", diff --git a/packages/ui-patterns/ThemeImage/index.tsx b/packages/ui-patterns/ThemeImage/index.tsx deleted file mode 100644 index be2950698d..0000000000 --- a/packages/ui-patterns/ThemeImage/index.tsx +++ /dev/null @@ -1,36 +0,0 @@ -'use client' - -import { useTheme } from 'next-themes' -import Image from 'next/image' -import { useEffect, useState } from 'react' -import { cn } from 'ui' - -export const ThemeImage = ({ src, ...props }: any) => { - const { resolvedTheme } = useTheme() - const [mounted, setMounted] = useState(false) - - useEffect(() => { - setMounted(true) - }, []) - - if (!mounted) { - return null - } - - return ( - - - - ) -} diff --git a/packages/ui-patterns/index.tsx b/packages/ui-patterns/index.tsx index f051cc56bb..87beac857a 100644 --- a/packages/ui-patterns/index.tsx +++ b/packages/ui-patterns/index.tsx @@ -9,7 +9,6 @@ export * from './GlassPanel' export * from './IconPanel' export * from './PrivacySettings' export * from './SchemaTableNode' -export * from './ThemeImage' export * from './ThemeToggle' export * from './TweetCard' export * from './InnerSideMenu' diff --git a/packages/ui/index.tsx b/packages/ui/index.tsx index 75119789ad..62b359f890 100644 --- a/packages/ui/index.tsx +++ b/packages/ui/index.tsx @@ -9,6 +9,7 @@ export * from './src/components/Button' export * from './src/components/Icon' export * from './src/components/Icon/IconContext' export * from './src/components/Icon/IconBackground' +export * from './src/components/Image' // DISPLAYS diff --git a/packages/ui/package.json b/packages/ui/package.json index c8d0f04bdd..aede6b1908 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -74,6 +74,7 @@ "react-hot-toast": "^2.4.1", "react-intersection-observer": "^9.8.2", "react-markdown": "^8.0.3", + "react-medium-image-zoom": "^5.2.4", "react-resizable-panels": "^2.0.13", "react-syntax-highlighter": "^15.5.0", "react-tooltip": "^4.2.17", diff --git a/packages/ui/src/components/Image/Image.module.css b/packages/ui/src/components/Image/Image.module.css deleted file mode 100644 index f9a9825dc7..0000000000 --- a/packages/ui/src/components/Image/Image.module.css +++ /dev/null @@ -1,21 +0,0 @@ -.sbui-image { - -} - -.sbui-image-circle { - @apply rounded-full; -} - -.sbui-image-normal { - -} - -.sbui-image-rounded { - @apply rounded -} - -.sbui-image-responsive { - @apply w-full; - @apply h-auto; - -} \ No newline at end of file diff --git a/packages/ui/src/components/Image/Image.stories.tsx b/packages/ui/src/components/Image/Image.stories.tsx deleted file mode 100644 index 81680f0660..0000000000 --- a/packages/ui/src/components/Image/Image.stories.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import React, { useState } from 'react' - -import { Image } from '.' - -export default { - title: 'General/Image', - component: Image, -} - -export const Normal = (args: any) => { - return ( - <> - - - ) -} - -export const Circle = (args: any) => { - return ( - <> - - - ) -} - -export const Rounded = (args: any) => { - return ( - <> - - - ) -} - -export const Responsive = (args: any) => { - return ( - <> - - - ) -} - -Normal.args = { - active: true, - source: 'https://via.placeholder.com/300' -} - -Circle.args = { - active: true, - type: 'circle', - source: 'https://via.placeholder.com/300' -} - -Rounded.args = { - active: true, - type: 'rounded', - source: 'https://via.placeholder.com/300' -} - -Responsive.args = { - active: true, - type: 'normal', - source: 'https://via.placeholder.com/300', - responsive: true - -} \ No newline at end of file diff --git a/packages/ui/src/components/Image/Image.tsx b/packages/ui/src/components/Image/Image.tsx index 4fec7a8326..3819fe20d4 100644 --- a/packages/ui/src/components/Image/Image.tsx +++ b/packages/ui/src/components/Image/Image.tsx @@ -1,33 +1,104 @@ -import React from 'react' -// @ts-ignore -// import ImageStyles from './Image.module.css' +'use client' -interface Props { - source?: string - style?: React.CSSProperties - className?: string - type?: 'rounded' | 'circle' - alt?: string - responsive?: boolean +import 'react-medium-image-zoom/dist/styles.css' + +import { useEffect, useState } from 'react' +import NextImage, { type ImageProps as NextImageProps } from 'next/image' +import { useTheme } from 'next-themes' +import { useBreakpoint } from 'common' +import { cn } from '../../lib/utils' +import Zoom from 'react-medium-image-zoom' +import ZoomContent from './ZoomContent' + +export type CaptionAlign = 'left' | 'center' | 'right' +export interface StaticImageData { + src: string + height: number + width: number + blurDataURL?: string + blurWidth?: number + blurHeight?: number +} + +export interface StaticRequire { + default: StaticImageData +} +export type StaticImport = StaticRequire | StaticImageData + +export type SourceType = + | string + | { + dark: string | StaticImport + light: string | StaticImport + } + +export interface ImageProps extends Omit { + src: SourceType + zoomable?: boolean + caption?: string + captionAlign?: CaptionAlign + containerClassName?: string } /** - * @deprecated Use Next/Image instead + * An advanced Image component that extends next/image with: + * - src: prop can either be a string or an object with theme alternatives {dark: string, light: string} + * - zoomable: {boolean} (optional) to make the image zoomable on click + * - caption: {string} (optional) to add a figcaption + * - captionAlign: {'left' | 'center' | 'right'} (optional) to align the caption + * - containerClassName: {string} (optional) to style the parent
container */ -export default function Image({ source, style, className, type, alt, responsive }: Props) { - // let classes = [ImageStyles['sbui-image-normal']] - // classes.push(type === 'rounded' && ImageStyles['sbui-image-rounded']) - // classes.push(type === 'circle' && ImageStyles['sbui-image-circle']) - // if(responsive) classes.push(ImageStyles['sbui-image-responsive']) - // if (className) classes.push(className) +const Image = ({ src, alt = '', zoomable, ...props }: ImageProps) => { + const [mounted, setMounted] = useState(false) + const { resolvedTheme } = useTheme() + const isLessThanLgBreakpoint = useBreakpoint() + + const Component = zoomable ? Zoom : 'span' + const sizes = zoomable + ? '(max-width: 768px) 200vw, (max-width: 1200px) 120vw, 200vw' + : '(max-width: 768px) 100vw, (max-width: 1200px) 66vw, 33vw' + const source = + typeof src === 'string' ? src : resolvedTheme?.includes('dark') ? src.dark : src.light + + useEffect(() => { + setMounted(true) + }, []) + + if (!mounted) return null + return ( - <> - {alt} - +
+ + + + {props.caption && ( +
{props.caption}
+ )} +
) } + +const getCaptionAlign = (align?: CaptionAlign) => { + switch (align) { + case 'left': + return 'text-left' + case 'right': + return 'text-right' + case 'center': + default: + return 'text-center' + } +} + +export default Image diff --git a/apps/www/components/ZoomableImg/ZoomContent.tsx b/packages/ui/src/components/Image/ZoomContent.tsx similarity index 52% rename from apps/www/components/ZoomableImg/ZoomContent.tsx rename to packages/ui/src/components/Image/ZoomContent.tsx index 2d037b1072..45d1e17948 100644 --- a/apps/www/components/ZoomableImg/ZoomContent.tsx +++ b/packages/ui/src/components/Image/ZoomContent.tsx @@ -1,14 +1,11 @@ -const ZoomContent = ({ - img, -}: //onUnzoom, -any) => { +const ZoomContent = ({ img }: { img: React.ReactElement | null }) => { return (
{img}