Changelogs » Guillotina

Guillotina

5.0.0a16

---------------------

- Refractor SwaggerUI and to use in built auth of SwaggerUI

- Getting OpenAPI js and css from CDN

- Doc edit for OpenAPI

- Swagger Fixes

- json schema validation

5.0.0a15

---------------------

- Dict schema serialization needs properties to be valid JSON Schema
[bloodbare]

- Fix potential bug when working with multiple databases/transaction managers
[vangheem]

- New `guillotina.fields.BucketDictField`
[vangheem]

- New `fieldvalue/{field name or dotted behavior + field name}` endpoint
[vangheem]

5.0.0a14

---------------------

- Leaking txn on reindex on pg
[bloodbare]

5.0.0a13

---------------------

- Run default factory on attributes on behaviors
[bloodbare]

- Allow to get full object serialization on GET operation
[bloodbare]

- Only register object for writing if base object changed. Otherwise, changes to behavior data
was also causing writes to the object it was associated with
[vangheem]

- Add `x-virtualhost-path` header support for url generation
[vangheem]

5.0.0a12

---------------------

- Make Tuple type work with patch field
[vangheem]

- Make IDublinCore.tags a patch field
[vangheem]

- Add `appendunique` and `extendunique` to patch field operations
[vangheem]

- Fix exhausted retries conflict error response
[vangheem]

- Make sure field name of patch field is set before using
[vangheem]

- Improve request memory usage
[vangheem]

- Fix: just skip indexing attributes from schemas that object does not
adapt to [lferran]

5.0.0a11

---------------------

- Allow to receive a fullobject serialization on search
[bloodbare]

- Allow to reindex on PG catalog implementation
[bloodbare]

- Read only txn can be reused without changing read only param
[bloodbare]

- Merge CORS headers
[qiwn]

- Fix redis pubsub potential cpu bound deadlock
[vangheem]

- Make sure that channel is configured on cache pubsub
[bloodbare]

- Handle cancelled error on cleanup
[vangheem]

- Define TTL on cache set
[bloodbare]

- Logging async util exception
[bloodbare]

- Documentation improvements
[vangheem]

- Cache JSONField schema validator object
[vangheem]

- JSONField works with dict instead of requiring str(which is then converted to dict anyways)
[vangheem]

5.0.0a10

---------------------

- Adding store_json property on db configuration so we can disable json storage for each db.
[bloodbare]

5.0.0a9

--------------------

- Move guillotina_mailer to guillotina.contrib.mailer
[bloodbare]

- Be able to customize the object reader function with the `object_reader` setting
[vangheem]

- Fix indexing data potentially missing updated content when `fields` for accessor
is not specified
[vangheem]

- Executioner:
- providing pagination support in navigation (1.2.0)
- supporting token authentication from login form (1.3.0)
- using search endpoint to navigate in container items

- A few more python antipattern fixes [lferran]

5.0.0a8

--------------------

- Aggregations in PG JSONb
[bloodbare]

5.0.0a7

--------------------

- Change `guillotina.files.utils.generate_key` to not accept a `request` parameter. It was
used to get the container id which is now a context var.
[vangheem]

- Add `IExternalFileStorageManager` interface to be able to designate a file storage that
store a file into an external database. This enables you to automatically leverage the
`redis` data manager.

- Add `cloud_datamanager` setting. Allows you to select between `db`(default) and
`redis`(if `guillotina.contrib.redis` is used) to not write to db to maintain state.
The `redis` option is only usable for gcloud and s3 adapters.

5.0.0a6

--------------------

- Cache password checked decisions to fix basic auth support
[vangheem]

- Make sure you can import contrib packages without automatically activating them
[vangheem]

5.0.0a5

--------------------
- Adding rediscache and pubsub logic. Now you can have memory cache, network cache with invalidation
and pubsub service. `guillotina_rediscache` is not necessary any more.
[bloodbare]


- deprecate `__local__properties__`. `ContextProperty` works on it's own now
[vangheem]

- Add argon2 pw hashing
[vangheem]

- Completely remove support for `utilities` configuration. Use `load_utilities`.
[vangheem]

5.0.0a4

--------------------

- Fix path__startswith query
[vangheem]

5.0.0a3

--------------------

- Add `guillotina.contrib.swagger`

5.0.0a2

--------------------

- Missing mypy requirement
- Fix catalog interface
- Fix catalog not working with db schemas
- Update intro docs

5.0.0a1

--------------------

- Fix events antipattern [lferran]

- Rename `utils.get_object_by_oid` to `utils.get_object_by_uid`

- Emit events for registry configuration changes

- Default catalog interface removes the following methods: `get_by_uuid`, `get_by_type`, `get_by_path`,
`get_folder_contents`. Keep interfaces simple, use search/query.

- Allow modifying app settings from pytest marks [lferran]

- No longer setup fake request with login for base command

- Moved `ISecurityPolicy.cached_principals` to module level function `guillotina.security.policy.cached_principals`

- Moved `ISecurityPolicy.cached_roles` to module level function `guillotina.security.policy.cached_roles`

- `utils.get_authenticated_user_id` no longer accepts `request` param

- `utils.get_authenticated_user` no longer accepts `request` param

- Removed `guillotina.exceptions.NoInteraction`

- Removed `guillotina.interfaces.IInteraction`

- `auth_user_identifiers` no longer accept `IRequest` in the constructor. Use `utils.get_current_request`

- `auth_user_identifiers` no longer accept `IRequest` in constructor. Use `utils.get_current_request`

- Remove `IInteraction`. Use `guillotina.utils.get_security_policy()`

- Remove `Request._db_write_enabled`, `Transaction` now has `read_only` property

- Remove `Request._db_id`, Use `guillotina.task_vars.db.get().id`

- Remove `Request.container_settings`, Use `guillotina.utils.get_registry`

- Remove `Request._container_id`, use `guillotina.task_vars.container.get().id`

- Remove `Request.container`, Use `guillotina.task_vars.container.get()`

- Remove `Request.add_future`. Use `guillotina.utils.execute.add_future`

- Add `guillotina.utils.get_current_container`

- Rename `request_indexer` setting to `indexer`

- Rename `guillotina.catalog.index.RequestIndexer` to `guillotina.catalog.index.Indexer`

- Rename `IWriter.parent_id` to `IWriter.parent_uid`

- Rename `guillotina.db.oid` to `guillotina.db.uid`

- Rename `oid_generate` setting to `uid_generator`

- Rename `BaseObject._p_register` -> `BaseObject.register`

- Rename `BaseObject._p_serial` -> `BaseObject.__serial__`

- Rename `BaseObject._p_oid` -> `BaseObject.__uuid__`

- Rename `BaseObject._p_jar` -> `BaseObject.__txn__`

- separate transaction from request object

- rename `guillotina.transactions.managed_transaction` to `guillotina.transactions.transaction`