Skip to content

Latest commit

 

History

History
1247 lines (789 loc) · 24.8 KB

CHANGELOG.rst

File metadata and controls

1247 lines (789 loc) · 24.8 KB

CHANGELOG

7.0.4 (unreleased)

  • Nothing changed yet.

7.0.3 (2024-10-01)

  • Calling register and notify when sorting OrderedDicts
  • Calling register and notify when deleting file keys [nilbacardit26]

7.0.2 (2024-01-23)

  • Dummy Release [bloodbare]

7.0.1 (2024-01-23)

  • Being able to use schema.Time [nilbacardit26]
  • Feat: Add metadata info to workflows
  • Fix: Update workflow vocabulary name
  • Feat: Update workflow vocabulary title attribute to use metadata [rboixaderg]

7.0.0 (2023-12-06)

  • BREAKING CHANGE: Passging sql_copy_from_where and jit parameters to asyncpg.connection.ServerCapabilities and pinning asyncpg in requirements to 0.29.0. Dropping 3.7.0 python support [nilbacardit26]

6.4.5 (2023-11-28)

  • Fix: Index full object after move it [rboixaderg]
  • Chore: Update multidict dependency [rboixaderg]

6.4.4 (2023-11-20)

  • Removing implements import in components/interfaces.py [nilbacardit26]

6.4.3 (2023-10-11)

  • Fix not checking if the ID is valid when duplicating a resource [masipcat]
  • Fix content.async_get() catches KeyError exceptions unrelated to txn.get_child() [masipcat]
  • Deps: replace aioredis with redis-py [masipcat]
  • Deps: updated flake8 so it won't depend on 'importlib-metadata<5' [masipcat]
  • Fix path__starts. Add a slash when parsing the path of the query if the context of the search is not the container, to avoid getting the results of contexts that starts with the same path. [nilbacardit26]
  • Adding render_options when registering a user. [nilbacardit26]
  • Adding OrderedDict field, and exposing @orderImages to the images' api to order the keys of a field [nilbacardit26]

6.4.2 (2022-08-25)

  • Being able to call do_action with super powers in the Workflow utility [nilbacardit26]

6.4.1 (2022-07-27)

  • Fix build count query, PG catalog, ignore null and format tuple type. [rboixaderg]

6.4.0 (2022-04-12)

  • Fix PubSub utility stuck in infinite loop when Redis connection is interrupted [masipcat]

6.4.0rc3 (2022-03-16)

  • Fix Pillow dependency [bloodbare]
  • Breaking change: guillotina futures won't have the txn set anymore. [masipcat]
  • Fix @pytest.mark.app_settings modified original settings dictionary [masipcat]
  • Fix previous change in mailer utility [masipcat]
  • Improve error logging in futures [masipcat]
  • Documentation: Enhance search endpoint documentation [ksuess]
  • Documentation: Add info about catalog_max_results [ksuess]
  • Add a dict parameter render_options to pass custom values to rendered template in EmailValidationUtility [jotare]

6.4.0rc2 (2021-11-22)

  • Nothing changed yet.

6.4.0rc1 (2021-11-22)

  • Some fixes and improvements to the new TransactionConnectionContextManager [masipcat]
  • Port the following changes:
  • Remove db transaction strategy support
  • Try not to reserve connection when possible [vangheem]
  • Black to 21.10b0 version [bloodbare]
  • Add the possibility of configuring the ttl of the email_validation using app_settings["ttl_email_validation"] in the utility of the email_validation. By default is 3660s. [nilbacardit26]
  • Fix docs: Create group with id/name [ksuess]
  • doc: installation: fix duplicated line and link to contrib/dbusers [jotare]

6.4.0rc0 (2021-10-20)

  • Add support for Python 3.10 [masipcat]
  • Reimplemented IRedisUtility to adapt to aioredis v2.0 breaking changes [masipcat]
  • Removed argument 'loop' from utilities initialization (following Python 3.10 changes) [masipcat]
  • Upgraded dev dependencies [masipcat]
  • Fix searching by SearchableText [frapell]
  • Fix vocabulray country code AN

6.3.15 (2021-08-05)

  • fix: Add MIMEMultipart('alternative') to attach message in parent MIMEMultipart to render only html body. [rboixaderg]

6.3.14 (2021-08-04)

  • feat: Change MIMEMultipart 'alternative' to 'mixed'. Outlook and Thunderbird not recieve attachment when use 'alternative'
  • chore: fix version aioredis 1.3.1 [rboixaderg]

6.3.13 (2021-07-05)

  • Mask Textline field to recover masked values on get [bloodbare]
  • Fix navigate_to() crashes with 'AttributeError' when traversing to a non-folderish object [masipcat]

6.3.12 (2021-07-01)

  • shell: import 'app_settings'. Fix typo
  • doc: Fix example app and other small fixes [jianaijun]
  • feat: Add null and not null operator in int, float and timestamp types in pgcatalog [rboixaderg]

6.3.11 (2021-06-10)

  • Add is not null operator Search pgcatalog
  • Fix order by int and float Search pgcatalog [rboixaderg]

6.3.10 (2021-06-07)

  • Fix unrestricted Search pgcatalog
  • Add filter is null Search pgcatalog [rboixaderg]

6.3.9 (2021-05-31)

  • Allow to define custom validate url and custom template on email actions [bloodbare]
  • Add @ in allowed chars in IIDChecker [rboixaderg]

6.3.8 (2021-05-21)

  • Fixing status code on range request [bloodbare]

6.3.7 (2021-05-21)

  • Fix potential pg connection leaks
  • PG Catalog unrestricted search build count query
  • PG Catalog __or, __and operators [rboixaderg]

6.3.6 (2021-05-10)

  • Fix error on unrestricted Search [bloodbare]

6.3.5 (2021-05-10)

  • PG Catalog unrestricted search [bloodbare]

6.3.4 (2021-05-06)

  • Adding image with scale previews field [bloodbare]

6.3.3 (2021-05-04)

  • Command: Implement graceful stop (like in asyncio.run()) [masipcat]
  • Command: Fix same txn copied to all tasks/requests [masipcat]

6.3.2 (2021-04-30)

  • Command: fix typo introduced in #1125 [masipcat]

6.3.1 (2021-04-30)

  • On workflow change also trigger object modification [bloodbare]
  • Command: run the startup/shutdown and main logic inside the loop [masipcat]

6.3.0 (2021-04-21)

  • Use Context on default catalog security checks [bloodbare]
  • Return 401 if NoPermissionToAdd is raised in defaultPOST [nilbacardit26]
  • No longer have dedicated read connection and do not use any prepared statements [vangheem]

6.2.6 (2021-04-12)

  • Fix bug on search results ids based on container path [bloodbare]

6.2.5 (2021-04-09)

  • Fix PGCatalog Phrase search [bloodbare]
  • Fix bug on empty waiting for empty tasks. [bloodbare]

6.2.4 (2021-04-07)

  • Enable X-Wait header to wait futures. Use only in case you need to make sure all futures are finished before request ends. Alert: Afects performance on request response time. [bloodbare]

6.2.3 (2021-04-07)

  • Search on pg catalog should check security on context [bloodbare]

6.2.2 (2021-04-01)

  • Index on PG Catalog IDS should be table named [bloodbare]

6.2.1 (2021-03-12)

  • Allow to skip pg catalog initialization based on SKIP_PGCATALOG_INIT environmental var. [bloodbare]

6.2.0 (2021-03-04)

  • Write missing_value to object on deserialization [masipcat]
  • BREAKING CHANGE: PG Catalog implementation splitted on multiple fields if you are import PGSearchUtility you need to change the import line from: from guillotina.contrib.catalog.pg import PGSearchUtility to from guillotina.contrib.catalog.pg.utility import PGSearchUtility [bloodbare]

6.1.7 (2021-03-03)

  • ISecurityInfo: field 'id' was missing [masipcat]

6.1.6 (2021-02-25)

  • Reuse modified objects on same transactions on traversal/async_get navigation [bloodbare]
  • Improve memcached metrics probe [lferran]

6.1.5 (2021-02-09)

  • Cleaner memcached_container pytest fixture [lferran]
  • Fixing checking field permission on content creation [bloodbare]
  • Fix memcached tests not able to start docker image [lferran]
  • Fixing 6.1.4 release (anonymous users not working on search) [bloodbare]

6.1.4 (2021-01-31)

  • Apply local roles on @search with pgcatalog [bloodbare]

6.1.3 (2021-01-18)

  • Fix: patch a role on dbusers:groups don't remove users from them [jordic]
  • Fix: patching password on a user hash it [jordic]
  • Fix: only allow lowercase usernames on dbusers creation [jordic]
  • Feat: db_users, being able to login by email [jordic]

6.1.2 (2021-01-18)

  • Fix filter and sort by date field on pgcatalog [bloodbare]
  • Add memcached support as cache driver [lferran]
  • Fix: prevent caching large objects on fill_cache [lferran]
  • Fix: dyncontent vocabularies json serialization [bloodbare]
  • Fix: prevent caching large objects on fill_cache [lferran]

6.1.1 (2021-01-15)

  • Support other languages on FTS at pgcatalog [bloodbare]
  • DB Users storing group on DB due to pickling groups_cache leads to wrong objects [bloodbare]
  • Improve markup (docs/index.md) [svx]
  • Various documentation improvements [svx]
  • Unify wording in dev docs [svx]

6.1.0 (2021-01-11)

  • (Breaking change) Fixing TLS and STARTTLS At configuration starttls was used in case of tls: true. Its needed to change it to starttls: true Now you can configura tls with tls: true or starttls with starttls: true on the server configuration [bloodbare]
  • Better exception on worflow [bloodbare]

6.0.26 (2021-01-10)

  • Bug on Tus Upload with dict fieldname, location is wrong on POST request [bloodbare]

6.0.25 (2021-01-09)

  • Adding config option for max result search value [bloodbare]

6.0.24 (2021-01-07)

  • (Breaking change) Fix download file name to query parameter so dictionary file field downloads with filename. API with filename on query path needs to change to filename query param [bloodbare]

6.0.23 (2021-01-05)

  • Dynamic content via config.yaml [bloodbare]
  • Fix file not deleted in IMultiAttachments dict [masipcat]
  • Keyword not pg catalog search and aggregation endpoint [bloodbare]

6.0.22 (2020-12-23)

  • Fixing addable-types, filtering not global addable types. [bloodbare]
  • PyJwt > 2.0 breaks contract on decoding a JWT. Pinning to 1.6.0 [bloodbare]

6.0.21 (2020-12-22)

  • Adding typing_extensions as dependency [bloodbare]

6.0.20 (2020-12-17)

  • Update uvicorn to 0.13.1 [bloodbare]
  • Adding widget field on json schema [bloodbare]
  • Update orjson to 3.x [waghanza]

6.0.19 (2020-12-15)

  • Update gmi [jordic]
  • Search by text by rank if its on search paramaters otherwise by alpha order [bloodbare]

6.0.18 (2020-12-05)

  • doc: training: fix websockets in G6 [masipcat]
  • doc: training: revert a change in api.md [masipcat]
  • Fix watch/watch_lock when prometheus is not installed [masipcat]

6.0.17 (2020-12-04)

  • Adding timezone on email validation link expiration [bloodbare]
  • Adding metadata endpoint to inspect query parameters for the search endpoint [bloodbare]
  • Adding workflow/email_validation/vocabularies documentation [bloodbare]
  • Bytes serializer [bloodbare]
  • doc: improve training [masipcat]
  • Record metrics on cache hit/misses [vangheem]
  • Record metrics on time waiting for pg locks [vangheem]
  • Record redis cache misses [vangheem]
  • Add metrics to pg and redis operations [vangheem]

6.0.16 (2020-11-27)

  • Fixing workflow exception if not defined [bloodbare]
  • Allow to define date format for recovery password [bloodbare]
  • Abort transaction if tpc_commit() crashes [masipcat]

6.0.15 (2020-11-25)

  • Fix not defined workflow exception [bloodbare]

6.0.14 (2020-11-25)

  • Fix reset password flow to be equal to register [bloodbare]

6.0.13 (2020-11-23)

  • Allowing to define Owner roles users on creation [bloodbare]

6.0.12 (2020-11-15)

  • Fixing workflow subscriber for state history [bloodbare]
  • Allow to search on basic workflow state publish [bloodbare]

6.0.11 (2020-11-08)

  • Adding Vocabularies API compatible to Plone REST API [bloodbare]
  • Adding Workflow contrib package with API compatible to Plone REST API [bloodbare]
  • Adding languages and contrib vocabulary [bloodbare]
  • Avoid default value check on get for each get operation [bloodbare]
  • Adding post serialize mechanism to modify JSON responses based on packages [bloodbare]

6.0.10 (2020-11-01)

  • Fix conflict cors response. [bloodbare]

6.0.9 (2020-10-30)

  • Change transaction strategy 'simple' [masipcat]
  • Fix bug on error deserialization
  • Fix transaction context manager doesn't abort the txn when a exception is raised [masipcat]
  • Add id checker for move [qiwn]

6.0.8 (2020-09-24)

  • mailer: import 'aiosmtplib' and 'html2text' lazily [masipcat]
  • Cleanup travis logic from test fixtures [lferran]
  • settings: always convert 'pool_size' to int [masipcat]

6.0.7 (2020-09-09)

  • Add IFileNameGenerator adapter [qiwn]

6.0.6 (2020-08-25)

  • Pass 'server_settings' in 'connection_options' to asyncpg pool [masipcat]

6.0.5 (2020-08-11)

  • Fix register schema [bloodbare]
  • Fix async test without pytest mark [masipcat]

6.0.4 (2020-07-29)

  • fix release

6.0.3 (2020-07-29)

  • Cookiecutter: fix test_install.py [masipcat]
  • test deps: unpin pytest-asyncio [masipcat]
  • doc: fix md headers (h1 -> h2) and other small fixes [masipcat]
  • doc: fix example app [masipcat]
  • Fix sphinx-build [masipcat]
  • Make sure it does not fail on empty field [bloodbare]

6.0.2 (2020-07-10)

  • Set load_catalog=true in test settings [masipcat]

6.0.1 (2020-07-09)

  • Also allow JWT sub claim for loginid [allusa]

6.0.0 (2020-06-17)

  • Nothing changed yet.

6.0.0b6 (2020-06-17)

  • Undo datetime object renderization on guillotina_json_default. [lferran]
  • Be able to define optional requestBody [lferran]
  • Fix registry update, when type provided mismatch with the one specified by the schema return an error HTTP status code instead of throwing an exception. [pfreixes]

6.0.0b5 (2020-06-08)

  • Few fixes & improvements: [lferran] - Fix JSONField validation error - Add unit tests for middleware generate error response - Add path_qs to Request object - Add content_length to Request object - Fix datetime objects renderization
  • Optimize json schema ref resolution to not make so copies of all json schema definition for every validator instance [vangheem]
  • Fix json schema ref resolution for nested objects [vangheem]
  • Catalog subscribers conditional loading [bloodbre]
  • Allow arbitrary path parameter within the path parameters [dmanchon]

6.0.0b4 (2020-05-23)

  • Allow to delete elements with the same id at cockroach [bloodbare]
  • Split blob and objects initialization statements [bloodbare]
  • Allow to ovewrite object table name and blob table name [bloodbare]
  • Bug fix: handle raw strings in json payload [lferran]
  • swagger tags fixes [ableeb]
  • Move from travis to github actions [lferran]

6.0.0b3 (2020-04-24)

  • Provide patch operations for json field [vangheem]
  • Optimize extend operation for bucket list field [vangheem]
  • . and .. should be blocked as valid ids. The browser will auto translate them to what current dir and parent dir respectively which gives unexpected results. [vangheem]
  • Change in ISecurityPolicy that might improve performance during traversal for views with permission guillotina.Public [masipcat]
  • Fix Response object responding with 'default_content' when 'content' evaluates to False [masipcat]
  • Change log level for conflict errors to warning and fix locating tid of conflict error [vangheem]
  • Fix security policy not taking into account IInheritPermissionMap for principals [masipcat,bloodbare]
  • Fix use of int32 sql interpolation when it should have been bigint for tid [vangheem]
  • Restore task vars after usage of Content API
  • Zope.interface 5.0.1 upgrade [bloodbare]

6.0.0b2 (2020-03-25)

  • Fix move(obj) fires IBeforeObjectMovedEvent after modifying the object [masipcat]
  • Error handling: ValueDeserializationError editing registry value [vangheem]
  • Handle db transaction closed while acquiring transaction lock [vangheem]
  • Handle db transaction closed while acquiring lock [vangheem]
  • Handle connection errors on file head requests [vangheem]
  • Update README [psanlorenzo]

6.0.0b1 (2020-03-18)

  • Use orjson instead of json/ujson [masipcat]
  • AsgiStreamReader.read() can return bytes or bytearray [masipcat]

6.0.0a16 (2020-03-12)

  • Changes in ICatalogUtility, DefaultSearchUtility and @search endpoints [masipcat]
  • Update react-gmi v 0.4.0 [jordic]
  • Fix more antipatterns [lferran]
  • Fix integer query param validation [lferran]

6.0.0a15 (2020-03-02)

  • Handle http.disconnect (and other types of messages) while reading the request body [masipcat]
  • Be able to have async schema invariants [vangheem]
  • Provide better validation for json schema field [vangheem]

6.0.0a14 (2020-02-26)

  • Change AttributeError to HTTPPreconditionFailed in FileManager [masipcat]
  • Reverted "Replaced Response.content_{type,length} with Response.set_content_{type,length}". Using setter to avoid breaking Response.content_{type,length} = ... [masipcat]
  • Handle error when "None" value provided for behavior data [vangheem]
  • Handle connection reset errors on file download [vangheem]

6.0.0a13 (2020-02-20)

  • Changed error handling logic: Guillotina (asgi app) catches all errors and returns a response for the ones that implements the handler IErrorResponseException. Otherwise raises the exception and is handled by ErrorsMiddleware [masipcat]
  • Add "endpoint" in scope to let sentry know the view associated to the request [masipcat]
  • Request.read() can return bytes or bytesarray [masipcat]
  • Replaced Response.content_{type,length} with Response.set_content_{type,length} [masipcat]
  • Breaking API change: Search GET Search get responds a json with items and items_total like plone rest api [bloodbare]
  • Breaking Internal API change: Search Catalog utility search is the public search operation that is parsed and query the internal implementation [bloodbare]
  • Fixing WS bugs and redis unsubscription [bloodbare]
  • Add max_ops property to PatchField, BucketListField and BucketDictField [vangheem]
  • Add clear action to list, dict and annotation patch fields [vangheem]

6.0.0a12 (2020-02-18)

  • Fix validation authorization in case token is expired [bloodbare]
  • Set content type to response in renderers [masipcat]
  • Import aiohttp only when recaptcha is configured [masipcat]
  • Some asyncpg settings do not work with storages [vangheem]
  • Improve performance of bucket dict field [vangheem]

6.0.0a11 (2020-02-09)

  • Moving validation endpoint from traversal to query param [bloodbare]
  • Small improvement in asgi.py
  • Call IIDGenerator with apply_coro [masipcat]

6.0.0a10 (2020-02-07)

  • Moved the ASGI logic from ASGIResponse and ASGISimpleResponse to class Response [masipcat]
  • Add mail from on email validation [bloodbare]
  • Validate POST @sharing payload too [lferran]
  • Fix asyncpg integration with connection leaks on timeout [vangheem]

6.0.0a9 (2020-02-04)

  • Implemented endpoint @delete for IAttachments and IMultiAttachments [masipcat]
  • Adding session manager support with redis backend [bloodbare]
  • Registration workflow with generic validation package on contrib [bloodbare]
  • Reset password workflow with generic validation package on contrib [bloodbare]
  • Be able to customize pg db in test fixtures [vangheem]
  • More type annotations [vangheem]
  • Add pg db constraint for annotation data [vangheem]
  • Fix DummyCache.set type signature to be the same as base class [vangheem]
  • Jinja template engine to render on executors [bloodbare]
  • Recaptcha support for public endpoints [bloodbare]

6.0.0a8 (2020-01-24)

  • Alpha version of @guillotinaweb/react-gmi available at /+manage [jordic]
  • Improvements in contrib.dbusers [masipcat]
  • Execute _clean_request() after middlewares execution [masipcat]
  • Correctly bubble http errors for file downloads [vangheem]
  • Fix command 'create' [masipcat]
  • Remove unused methods in Response [masipcat]
  • Add missing dependencies in setup.py [masipcat]

6.0.0a7 (2020-01-17)

  • Better error handling on redis connection issues [vangheem]
  • Run _update_from_pytest_markers() after configuring db settings [masipcat]
  • Fix validating array params in query parameters [lferran]
  • Add open api tests and fix ones that do not pass tests [vangheem]
  • Fix bug in traversal introduced when added support for asgi middlewares [masipcat]
  • Fix value_deserializer() when field.key_type._type is None [masipcat]
  • Fix automatic type conversion on nested fields. Fixes #832 [vangheem]

6.0.0a6 (2020-01-13)

  • Fix bug on swagger with endpoints without explicit security declarations [jordic]
  • Fix bug on pgcatalog when using it without a request [jordic]
  • Be able to start database transaction before transaction has started it without causing errors [vangheem]
  • More detailed information in ValidationErrors [masipcat]
  • Provide way to configure content types as not globally addable [lferran]
  • Fix Users and Groups to be addable only on manager folders [lferran]
  • Fix optimized lookup to work with fields that do not have _type [vangheem]
  • Prevent creating containers with empty id [lferran]
  • Fix query param validation [vangheem]
  • Optimize json deserialization [vangheem]

6.0.0a5 (2020-01-07)

  • Implemented 'ErrorsMiddleware' that catches all undhandled errors [masipcat]
  • Small changes to the middleware logic [masipcat]
  • Added IIDChecker adapter [vangheem]
  • Schema fields default value for required is now False [vangheem]
  • Denormalized group info when user is added to a group throught users endpoint (issue #806) [jordic]
  • Add Range header support [vangheem]
  • Be able to disable supporting range headers in IFileManager.download [vangheem]
  • Fix validating None values in required fields [vangheem]
  • Add localroles to @available-roles [jordic]
  • Add no-install-recommends to Dockerfile (apt options) [svx]

6.0.0a4 (2019-12-23)

  • Improving ValidationErrors messages [masipcat]
  • Fix error with requeued async queue tasks
  • Added valid_id_characters app setting [vangheem]
  • Better CancelledError handling in resolving a request [vangheem]
  • Fix duplicate behaviors interfaces in get_all_behavior_interfaces() [qiwn]
  • Fix adding duplicate behaviors [qiwn]

6.0.0a3 (2019-12-18)

  • Improved server command and added 'server_settings' [masipcat]
  • Added property 'status' to Response [masipcat]

6.0.0a2 (2019-12-17)

  • Adapt to HTTP1.1 protocol on uvicorn by default [bloodbare]
  • PatchField: added operation "multi" [masipcat]
  • @duplicate: added option to reset acl
  • Make pytest.mark.app_settings work in older pytest versions too [lferran]
  • @move: destination id conflict should return 409 error, not 412 [inaki]
  • Explicit loop to execute on tests [bloodbare]
  • Fix IAbsoluteUrl() returns request query [masipcat]
  • Added attribute cookies to class Request() [masipcat]
  • Added uvicorn as a guillotina requirement [masipcat]
  • Added endpoint @available-roles on container [jordic]
  • Add configurable expiration for jwt.tokens [jordic]

6.0.0a1 (2019-12-09)

  • Move tags to a context property to make it indexable on json [bloodbare]
  • Added async property Request.body_exists [masipcat]
  • Fixed fixture 'guillotina' [masipcat]
  • Make sure that guillotina uses uvloop on starting if its installed [bloodbare]
  • Make sure uvicorn uses the same loop as guillotina startup [bloodbare]
  • Fix tests in 'test_cache_txn.py' and 'test_setup.py' being skipped [masipcat]
  • Replaced aiohttp with ASGI (running with uvicorn by default) [dmanchon,masipcat,vangheem]