on_output
pipeline is called in save function [DONE]
when_many_results
modifier [DONE]- Rename
Purpose
toIntent
[DONE] when_create
andwhen_update
supports upsert and outputs [DONE]- Input omissible and output omissible [DONE]
- Remove cache error when nesting create or connect same object [DONE]
- Remove cache error when nesting upsert same object [DONE]
- callbacks for nested created or updated objects [DONE]
- Fix validation pipeline is before relation manipulation bug [DONE]
- Do not trigger connected object's
on_save
pipeline if it's not actually updated [DONE]
- Ellipsis modifier (especially useful on output) [DONE]
get_object
modifier to reach the object itself [DONE]- Property [DONE]
- SQL: Migration: insert/delete columns for most simple cases [DONE]
- SQL: Mutation: most simple inserts [DONE]
- SQL: Query: most simple queries [DONE]
- SQL: Mutation: most simple updates [DONE]
- SQL: Query: find many and find one [DONE]
- SQL: Query: count [DONE]
- SQL: Mutation: deletion [DONE]
- SQL: Sorting [DONE]
- SQL: Paging [DONE]
- SQL: Handle optional values [DONE]
- SQL:
Date
andDateTime
[DONE] - SQL: Including with batch query caches for relations without join table [DONE]
- SQL: Including with batch query caches for relations with join table [DONE]
- SQL: Update object saving order for SQL [DONE]
- MongoDB: Remove async mutex introduced by SQL features [DONE]
- Update key path APIs [DONE]
- Fix token decoding and encoding after modifying
identifier
[DONE] - Make key path APIs better [DONE]
- SQL: Correct result json key order [DONE]
- Updated with some new style key path error messages [DONE]
- Fix pipeline valid check [DONE]
- Cached property: save into database [DONE]
- Cached property: mark for save on dependency update [DONE]
- Cached property: get cached value [DONE]
- Cached property: recalculate if dirty [DONE]
- Cached property: create database column [DONE]
- Add required check for present with and present without [DONE]
- Write and read rule [DONE]
- Property setter error uses path [DONE]
- Remove primary name from MongoDB connector's
save
method [DONE] - For relationship with join table, link them after both objects are created [DONE]
- Read rule: check in to_json [DONE]
- Permissions: Read [DONE]
- Permissions: Create [DONE]
- Permissions: Update [DONE]
- New style key path error messages [DONE]
- Object environment [DONE]
- Delete rules [DONE]
- Fix HTTP API result format [DONE]
- Replace
serde_json
with our owntson
[DONE]
- Handle manipulation uses single or many [DONE]
- Bug fixes [DONE]
- Remove position from env, it can be inferred from
intent
[DONE]
- MongoDB Aggregation: rewrite [DONE]
- MongoDB update: column keys [DONE]
- SQL: MySQL: Fix bool column is always altered bug [DONE]
- SQL query process: rewrite [DONE]
- SQL update: column keys [DONE]
- Bug fixes for MySQL CRUD without relations [DONE]
- Bug fixes for select and nested select [DONE]
- SQL: join table relationship: cannot insert into object query map [DONE]
- SQL: Cursor [DONE]
- SQL: Negative take [DONE]
- SQL: Nested skip and take [DONE]
- SQL: Nested negative take [DONE]
- SQL: Negative take without order by [DONE]
- SQL: Distinct [DONE]
- SQL: Relation where for without join table [DONE]
- SQL: Relation where for with join table [DONE]
- SQL: Aggregation [DONE]
- SQL: Group by without having [DONE]
- SQL: Group by with having [DONE]
- MongoDB: Bug fixes for one-to-many relationship [DONE]
- Merge json pipeline into pipeline [DONE]
- Fix decode credentials [DONE]
- PostgreSQL: CRUD and decoding [DONE]
- Fix including has no result keys bug [DONE]
- SQLite: auto create or delete database file [DONE]
- Rewrite app & graph [DONE]
- Rewrite client generation [DONE]
- Schema parser [DONE]
- Message output for starting server [DONE]
- Great README for VSCode teo plugin [DONE]
- Better syntax highlighting for VSCode [DONE]
- Basic Python bindings without custom callbacks [DONE]
- Basic Node.js bindings without custom callbacks [DONE]
- Basic Go bindings without custom callbacks [DONE]
- When starting application, show framework version [DONE]
- When starting application, show environment name and version [DONE]
- When starting application, show rust compiler version, too [DONE]
- When starting application, show application entrance aka CLI or APP [DONE]
- Node.js: remove
App.prototype.run
and rename AppBuilder into App [DONE] - Python: remove
App.run
and rename AppBuilder into App [DONE] - CLI --version [DONE]
- CLI --help [DONE]
- Rust CLI [DONE]
- Rust: move load into build [DONE]
- Python: move load into run [DONE]
- Node.js: move load into run [DONE]
- Go: move load into run [DONE]
- Python CLI [DONE]
- Node.js CLI [DONE]
- Fix Node.js cannot Ctrl+C bug [DONE]
- TypeScript docs and index.d.ts for Node.js [DONE]
- Syntax highlighting for official website [DONE]
- Syntax highlighting for IntelliJ IDEA [DONE]
invalid
modifier [DONE]- Remove stage from pipeline context [DONE]
if
modifier [DONE]not
modifier [DONE]passed
modifier [DONE]and
andor
modifier [DONE]validate
supports pipeline argument [DONE]transform
supports pipeline argument [DONE]previous
modifier accepts both string and enum choice [DONE]- Fixed range literal bug [DONE]
- Removed conf builder [DONE]
- Design client config blocks [DONE]
- Design entity config blocks [DONE]
- Rewrite client code generation with separated TS and JS [DONE]
- Rename
tson
toteon
[DONE] - Add callback model decorators [DONE]
- Fix compiler warnings [DONE]
- Load environment variables from .env [DONE]
- Generate rust entities [DONE]
- Fix pipeline highlighting bug for VSCode [DONE]
- Rename config keyword to server [DONE]
- More detailed API documentation [DONE]
$print
pipeline item [DONE]- Support highlighting
import
andlet
for VSCode plugin [DONE] - Rename
@authIdentity
and@authBy
[DONE] - Remove permission builder and permission [DONE]
- Remove
FieldBuilder
andFieldIndexBuilder
[DONE] - Remove
PropertyBuilder
[DONE] - Remove
RelationBuilder
[DONE] - Remove
ConnectorBuilder
andDataSourceBuilder
[DONE] - Remove
ActionBuilder
[DONE] - Rename
Action
intoHandler
[DONE] - CLI migrate command [DONE]
- Migrate when starting server [DONE]
- Rename
intent
to action [DONE] - Rename
source
to action source [DONE] - Parser: bitwise
~
,|
,^
,&
[DONE] - Parser:
+
-
*
/
%
[DONE] - Remove redundant teon number types [DONE]
- Add
INTERNAL_LOCATION
andINTERNAL_AMOUNT
[DONE] - Pratt parser for binary operation [DONE]
- Add
$identity(Pipeline)
[DONE] - Fix typo: rename
$isExist
to$exists
[DONE] - Add
@canRead
and@canMutate
to models [DONE] - Add
@canMutate
to delete [DONE] - Add
@canRead
and@canMutate
to fields [DONE] - Add before delete and after delete callback to delete [DONE]
- Rename rust binary to
cargo-teo
[DONE] - MongoDB bug: @id is not unique if not mapped to
_id
[DONE] - MongoDB bug: dup key should use field name instead of column name [DONE]
- Rust entities for optional numbers [DONE]
- Rust entities for optional
Date
andDateTime
[DONE] - Rust entities for new method with
teon
parameter [DONE] - Rust entities for query methods [DONE]
- Rename
ActionError
andActionResult
[DONE] - Improved teon value eq to support across number types [DONE]
- Always record previous id value and support modifying
@id
fields [DONE]
- Error in pipeline [DONE]
- Rename pipeline modifier to pipeline item [DONE]
- Error in pipeline program functions [DONE]
- Entry level
@disable
[DONE] - Nested level
@disable
[DONE] @redirect
item to redirect action [DONE]$set
and$get
works for object, vec and map [DONE]- Entry level
@action
[DONE] - Nested level
@action
[DONE] - Fix value required entry level error message bug [DONE]
$print
item label argument [DONE]$assign
decorator [DONE]- Property decorator documentation [DONE]
- Relation decorator documentation [DONE]
- Rust
validate
acceptsOption<String>
[DONE] @disable
documentation [DONE]@action
documentation [DONE]- Support regular expression for VSCode plugin [DONE]
- Rust entities:
chrono
andbson
automatically included [DONE] - Rust entities: properties [DONE]
- Rust entities:
set
,update
anddelete
method [DONE] - New designed object relation APIs [DONE]
- Rust entities with relations [DONE]
- Entities: auto create dir [DONE]
- Rust server API documentation [DONE]
- Object API: correct nested
set
usage for request [DONE] - Object API: add nested
upsert
for single relation [DONE] - Object API: correct nested
set
usage for programming [DONE] - Fix parsing chained calls with new line [DONE]
find
action transform when including [DONE]- MongoDB bug: fix pipeline set value, int 64 and int 32 issue [DONE]
- Fix soft delete bugs [DONE]
- Code comment parsing in schema parser [DONE]
- Rust entities with documentation [DONE]
- TypeScript client: package files [DONE]
- Fixed MySQL name quote bug [DONE]
- Client: gitCommit option: default false [DONE]
- TypeScript client: fetch result: DateTime should be decoded correctly [DONE]
- Import without extension and index [DONE]
dest
relative to file instead of cwd [DONE]- Revamp server outputs [DONE]
- Request logging: log original handler instead of redirected and transformed [DONE]
- Bug: required relationship can be created without it [DONE]
- Primitive type constructors [DONE]
- Remove unused
copy
decorator [DONE] - Fixed nested create key bug [DONE]
- Fixed a pipeline parsing bug [DONE]
- Fixed a bug which causes checker value being not passed into pipeline [DONE]
- Added an HTTP error message when JWT token is not defined [DONE]
- Added
$is
item for object checking [DONE] - When identity object is created and identity is null, set itself as identity [DONE]
- MySQL and SQLite: when object is created, use correct int type for inserted ID [DONE]
- Teon value: hashmap can compare equality [DONE]
- Find many handler: errors if any of items is denied to access [DONE]
$isA
throws correct error message if value is null [DONE]- Fixed upsert and update handler has wrong user mode bug [DONE]
- Fixed SQLite connector create a strange file when
:memory:
[DONE] - Fixed TypeScript client
$withToken
is not called correctly bug [DONE] - Fixed TypeScript client date parsing bug when encountered null [DONE]
- Fixed
$ellipsis
argument passing bug [DONE]
- Replace buggy sqlx with quaint which powers Prisma [DONE]
- SQLite: unique constraint error [DONE]
- MySQL: auto insert
root:
to connection URL [DONE] - PostgreSQL: auto insert
postgres:
to connection URL [DONE] - Rewrite SQL migrations for SQLite [DONE]
- Rewrite SQL migrations for PostgreSQL [DONE]
- Migration decorator [DONE]
- PostgreSQL migration: list columns [DONE]
- SQL migration: rename fields [DONE]
- Model: dropped columns [DONE]
- Connector config: debug [DONE]
- SQLite: fix in memory connection [DONE]
- SQL migration: add column: default value [DONE]
- SQL migration: when adding required column without
default: ..
ordrop: true
, throws [DONE] - SQL migration: drop table if needed when adding required column [DONE]
$queryRaw
item for SQL [DONE]- SQL migration: delete tables [DONE]
- SQL migration: rename tables [DONE]
- SQL migration: actions [DONE]
- Server: decimal type [DONE]
- TypeScript client: decimal type [DONE]
- Fix number updater bug [DONE]
- PostgreSQL array type: server side [DONE]
- PostgreSQL array type: TypeScript client [DONE]
- Fix optional type decoding [DONE]
- PostgreSQL: fix alter column with multiple clauses [DONE]
- Fix query bug for date, datetime and decimal [DONE]
- Fix slug and cuid format [DONE]
- Add cuid2 modifier [DONE]
- SQL migration: Separate index and columns [DONE]
- Schema language: Enum member literal with argument [DONE]
- Named arguments for index decorators [DONE]
- Pipeline: random float modifier [DONE]
- Pipeline: random int modifier [DONE]
- Pipeline: to uppercase modifier [DONE]
- Pipeline: to lowercase modifier [DONE]
- Pipeline: to word case modifier [DONE]
- Pipeline: to sentence case modifier [DONE]
- Pipeline: to title case modifier [DONE]
- Export graph, model, fields, relations and properties from app for Node.js binding [DONE]
- Node.js object [DONE]
- Node.js entity generation [DONE]
- Node.js package [DONE]
- Fix PostgreSQL drop index [DONE]
- Generate decimal in rust entities [DONE]
- Fix Node.js run loop bug [DONE]
- Setup integration tests: test lib [DONE]
- Setup integration tests: docker [DONE]
- Fix rust command line arguments [DONE]
- MySQL native enum [DONE]
- Fix MongoDB integer encode bug [DONE]
- Support MongoDB arrays [DONE]
- Fixed MongoDB date encoding bug [DONE]
- Removed enum builder [DONE]
- Fixed SQLite Int64 is not decoded bug [DONE]
- Fixed SQLite migration primary key bug [DONE]
- Fixed PostgreSQL migration primary key bug [DONE]
- Remove URL segment name [DONE]
- Refactor the generator code to make it production ready [DONE]
- Swift client [DONE]
- Kotlin client [DONE]
- Dart client [DONE]
- C# client: refactor [DONE]
- Generate decimal imports in rust entities [DONE]
- Schema lang: dataset [DONE]
- Parser: parse dataset [DONE]
- Fix dictionary literal parsing bug [DONE]
- Fix SQL non-serial id object creating bug [DONE]
- Fix SQL
OR
in where bug [DONE] - Fix SQL empty
in
ornotIn
bug [DONE] - Fix import statement [DONE]
- Add command
seed
[DONE] seed --reseed
[DONE]seed --unseed
[DONE]- Add command
purge
[DONE] - Use
TEO_ENV
environment variable [DONE] - Data seeding [DONE]
- Add debug conf block [DONE]
- Add test conf block [DONE]
- CLI: Make
--schema
argument global [DONE] - Setup integration tests: reset after each find request [DONE]
- Unit test: relations for MongoDB connector [DONE]
- Fix many-to-many relationship set is not reset bug [DONE]
- Fix many-to-many relationship cannot be nested updated bug [DONE]
- Fix many-to-many relationship cannot be nested updated many bug [DONE]
- Fix many-to-many relationship cannot be nested deleted bug [DONE]
- Fix many-to-many relationship cannot be nested deleted many bug [DONE]
- Single relation: nested set to null [DONE]
- Many to one required: disable set and disconnect nested action [DONE]
- One required to many: disable set to null and disconnect [DONE]
- Fix set for single relation is not set bug [DONE]
- One foreign to one local optional: when nested create, disconnect the previous one [DONE]
- Unit test: relations for MySQL connector [IN PROGRESS]
- Fix composite primary bug for MySQL [DONE]
- Fix SQL where with join error [DONE]
- SQL: required many-to-many relation should display an empty relation array if included [DONE]
- Unit test: relations for PostgreSQL connector [DONE]
- Fix composite primary bug for PostgreSQL [DONE]
- Fix string encode escape bug for PostgreSQL [DONE]
- Fix where name escape bug for PostgreSQL [DONE]
- Fix: SQL delete clause escapes identifiers [DONE]
- Unit test: relations for SQLite connector [DONE]
- Fix: SQL encode escape bug for SQLite [DONE]
- Find unique and find first returns null instead of
ObjectNotFound
error [DONE] - Fix: on save now displays correct validate error message [DONE]
- Fix: compare should not be called when field is not
recordPrevious
[DONE] - Refactor [DONE]
- Rename
source
toinitiator
[DONE] - Rename
environment version
toprogram
[DONE] - Remove
GraphBuilder
[DONE] - Remove
AppBuilder
[DONE] - Remove
ModelBuilder
[DONE] - Rewrite model API [DONE]
- Remove
ModelIndexBuilder
[DONE] - Rewrite framework errors [DONE]
- Rewrite connector to support pooled connections [DONE]
- Fix SQLite memory bug: A HTTP connection should use single pooled connection [DONE]
- Unit test: relations for SQLite memory connector [DONE]
- SQL transaction [DONE]
- Callbacks with variant length parameters [DONE]
- Pass teo object to callbacks [DONE]
- Refactor Rust entities [DONE]
- Node.js bindings: refactor [DONE]
- Refactor Node.js entities [DONE]
- Fixed Node.js transform number bug [Done]
- Fixed rust entity generation callback method bug [Done]
- Fixed update Cargo.toml bug [Done]
- Fixed
$oneOf
bug [Done] - Fixed rust enum traits bug [Done]
- Fixed
dotenv
is not triggered bug [Done] - Schema lang: Each line can contain comments now [Done]
- Entity: rust entity now contains aggregate methods [Done]
- When running generation, ignore custom programming callbacks [Done]
- Fixed aggregate SQL clause bug for PostgreSQL [Done]
- Fixed create index on a newly defined column causes crash bug [Done]
- MySQL basic custom string types [Done]
- Fixed decimal.js import bug for generated Node.js client [Done]
- Fixed a bug causes virtual fields to be created [Done]
- When refreshed, virtual value is kept for root level object [Done]
- Fixed count
where
bug [Done] - Add
timezone
parameter to$today
[Done] - Cached properties can be indexed [Done]
- Better object inspection [Done]
- Custom routes: action [Done]
- Custom routes: middleware [Done]
- Fixed action
program code
is recognized as any action bug [Done] - Fixed where unique input is ordered bug [Done]
- Fixed
teon
macros are not found bug [Done] - File uploading with form data [Done]
- Serving static files [Done]
- Fixed optional decimal bug in rust entities [Done]
- Added a user context parameter to setup callback [Done]
- Fixed a bug which caused generated clients contain internal classes [Done]
- Fix app ctx and graph memory bug for release [Done]
- Fix command line tool entity generation [Done]
- Fixed sign in meta token object [Done]
- Uploaded file is now placed at temporary directory [Done]
- Fixed where unique decode bug [DONE]
- Fixed previous record trigger when setting object value [DONE]
- When updating an object, use its previous value [DONE]
- Do not seed records for dropped tables and delete the seed record [DONE]
- Fixed "equals": null and "not": null for SQL queries [DONE]
- Generated models in clients and entities are in alphabetic order [DONE]
- Kotlin client: when generating into a project, infer its package name from the path [DONE]
- Node.js client: Rewrite with askama engine [DONE]
- Generated clients: vec relations are optional instead of required [DONE]
- Fixed enum triple comment block parsing bug [DONE]
- Remove block decorators [DONE]
- Added
toDate
item [DONE]
- Fixed duplicated import bug [DONE]
- Namespaces [DONE]
- Remove
action
from request URLs [DONE] - Remove function installers [DONE]
- Table names are lower-cased but not plural anymore [DONE]
- Fixed empty dictionary literal parsing bug [DONE]
- Display errors and warnings [DONE]
- Allow comments in dictionary literal, array literal and tuple literal [DONE]
- Fix insert raw enum variant into SQL bug [DONE]
- Added
lint
command [DONE] - Added
run
command andprogram
definition [DONE] - Type system in schema [DONE]
- Remove soft delete [DONE]
- Code diagnostics for VSCode [DONE]
- Auto completion [DONE]
- Jump to definition [DONE]
- Allow no connector in a project [DONE]
- Multiple connectors [DONE]
- Rewrite decorators loading and pipeline items loading [DONE]
- Custom decorators and pipeline items [DONE]
- Full set of binary operators [DONE]
- Enum member with arguments [DONE]
- Force unwrap operator [DONE]
- Specific database types [DONE]
- Server response: redirects [DONE]
- The copy action [DONE]
- Custom decorators for actions including custom routes: @ignoreNamespace: true**[DONE]**
- Server: custom request methods and url params**[DONE]**
- Availability flags [DONE]
- Database type mapping for field, property [DONE]
- All
many
actions should throw errors [DONE] - Rewrite model validator and decoder [DONE]
- Rewrite interface validator and decoder [DONE]
- Input omissible and output omissible for generated clients [DONE]
- Client: distinct in handler args [DONE]
- Format source files [DONE]
- Dictionary uses javaScript object syntax [DONE]
- Alter config block with dictionary literal syntax [DONE]
- Declare enum in type [DONE]
- Declare object in type [DONE]
- Interface extending shapes [DONE]
- Type coercing [DONE]
- Bug fixes [DONE]
- Rewrite rust generators with namespaces and interfaces [DONE]
- Add back request logs [DONE]
- Add back extractors for rust entities [DONE]
- Add back model index decorators [DONE]
- Custom handler takes synthesized types [DONE]
- Add
to_teon
for generated rust objects [DONE] - Fix rust entity
type
method escaping bug [DONE] - Add borrowing from teon value for generated rust interfaces [DONE]
- Fix rust entity
&Value
to &interface conversion bug [DONE] - Do not parse JSON body for get request and delete request [DONE]
- Fix use middlewares parsing bugs [DONE]
- Fix unsigned type bug in MySQL [DONE]
- Fix table name encoding bug in PostgreSQL [DONE]
- Fix create bug in PostgreSQL [DONE]
- Fix primary key is dropped bug in PostgreSQL [DONE]
- Fix MongoDB record decoding bugs [DONE]
- Fix
$hasLength
pipeline item bug [DONE] - Fix argument resolving bug when type is optional [DONE]
- Fix server error message class error [DONE]
- Update MongoDB unique record error message [DONE]
- Update SQL databases unique record error message [DONE]
- Fix model
@migration
renamed bug [DONE] - Server response: file [DONE]
- Server response: string in HTML format and other formats [DONE]
- Rewrite TS client generators with namespaces and interfaces [DONE]
- TS Client: fix running bugs [DONE]
- TS Client: fixed include args with boolean inputs [DONE]
- Fix reference shape with without bug [DONE]
- Remove
using
keyword from syntax [DONE] - Update documentation [DONE]
- Update design of website [DONE]
- Rewrite syntax highlighting [DONE]
- Fix MySQL primary key migration bug [DONE]
- Simplified transaction API [DONE]
- Fix without shape bug for create and update when generating [DONE]
- Allow doc comment in dictionary literal [DONE]
- Fix
import
keyword is unrecognized bug [DONE] - Improve performance when auto completing [DONE]
- Fix SQL string quote bugs when performing join [DONE]
- Fix MongoDB object update bug [DONE]
- Fix enum types migration bug for SQL databases [DONE]
- Fix app entrance display bug for Rust CLI [DONE]
- Allow handler declaration in namespace and top level [DONE]
- Allow optional handler input type [DONE]
- Add
nonapi
keyword to handler declaration [DONE] - Handler decorator
map
[DONE] - Fix launching bugs for no database server apps [DONE]
- Add handler with no arguments [DONE]
- Add
interface
parameter and generate interface for handler path arguments [DONE] - Fix handler URL matching bug [DONE]
- Fix output type of
$when
[DONE] - Add
indexmap
to generated Rust entity [DONE] - Fix file uploading bugs [DONE]
- Fix VSCode crashing when completing relation decorators [DONE]
- Fix data seeding bugs [DONE]
- Add back relation delete rule [DONE]
- Add relation update rule [DONE]
- Remove
@recordPrevious
[DONE] - Fix update input is not optional bug [DONE]
- Fix seeding query bug that sometimes occurs [DONE]
- Fix transaction bug for Node.js and Python [DONE]
- Rewrite Node.js server [DONE]
- Update design of README.md [DONE]
- Node.js object printing [DONE]
- Node.js client use dedicated
DateOnly
class instead of builtinDate
[DONE] - Cross language error handling for node.js [DONE]
- Reverse middleware stack order [DONE]
- Asynchronous schema loading [DONE]
- Rewrite Node.js entity generation [DONE]
- Fix MySQL migration bug for
DateTime
[DONE] - Pipeline item target type casting [DONE]
- TS Client: correct return types for
count
,aggregate
andgroupBy
[DONE] - TS Client: fix
DateOnly
andObjectId
type to string [DONE] - Extract arguments in wrapped pipeline item with [DONE]
- Node.js: add
count
,aggregate
andgroupBy
[DONE] - Node.js: type safe database methods [DONE]
- TS Client: add
decimal.js
to package.json [DONE]
- Fixed auto seeding bug which causes exiting [DONE]
- Fixed Node.js package release bug [DONE]
- Fixed TypeScript client array result type bug [DONE]
- Fixed
orderBy
input definition bug [DONE]
- Fixed client generation for
orderBy
[DONE] - Fixed pipeline item and model decorators loading in CLI mode [DONE]
- Fixed
DateTime
encoding bug in TypeScript client [DONE]
- Fixed meta decoding bug for
findMany
[DONE]
- Fixed
Int64
andFloat32
SQL encoding bug [DONE]
- Fixed middleware creator arguments are not found bug [DONE]
- When cursor is invalidly used, display error message instead of panicking [DONE]
- Support Python server [DONE]
- Fix relation filters are required bug [DONE]
- Format new lines in generated javaScript entities and clients [DONE]
- Fix Linux GitHub CI building for Python package [DONE]
- Fix Linux GitHub CI building for Node.js package [DONE]
- Python: Fix declaration and signature of decorator APIs [DONE]
- Python: Fix signatures for
TypedDict
optional fields [DONE] - Python: Add slash to python generated APIs [DONE]
- Python: Fix CLI run loop bug [DONE]
- Node.js: Type annotation for define handler group [DONE]
- Node.js: Fix type annotation for decorator APIs [DONE]
- Parser: When data set group is not found, display an error [DONE]
- SQL: fix
notIn
andin
query bug [DONE]
- Node.js: Fix warnings in generated Node.js interface [DONE]
- Replace
count
withcount_objects
andcount_fields
in Python and Rust entities [DONE] - SQL: count fields [DONE]
- MongoDB: count fields [DONE]
count_fields
now takes generic argument [DONE]- Rust entity: Fix root context object is wrongly generated submodules bug [DONE]
- Parser: update model pipeline trigger arguments [DONE]
- Fix typo in command option messages [DONE]
- Node.js: Update
defineHandler
to useRequestCtx
argument [DONE] - Python: Update
define_handler
to useRequestCtx
argument [DONE] - Node.js: Add
serveStaticFiles
function [DONE] - Python: Add
serve_static_files
function [DONE] - Node.js: Fix model is not generated into entities bug [DONE]
- Node.js: Fix
RequestCtx
methods return type annotation bug [DONE] - Node.js: Fix entity generation type annotation errors [DONE]
- Node.js: Add
pathArguments
toRequestCtx
[DONE] - Python: Add
path_arguments
toRequestCtx
[DONE]
- Node.js: Fix
DateTime
encoding bug [DONE] - Node.js: Fix memory bug for define handler groups [DONE]
- Node.js: Fix define handler error strategy [DONE]
- Python: Fix
DateTime
encoding bug [DONE] - Python: Fix field name is not snake-cased bug [DONE]
- Python: Fix
File
class instance variable bug [DONE] - Python: implement
__repr__
forFile
[DONE] - CLI: Fix
--no-autoseed
doesn't work bug [DONE] - Fix update rule causes stack overflow bug [DONE]
- Fix CLI description in serve [DONE]
- Node.js: Fix no ARGV bug in Linux systems [DONE]
- Python: Fix no ARGV bg in Linux systems [DONE]
- Fix argv bug in Rust [DONE]
- Parser & Client Generator: Dynamic host URL in clients [DONE]
- Update error mechanism to include code and path [DONE]
- Node.js: added native TeoError, but napi-rs doesn't support it [DONE]
- Python: native TeoException [DONE]
- Integration test: additional HTTP apis [DONE]
- Node.js: Fix app entrance argv bug [DONE]
- Fix TypeScript client date only type decoding [DONE]
- Update dart client package with new namespaces API [DONE]
- TypeScript Client: Add
wechat
andtaro
API [DONE] - Allows no argument list if every enum variant argument is optional [DONE]
- Node.js: upgrade to napi-rs and fix broken APIs introduced by napi-rs [DONE]
- Parser: Fix environment variable is invalid expression bug [DONE]
- Parser: Fix subscription alters current namespace path bug [DONE]
- Parser: Update math items declarations and fix type checking bug [DONE]
- Parser: Fix
$assign
declaration bug [DONE] - Runtime: Fix value fetching bug for field names [DONE]
- PostgreSQL: Fix time zoned type migration bug [DONE]
- Runtime: Fix
$pow
argument bug [DONE] - Runtime: Fix json to teon conversion bug for float with int input [DONE]
- Add input omissible and output omissible to properties [DONE]
- Runtime: Fix nested a lot of levels object saving causing recursive bug [DONE]
- SQL Connector: Fix group by encoding bug [DONE]
- PostgreSQL: Fix group by SQL building bug [DONE]
- Runtime: Fix main namespace handler without mapping is not found bug [DONE]
- Parser & Runtime: Fix broken case sensitivity mode to string filters [DONE]
- MongoDB Connector: Fix query bugs [DONE]
- MongoDB transaction [DONE]
- Reintroduce
bcrypt
pipeline items [DONE] - Rust entity: Fix error and result types [DONE]
- Dart client: Fix escape
default
[DONE] - New implementation of identity [DONE]
- Parser & Runtime: add declared synthesized shape [DONE]
- Parser & Runtime: add handler template [DONE]
- Parser & Runtime: add handler template including [DONE]
- Parser:
$set
and$get
accept shape params [DONE] - TSClient: fix error field
errors
[DONE] - Fix use middlewares availability bug [DONE]
- Runtime: add pipeline items
$do
and$not
[DONE]
- Fix shapes for client & entity generation [DONE]
- Add interface decorator
@generateClient
and@generateEntity
[DONE] - TS Client: fix custom handler bugs [DONE]
- Fix declared synthesized shape optional bug [DONE]
- Writeonly fields considered as scalar fields [DONE]
- Update pipeline error code handling [DONE]
- Update
expired
argument of$jwt
to accept pipeline item [DONE] - Runtime: Fix
@migration
default value bug [DONE] - Add
$message
pipeline item [DONE] - Add
ids
to identity checker args [DONE] - Fix optional type resolving into nested bug [DONE]
- SQLite: Fix duplicated index name in different tables bug [DONE]
- Node.js: Fix model name case bug [DONE]
- Python: Fix entity generation bugs [DONE]
- Dart: Fix client generation bugs [DONE]
- Rust: Fix entity generation bugs [DONE]
- Fix Python entity circular reference bug and empty items bug [DONE]
- Dart: fix code generating bugs [DONE]
- Remove error title and inspect the title from the error code [DONE]
- Node.js: update error representation [DONE]
- Python: update error representation [DONE]
- Optimize pipeline item error API [DONE]
- Remove teon package, use parser value and runtime value instead [DONE]
- Pipeline item
$account
[DONE]
- Parser: fix interface enum variant parsing [DONE]
- Parser: fix argument list resolving bug when no generics are provided [DONE]
- Parser:
type
keyword and type value expression [DONE] - Parser & Runtime: allow using type as value [DONE]
- Parser & Runtime: Pipeline item
$match
,$cast
,$case
and$asAny
[DONE] - Parser & Runtime: Pipeline item
$is
[DONE] - Parser & Runtime: Pipeline items
$all
and$any
[DONE] - Parser: remove deprecated test config block [DONE]
- CLI: Add
teo run --list
to list programs [DONE] - Fix permissions [DONE]
- Update permission check order for creating new object [DONE]
- Generate admin command [DONE]
- Add admin basic field decorators [DONE]
- Fix Rust client recursive trait in
teon!
issue [DONE]
- Add custom SQL to transaction [DONE]
- Update identity handler args [DONE]
- Add
Language
type to schema [DONE] - Fix copy handler is not found [DONE]
- Fix nullish coalescing error message bug [DONE]
- Admin dashboard generation beta [DONE]
- Fix admin dashboard generation hosts [DONE]
- Updated admin dashboard menu design [DONE]
- Updated nav area items design [DONE]
- Admin dashboard: optimize code generation new lines [DONE]
- Admin dashboard: form controls of different data types [DONE]
- SQLite: fix decimal encoding bug [DONE]
- Parser: fix comment token bug [DONE]
- PostgreSQL: fix index creation bug [DONE]
- PostgreSQL: Fix array value field creation bug [DONE]
- Admin dashboard: add enum entries to translations [DONE]
- Admin dashboard: translate bool values [DONE]
- Admin dashboard: form controls of enum type [DONE]
- Admin dashboard: fix page content scroll bug [DONE]
- Admin dashboard: record list display for enum value [DONE]
- Admin dashboard: form controls of array type [DONE]
- Admin dashboard: record list display for array value [DONE]
- Admin dashboard: custom width of form controls [DONE]
- Admin dashboard: fix submenu bugs [DONE]
- Admin dashboard: update preferences initialization [DONE]
- Admin dashboard: update form buttons layout [DONE]
- Admin dashboard: do not display foreign key fields [DONE]
- Admin dashboard: generated icon list [DONE]
- Rust Runtime: cookies [DONE]
- Admin dashboard: dark mode [DONE]
- Admin dashboard: developers can copy config [DONE]
- Admin dashboard: handle null value in forms [DONE]
- SQLConnector: Fix virtual fields are created in table create statement bug [DONE]
- SQLConnector: Fix PostgreSQL drop column bug [DONE]
- Runtime: fix string validation pipeline item error code [DONE]
- Runtime: fix pipeline error errors object representation [DONE]
- SQLConnector: Fix PostgreSQL empty enum array bug [DONE]
- TypeScript client: fix TeoError class declaration [DONE]
- Admin dashboard: required array default value to empty array [DONE]
- Admin dashboard: required bool default value to false [DONE]
- Admin dashboard: field error messages [DONE]
- Admin dashboard: Remove foreign key fields from record list [DONE]
- Admin dashboard: Fix
useRerender
file path [DONE]
- Admin dashboard: Fix form loading state [DONE]
- Translations [DONE]
- Update Kotlin client with new namespace API [DONE]
- Update Swift client package with new namespace API [DONE]
- Fix Rust
File
interface bug [DONE]
- Redesign namespace APIs with non
&mut
reference [DONE] - Update APIs with the redesigned namespace API [DONE]
- Remove global static
app::Ctx
[DONE] - Unit test utilities [DONE]
- Parser: Fix
set
in update many arguments [DONE] - Fix existing unit tests [DONE]
- Upgrade Python bindings with new Teo Runtime API and Pyo3 0.21 API [DONE]
- Update file response with status code and custom headers [DONE]
- Rust: Add cookies to response [DONE]
- Node.js and Python: Cookie APIs [DONE]
- Add request unit tests [DONE]
- Rust: Update entities generation to match newly upgraded API [DONE]
- Node.js: Separate memory management for generated classes [DONE]
- Python: Separate memory management for generated classes [DONE]
- Introduce
handler middleware
andrequest middleware
[DONE] - Remove request ctx [DONE]
- Rewrite HTTP server with Hyper [DONE]
- Rewrite Rust unit tests with Hyper stack [DONE]
- Node.js: setup unit tests [DONE]
- Node.js: unit tests [DONE]
- Node.js: unit test JSON matchers [DONE]
- Update middleware implementation in code [DONE]
- Fix Rust entity bug for optional enum values [DONE]
- Rust entities: should return errors [DONE]
- Rust: Rename object methods in entities [DONE]
- Parser: fix model handler
Self
keyword bug [DONE] - Parser: Fix parsing file path bug [DONE]
- Rust: test files: mutations, queries, relation mutations and relation queries [DONE]
- Parser: Add special constant
FILE
andDIR
[DONE] - Extract references from
Request
[DONE] - Rust: Fix broken items in generated model entities [DONE]
- Rust: Add some unit tests for generated model entities [DONE]
- Node.js: Rename object methods in entities [DONE]
- Node.js: Unit tests for generated model entities [DONE]
- Python: update to Pyo3 0.22 [DONE]
- Python: new request API [DONE]
- Python: setup unit tests [DONE]
- Python: unit tests [DONE]
- Python: unit test JSON matchers [DONE]
- Python: Rename object methods in entities [DONE]
- Python: Unit tests for generated model entities [DONE]
- Node.js: Generate dynamic classes when unit testing [DONE]
- Node.js: Use serial tests [DONE]
- Python: Generate dynamic classes when unit testing [DONE]
- Python: Fix thread local code bugs [DONE]
- Rename Node.js packages [DONE]
- Rust: update local values and objects API [DONE]
- Unit test: Rust middlewares [DONE]
- Unit test: Rust request local values [DONE]
- Unit test: Rust request local objects [DONE]
- Node.js: local values and objects [DONE]
- Unit test: Node.js middlewares [DONE]
- Unit test: Node.js local values [DONE]
- Unit test: Node.js local objects [DONE]
- Python: local values and objects [DONE]
- Unit test: Python middlewares [DONE]
- Unit test: Python local values [DONE]
- Unit test: Python local objects [DONE]
- Client generator: Fix generating client panics bug [DONE]
- Fix response error object format bug [DONE]
- Rust: Fix wrong declaration for path captures entity class [DONE]
- Node.js: update TypeScript return type of
captures
[DONE] - Node.js: Add send file to response [DONE]
- Python: Add send file to response [DONE]
- Python: fix server no running loop error [DONE]
- Fix bug: Wrong Node.js error message: error wrap error [DONE]
- Node.js: Fix bug: create date time earlier than 1970 causes crash [DONE]
- Accept object syntax for datetime, date and decimal [DONE]
- Python: Extract handler arguments [DONE]
- Python: Decorated handlers [DONE]
- Python: Decorated handler groups [DONE]
- Python: Decorated child namespaces [DONE]
- Python: Decorated middlewares and extracted arguments [DONE]
- Python: ignore linting generated entity [DONE]
- Rust: ignore linting generated entity [DONE]
- Node.js: ignore linting generated entity [DONE]
- Node.js: Propagate errors correctly in Node.js API
- Node.js: Decorated handlers
- Node.js: Decorated handler groups
- Node.js: Decorated child namespaces
- Node.js: Decorated middlewares and extracted arguments
- Pipeline item creation should be like middlewares
- Python: decorated pipeline items and extracted arguments
- Node.js: decorated pipeline items and extracted arguments
- Rust unit testing tools
- Documentation: unit testing guide
- Python: Upgrade pyo3 and pyo3-async-runtimes to 0.23
- Migrations should return errors
- Debug logging SQL
- Migration dry run
- Update official documentation
- Unit test for pipeline items
- Official documentation for pipeline items
- Finish adding missing tests
- Uploaders
- Amazon S3 uploader
- Azure storage uploader
- GCP uploader
- Local file directory uploader
- multipart/json: Create and update with form data
- Node.js: Support more linux systems
- Support datetime BC
- Support date BC
@onSet!()
and@onSet?()
$get!()
and$get?()
- Language: Default argument for argument list and config declaration
- Combined request in HTTP clients
- Remove paging information from
findMany
- Entity: Handlers call handlers
- Action transformers
- Soft delete
- MongoDB migration
- MongoDB
$queryRaw
- Update C# client with new namespace API
- C# client: capitalized names and names with underscore
- Revamp all client APIs
- Run custom MongoDB query
- JSON type
- PostgreSQL: Enum types
- Extended database type mapping
- Admin dashboard: Filters
- Admin dashboard: Sort
- Admin dashboard: Redesigned date time controls
- Admin dashboard: Load records on scroll
- Admin dashboard: Embedded forms
- Admin dashboard: dashboards
- Runtime:
ExtractFromRequest
: should work with references - MongoDB: Upgrade to MongoDB Rust driver 3.0
- MongoDB: root skip take and distinct bug
- MongoDB: nested skip take and distinct bug
- MongoDB: if cursor key is not orderBy key, result is wrong
- MongoDB: relation where: multiple keys should be allowed
- MongoDB: relation where: 'every' results is incorrect
- MongoDB: aggregate and group by for string and dates
- Rewrite parser with nom
- Increase VSCode plugin speed
- Add
@example
to comment
- First stable major version
- Teo Studio for macOS (SwiftUI)
- Teo Studio for Windows (WinUI3)
- Teo Studio for Linux (Qt)
- Support MSSQL
- Data subscriptions
- Full text indexes
- PostgreSQL: Support PostgresML and vector type