Release notes for Fauna products
Display:
Fauna Dashboard 2.19.0 - released 2021-01-14
Features
-
Included a banner reminding users about the upcoming transition to the new billing plans.
-
Added a toggle button for "legacy" users (those who signed up prior to November 17, 2020) that switches between "legacy" billing metrics and the (now) current billing metrics.
-
Improved the billing metrics presentation, which now includes a Total row, describing the account’s overall usage, and a "Dashboard/Shell/Playground" row that describes usage accumulated via these user interfaces.
Fauna API v4 - released 2020-11-18
Highlights
-
Added support for document streaming. Once a client subscribes to a document’s event stream, it is notified by Fauna of document events, such as update and delete, immediately.
-
Added support for third-party authentication: you can now use an identity provider, such as Auth0, to authenticate users and permit them to execute queries within your database. See External authentication for details.
-
Added new functions specifically for third-party authentication:
-
Added new functions to help distinguish between users stored in your Fauna database from external identities:
-
CurrentIdentity
(which replacesIdentity
) -
HasCurrentIdentity
(which replacesHasIdentity
)
-
-
The Python driver now supports all of the type check functions (
IsArray
and related). The Python driver now supports most of the math and type conversion functions, such asPow
andToObject
. -
The Java driver now requires Java 11. With that change, we have replaced the Netty HTTP client with the Java HTTP client, and upgraded the authentication scheme from Basic to Bearer.
Fauna Dashboard 2.16.0 - released 2020-11-18
New features
-
Teams: you can now invite others to participate in the development of your Fauna databases.
-
Third-party authentication: You can now configure AccessProvider documents to connect with an identity provider, such as Auth0, to permit identities stored outside of your database to execute queries within your database.
-
New billing plans: We have adjusted our billing plans to meet the needs of our customers. See our pricing page for details.
-
Multi-factor authentication: you can secure your Dashboard account with common authenticator apps that provide time-base one-time passwords.
Fauna Dashboard 2.14.0 - released 2020-08-19
Fixes
-
Upgraded the JavaScript driver to 3.0.1.
-
Improved scroll behavior in the Web Shell, on page load and after query execution.
-
Renamed Fauna Console to Fauna Dashboard.
Fauna API v3 - released 2020-08-18
The Fauna API, embodied in the interactions between the core database server and the drivers, follows a new version strategy beginning with this release.
Highlights
-
Added a new function,
Reverse
to reverse the order of sets and pages. -
Added an alias of the
Contains
function calledContainsPath
, and deprecated theContains
function. -
Added the new functions
ContainsField
andContainsValue
functions, to make it easier to explore the structure of objects and documents. -
Add
api_version
support toLambda
functions, so that a user-created function continues to behave consistently as the Fauna API version advances. -
Improved
ttl
configuration for documents by honoring the time-to-live upon read. This is especially useful for keys and tokens. -
Updated the Java driver support to include Java 11, and to remove Java 8.
-
Update the Python driver support to include Python 3.7 and 3.8.
Fauna Dashboard 2.13.3 - released 2020-06-30
Fixes
-
Improved the mobile view of the Dashboard home page.
-
Improved child database deletion to also delete associated keys from the parent database.
-
Fixed handling of UDFs that have no arguments.
-
Fixed handling of the "Terms" and "Values" fields in the index editor.
-
Fixed handling of text results to avoid garbled output.
Fauna 2.12.0 - released 2020-05-05
Highlights
-
All drivers now support the specification of a query timeout in milliseconds. When the timeout period has elapsed, the active query is terminated and an error is returned.
-
The Go driver now accepts the native
nil
in place off.Null()
. -
The Go driver now supports the various type check functions, including
IsArray
and similar. -
The C# driver now supports the
Documents
function.
Fauna Dashboard 2.12.0 - released 2020-04-14
Improvements
-
Add a page providing Fauna download assets.
-
Improved the expanded document display to now include the
ref
andts
fields. -
Improved the presentation of error messages in the Web Shell.
-
Improved the Keys list to automatically update when a key is revoked.
Fixes
-
Fixed issues with sorting lists and tables alphabetically, throughout the UI.
-
Fixed scrolling issues.
-
Fixed post-action navigation when deleting a collection or index, or renaming an index.
-
Improved handling of renamed collections.
-
Fixed styling issues for mobile users.
-
Fixed bugs with paste and undo in the Web Shell editor.
Fauna Dashboard 2.11.0 - released 2020-03-25
Improvements
-
Added a new downloads page.
-
Sorted lists and tables alphabetically, throughout the UI.
Fauna Dashboard 2.10.0 - released 2020-03-06
Improvements
-
Web Shell: Added a tooltip to display query metrics.
-
Web Shell: Added filtering of duplicates from the query history.
Fixes
-
Web Shell: Fixed regression in error reporting.
-
Web Shell: Adjusted keyboard shortcut bindings to use Command or Control as a modifier instead of Shift.
-
Fixed the placeholder height within the FQL editor.
-
Corrected the GraphQL tutorial step for creating a database; you can no longer proceed when the "Pre-populate with demo data" checkbox is checked.
Fauna Dashboard 2.9.0 - released 2020-02-25
Improvements
-
Use the new
Documents
function instead of collection indexes.
Fauna 2.11.0 - released 2020-02-12
Highlights
Built-in collection indexes
With built-in collection indexes (along with the
Documents
function), there are a couple of
advantages:
-
You no longer need to create your own "collection index" just to track all of the documents that exist within a collection.
-
You can remove any existing collection indexes (provided that you update queries that involve them) to save on storage.
Fixed
-
Fixed issue where ABAC roles could fall back to the legacy permission system.
-
Fixed missing reference for the
write
privilege in ABAC roles. Predicate functions for thewrite
action now receive the reference of the document to be written. See User-defined roles for details. -
Fixed rendering of indexes with multiple
source
s defined. -
Fixed
IndexOutOfBounds
error when usingFindStrRegex
. -
Cleaned up error descriptions in error messages.
-
Fixed
DateTimeException
when usingEpoch
.
Beginning with Fauna 2.11.0, the Fauna access control logic has been changed to use attribute-based access control (ABAC) roles, or the key-based permission system, but never both. If a resource is a member of an ABAC role, the ABAC role specifies all privileges for that resource. Otherwise, the key-based permission system determines whether read/write/execute privileges are enabled. For example, when an ABAC role includes a user-defined function as a
member, that function cannot be called unless the ABAC privileges permit
the |
Fauna Dashboard 2.8.0 - released 2020-02-12
Improvements
-
Added the new
Documents
function to the web shell. -
Added convenience keyboard shortcuts to the web shell, for executing queries and navigating the command history.
-
Added an option to save modified documents and return to the collections page.
Fauna Dashboard 2.7.0 - released 2020-01-29
Improvements
-
Clicking on any Reference displays the referenced document.
-
The Dashboard tutorials can be reset, if you need to start over.
-
In the Shell, consecutive line numbers are displayed in the query history.
-
During role creation, objects available from dropdowns are automatically added.
Fauna Dashboard 2.6.2 - released 2020-01-15
Fixes
-
Fixed ABAC predicate samples, and related, minor issues.
-
Fixed the creation of keys for child databases.
-
Fixed user logout/session invalidation issue.
Fauna 2.10.0 - released 2019-11-27
Improvements
-
Added new Date and Time arithmetic functions:
TimeAdd
,TimeDiff
, andTimeSubtract
. -
Added
All
andAny
functions, to test arrays or sets for "true" values. -
Added additional type conversion functions:
ToArray
,ToDouble
,ToInteger
, andToObject
. -
Added type check functions:
IsArray
,IsBoolean
,IsBytes
,IsCollection
,IsCredentials
,IsDatabase
,IsDate
,IsDoc
,IsDouble
,IsFunction
,IsIndex
,IsInteger
,IsKey
,IsLambda
,IsNull
,IsNumber
,IsObject
,IsRef
,IsRole
,IsSet
,IsString
,IsTimestamp
, andIsToken
. -
Removed preview status from:
Format
,Merge
,Range
, andReduce
.
Functions in "preview" mode are only supported on the JavaScript and JVM (Java and Scala) drivers, and may change between their preview introduction and general availability. Typically, preview functions remain in preview for 2 releases of Fauna. |
Fixes
-
Ensured that the C# driver properly uses and supports Collection and Document terminology.
-
Fixed issue where the C# driver was not always handling
null
s correctly. -
Difference
,Distinct
,Intersection
, andUnion
now support arrays. -
Fixed issue where
Range
did not support refs as bounds. -
Invalid
Create
function calls now give clearer error messages.
Fauna Dashboard 2.4.0 - released 2019-11-27
Improvements
-
Updated the drivers to 2.10.0.
-
Updated the internal FQL function whitelist to include new 2.10.0 functions.
-
Added a document delete capability to the document list view.
Fauna 2.9.0 - released 2019-10-17
Highlights
The following new functions have been added to the Fauna Query Language as a "preview":
-
A preview function initial release does not have support in all drivers; only Java, Javascript, and Scala implementations are provided.
-
A preview function might change after its initial release. Feedback from the community could suggest changes to parameters, return values, or implementation. We’d like you to try these functions and let us know how they are working for you!
Aggregate functions for sets
Following up on the recent addition of the
Reduce
function, we have added new functions
for common aggregations:
String predicate functions
We have added some additional functions which make it easier to search for specific strings with Filter() by returning true or false rather than an index or match structure:
-
StartsWith
,EndsWith
, andContainsStr
allow you to test if a string contains a search string. -
ContainsStrRegex
allows you to check whether a string matches a regular expression, which can be useful for more advanced predicates. -
RegexEscape
lets you escape the input, transforming it into a regular expression that matches the actual input value.
Even more functions
-
MoveDatabase
provides the ability to move a database to another point in a database hierarchy, similar to themv
command for your file system. -
Now
provides the transaction start timestamp. Previously, the only way to get the transaction start time was by passing the special argumentnow
toTime
.
Fixes
-
Improved the server’s task system to better prioritize tasks between nodes.
-
C# driver: Fixed nullable types for values that have non-null values in the database. Also added support for
ISet
types on decoders. -
Fixed permission denied error when paginating through scoped databases that had been previously moved.
-
Improved write latency by using replica level coordinator information instead of global. Previously, remote, non-log replicas could cause log replicas to slow down needlessly.
-
Enforced limit of 64kb for index entries (includes
terms
andvalues
fields). -
Deleting a collection now automatically deletes related single-source indexes.
Fauna Dashboard 2.2.1 - released 2019-09-12
Fauna Dashboard 2.2.0 - released 2019-08-29
Improvements
-
The new
Format
,Merge
,Range
, andReduce
, functions are now available. -
Users can now create an account and login to Fauna with their Netlify account credentials, using OAuth.
-
Using the Fauna Add-on for Netlify, users can create a Fauna database instance from within their Netlify development environment, and get started instantly. They can also associate this database with their Fauna account so that they can manage it within Dashboard.
-
The Dashboard’s Shell now indicates when bulk results are being displayed.
Fauna 2.8.0 - released 2019-08-28
Highlights
The following new functions have been added to the Fauna Query Language as a "preview":
-
A preview function does not have support in all drivers; only Java, Javascript, and Scala implementations are provided.
-
A preview function might change after its initial release. Feedback from the community could suggest changes to parameters, return values, or implementation. We’d like you to try these functions and let us know how they are working for you!
Format function
Format
formats a list of arguments according to a format
specifier string, similar to printf
in other languages.
Range function
Range
provides the ability to limit a set based on lower and
upper bounds of its natural order. If a set’s tuples are longer than the
bounds passed to Range(), the limit applies based on the prefix the
bounds cover. The from
and to
bounds are inclusive.
Reduce function
Reduce
applies a reducer
function to each member of a
collection
(an array, page, or set) to produce a single value (any
scalar, array, object, etc.).
Fixed
-
Filter
can now operate on a Set, in addition to working with an Array. This makes pagination easier, and makes it possible to filter sets in combination with other set functions. -
Fixed an issue where
Distinct
could not be round-tripped between Fauna and a client. -
Improved the latency and reliability of index builds.
-
Newly created indexes are no longer automatically set to active when a collection already has documents.
-
Index builds are synchronous for collections with less than 128 documents.
-
Providing a timestamp to
At
that is too far into the future now returns an error immediately. -
Fixed an issue where the functions
Insert
andRemove
would reject an action taken from an event within a query. -
Various minor operational improvements and bug fixes.
Fauna Dashboard 2.1.3 - released 2019-08-22
Improvements
-
Error messages in the Dashboard’s Shell now includes the failure reason.
-
The Dashboard’s Shell "Bulk Results" message has been improved to be less alarming.
-
When a session expires and you re-authenticate, you are redirected to the page you were on at session expiry.
-
Add an integration enabling the Fauna Add-on for Netlify.
Fauna Dashboard 2.1.1 - released 2019-07-24
Fauna 2.7.0 - released 2019-07-16
Highlights
This release brings numerous enhancements in security and usability.
Attribute-based access control (ABAC)
Attribute-based access control (ABAC) is designed as a replacement for Fauna’s current resource-based security model. It’s an alternative to an all-or-nothing security model and is commonly used in applications to restrict access to specific data based on the user’s role. Until 2.7.0, access within Fauna was restricted to 4 pre-defined roles. With ABAC, developers can define custom roles that match the applications' requirements and its data model, permitting access only to the data that the user needs to see.
For more information, see the:
Fauna Shell, on the web
Users can now access a web-based version of the Fauna Shell command-line from any browser, anywhere with an internet connection. FQL commands and functions can now be run directly in the browser. This is especially helpful for new users hoping to get started quickly with Fauna, without needing to install CLI tools on their local computer.
For more information, see the Fauna Dashboard 2.1.0 release notes.
Renamed "Classes" and "Instances"
One of the biggest user-facing changes in this release is the renaming of "classes" to "collections" and "instances" to "documents". Usability testing has repeatedly surfaced these terms as a source of confusion for new users. As such, we have renamed these terms.
We decided to go with "collection" because it’s more inclusive of flexible data models and resonates well with developers from a NoSQL background. Because databases that use the term "collections" typically also use the word "documents" to denote the objects in those collections, "instances" have been renamed to "documents". We have also found that most new users start with document-based data models to improve productivity during the early prototyping stage of application development.
This rename appears throughout Fauna and the documentation, especially in the FQL reference.
Recursive user-defined functions
Recursion has been one of the most commonly-requested features from our community, so we have added the ability to make recursive calls to user-defined functions. Since recursive calls can be very resource-intensive, the number of calls is restricted to a hard limit of 200. An example use case would be a user creating a list of all of her friends' friends within 6 degrees of separation, so she could send them marketing information about her app.
Time to number functions
Fauna 2.7.0 introduces new time to number conversion functions.
Fauna has two special data types dealing with dates and times. The
first data type is date
, which stores a calendar date. The second is a
timestamp
(ts
), which stores an instant in time expressed as a
calendar date and time of day. These new functions allow developers to
extract the year, month, day of month, day of week, day of year, hour,
minute, and second values from a timestamp field.
Here is a summary of these new functions. Reference coverage of these functions is available here.
Fixed
-
Numeric values now sort more predictably; previously, integers and floats could not be compared by value.
-
Fauna Enterprise now called Fauna Hybrid.
-
Inserts into the future are no longer permitted.
-
Numerous performance improvements.
-
Addressed an issue where duplicated error messages appeared if the index configuration was invalid.
Fauna Dashboard 2.1.0 - released 2019-07-16
Fauna Dashboard 2.0.1 - released 2019-06-19
Improvements
-
GraphQL tabs are now specific to a child database, rather than shared across the whole application.
-
Improved usability with Create Class and Index
-
The Create Class screen provides the ability to add new classes, and to add new instances to these classes inline. You can also create indexes without losing context to the class.
-
We support inline editing of instances. You can update any values in any instance directly from the Dashboard.
-
Index creation has become more intuitive, and we have added support for inline querying. You can now choose the data type while inputting your query string.
-
Fauna GraphQL API 1.0.0 - released 2019-06-18
The Fauna team is pleased to announce the general availability of the Fauna GraphQL API, an interface that makes it very easy to connect applications with databases by using a generic, composable query language instead of a server-specific query language.
We plan to build on this release of GraphQL API over the coming months.
Highlights
-
Works with any database within Fauna. Queries/mutations are restricted to the defined GraphQL schema, so that your GraphQL access can live alongside any other classes, indexes, and instances that may already exist.
-
Supports importing via the
/import
endpoint, and querying via/graphql
. -
GraphQL Playground is embedded in the Fauna Dashboard, so there is no need to install an application, or use a separate web application to inspect your schema or run queries.
-
Supports several custom directives, including
@collection
,@embedded
,@index
,@relation
,@resolver
,@unique
.
Fauna Dashboard 1.0.0 - released 2019-02-13
Highlights
-
Integration of GitHub for user authentication
With the new authentication system, you can now use your GitHub credentials to sign up with Fauna and alleviate the need to remember yet another password. -
New usage-based metrics reporting
Billing is based on the same set of metrics. Pricing details are available here. The following metrics are used for tracking:-
Read operations
-
Write operations
-
Outbound data transfer
-
Storage consumed
-
-
Dashboard
The new Dashboard provides a summary of usage broken down by the child databases that the user has created. If new keys are required for any of your child databases, then this is the place to start. -
Sidebar Navigation
The new sidebar allows a user to navigate between classes, indexes, and keys at any given time.
Was this article helpful?
We're sorry to hear that.
Tell us how we can improve!
Visit Fauna's Discourse forums
or email docs@fauna.com
Thank you for your feedback!