teo 0.0.35

The next generation HTTP server.
Documentation
TEO
===
The new generation server software.

## Roadmap

#### 0.0.20
- `on_output` pipeline is called in save function **[DONE]**

#### 0.0.21
- `when_many_results` modifier **[DONE]**
- Rename `Purpose` to `Intent` **[DONE]**
- `when_create` and `when_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]**

#### 0.0.22
- Ellipsis modifier (especially useful on output) **[DONE]**
- `get_object` modifier to reach the object itself **[DONE]**
- Property **[DONE]**

#### 0.0.23
- SQL: Migration: insert/delete columns for most simple cases **[DONE]**
- SQL: Mutation: most simple inserts **[DONE]**
- SQL: Query: most simple queries **[DONE]**

#### 0.0.24
- SQL: Mutation: most simple updates **[DONE]**
- SQL: Query: find many and find one **[DONE]**
- SQL: Query: count **[DONE]**
- SQL: Mutation: deletion **[DONE]**

#### 0.0.25
- SQL: Sorting **[DONE]**
- SQL: Paging **[DONE]**
- SQL: Handle optional values **[DONE]**
- SQL: `Date` and `DateTime` **[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]**

#### 0.0.26
- 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]**

#### 0.0.27
- Updated with some new style key path error messages **[DONE]**

#### 0.0.28
- 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]**

#### 0.0.29
- 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]**

#### 0.0.30
- Delete rules **[DONE]**
- Fix HTTP API result format **[DONE]**

#### 0.0.31
- Replace `serde_json` with our own `tson` **[DONE]**

#### 0.0.32
- Handle manipulation uses single or many **[DONE]**
- Bug fixes **[DONE]**
- Remove position from env, it can be inferred from `intent` **[DONE]**

#### 0.0.33
- 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]**

#### 0.0.34
- Bug fixes for MySQL CRUD without relations **[DONE]**

#### 0.0.35
- Bug fixes for select and nested select **[DONE]**
- SQL: join table relationship: cannot insert into object query map **[DONE]**

#### 0.0.36
- SQL: Enum types
- SQL: Distinct
- SQL: Cursor
- SQL: Relation where
- SQL: Aggregation
- SQL: Group by

#### 0.0.37
- Merge json pipeline into pipeline (hashmap)
- Fix assign identity
- Fix broken `connectIdentity` modifier

#### 0.0.38 - 0.0.50
- Custom SQL database types
- Migration II with SQL databases

#### 0.0.51
- MongoDB transaction
- SQL transaction
- Migration II with MongoDB

#### 0.0.52
- Input omissible and output omissible for generated clients

#### 0.0.53
- Delete callbacks: `when_delete`, `before_delete` and `after_delete`

#### 0.0.54
- Frontend lib for aggregate, count and groupBy

#### 0.0.55
- Correct count with cursor

#### 0.0.56
- Frontend lib for aggregate, count and groupBy

#### 0.0.57
- The copy action

#### 0.0.58
- Test column key remap with aggregate and groupBy

#### 0.0.59
- Auto migration

#### 0.0.60
- `auth_by_companion`

#### 0.0.61
- Fix decimal problems
- Relation with read write rules

#### 0.0.62
- Fix date problems

#### 0.0.63
- Fix datetime problems

#### 0.0.64
- random float modifier
- random int modifier

#### 0.0.65
- to uppercase modifier
- to lowercase modifier
- to word case modifier
- to sentence case modifier
- to title case modifier

#### 0.0.66 - 0.0.110
- parsers and schema
- language servers

#### 0.1.0
- Unit test all sql features

#### 0.1.0
- Unit test all mongodb features

#### 0.3.0
- Unit test all modifier features

#### 0.4.0
- Unit test more

#### 0.5.0
- Unit test parsers and schema if needed

#### 0.6.0
- Make language things robust

#### 0.7.0
- Plugins

#### 1.0.0
- First release

#### 2.0.0
- Node.js support

#### 3.0.0
- Try to support java