Release notes#
Version 7.4.0 - 2024-11-04#
Bug fixes (see mercurial logs for details)
Do not copy relational fields with filter
Support range functions and operators in EXCLUDE constraint
Add sparkline chart tools
Add setup methods to activate_modules
Add method to the backend to estimate number of rows
Add setup indexes method to ModelSQL
Support getting many sequences at once
Add sequence_nextval function to Database
Retrieve groups of actions without checking access (#13506)
Check read access of report records (#13505)
Forbid editing cron when it is running
Store last cron durations
Use JSONB to store MultiSelection field by default
Add cardinality option to Index Usage
Allow configuring TinyMCE license key
Add tools to apply types to SQLite select queries
Compress RPC responses
Change _changed_values and _save_values properties to method
Add configuration for report convert command
Use process pool to run cron
Lock only running cron record
Add option to skip tests that require network
Add language support per field in export data
Add translated descriptor for Char and Text fields
Include row and column in error message when importing data
Remove support for
:id
suffix in import dataAdd export translations option to trytond-admin
Update TinyMCE to version 7
Add python-format flag to PO files
Add partial support for constraints with SQLite backend
Version 7.2.0 - 2024-04-29#
Bug fixes (see mercurial logs for details)
Do not accept compressed content from unauthenticated request (#13142)
Set loading eager to visible xxx2many on form view
Add loading attribute to form view
Add a contextual read limit on Model.read
Add a contextual read limit for related fields
Add xml_id field on ModelStorage
Add send_message methods
Store model on ir.rule.group
Store model on ir.model.button
Store model and field name on ir.model.field.access
Store model name on ir.model.access
Store model name on ir.model.field
Add fmany2one field
Allow creation of foreign key on non primary key
Include context information in access error
Remove trytond-worker max tasks per child option for Python <= 3.10
Do not copy readonly relational fields
Support list of single value in sortable_values tools
Allow resetting password of user via RPC
Support cached_property on object with __slots__
Allow creating indexes concurrently
Allow skipping index creation
Add assert methods to test tools
Set ELLIPSIS option flag on doctest
Set IGNORE_EXCEPTION_DETAIL option flag on doctest
Add timeout parameter on RPC definitions
Version 7.0.0 - 2023-10-30#
Bug fixes (see mercurial logs for details)
Add pairwise_longest tools
Add support for Python 3.12
Support default values for autocomplete
Support default value from context
Add autocomplete method on ModelView
Add likify tools
Remove user from contextual key of Cache
Remove user from evaluation context of rule domain
Allow customizing context per model for rule
Use multiple jobs to dump and restore a test database
Support database cache as template for tests
Add route test case
Add on_scan_code method on Model
Support add/update/remove/delete for on_change_with of xxx2Many
Add decorator on RPC
Remove translations with empty source
Run doc tests with different globals
Create user applications as validated from user preferences
Support GIN index with btree_gin PostgreSQL extension
Add a canonicalize function for domains
Enforce record rules when reading only non SQL fields (#12428)
Support PYSON comparison of timedelta
Support encoding timedelta into PYSON TimeDelta
Allow date formating in sequences substitutions
Make ModelSQL based on table query read only by default
Add email validation tools
Remove overlapping indexes
Support subset operator between index definitions
Add sum_tree helper
Convert sum attribute into boolean
Store records selection on export
Version 6.8.0 - 2023-05-01#
Bug fixes (see mercurial logs for details)
Support return instances for Function getter and on_change_with
Log events for ModelStorage
Use IDENTITY column for id columns in the postgresql backend
Use no breaking space to format number and date
Fallback to code to format currency without symbol
Add sort method to order like ModelStorage.search
Do not alter argument values of with_transaction decorator (#12108)
Support SMALLINT and REAL as backend types
Remove BigInteger field
Remove support for Python 3.7
Add support for Python 3.11
Add scroll time for calendar view
Allow cache size to be configured
Add local and global list of ignore context keys
Add functions in transaction for check access and active record
Add check_access and active_records attribute to Transaction
Add searchable and sortable methods on Field
Add support for barcode and QR code
Support reading string value of selection fields
Add ButtonActionException and RPCReturnException
Rename ModelStorage.count into ModelStorage.estimated_count
Add border type to images
Lock table on transaction start
Use EXISTS for search on O2M with many records
Replace target_search by use of count()
Manage domain on id in single value list as unique
Do not validate domain for empty fields
Warn about implicit save() of unsaved relation
Raise error message with record name and field in check_xml_record
Cache RPC call for class method selection
Version 6.6.0 - 2022-10-31#
Bug fixes (see mercurial logs for details)
Add sql_id method to Reference field
Use declarative index definition for ModelSQL
Add configuration entries for unaccent and similarity functions
Add authentication services
Schedule actions using server timezone
Reset the user sessions less often
Add straight values to wizard state view
Add strip option to Char fields
Strip only one wildcard
Manage web extension origin as null
Remove same types restriction on PYSON If
Allow PYSON size of fields to be None
Add command line completion with argcomplete
Include record name and value in validation error message
Add header parameter on export data
Enforce certificate validation for SMTP connection (issue11564)
Use singleton for TableHandler
Version 6.4.0 - 2022-05-02#
Bug fixes (see mercurial logs for details)
Use unittest discover
Add module tutorial
Test all XML view and SVG icon files are used
Add notification message
Add validate_fields to ModelStorage
Drop support for PyPy and psycopg2cffi
Use a set for field’s depends
Relax the constraint on a field’s depends
Include only needed fields when fetching a view definition
Make warning check re-entrant
Manage DatabaseDataError in ModelSQL
Remove support for pysqlite2
Do not import empty One2Many data
Deduplicate entries in domain inversion’s simplify
Prevent to create and delete singleton
Allow CORS on root path
Allow button access to be deactivated
Always return tuple for MultiSelection
Use default selectors instead of select
Add batch option to push queue tasks
Support ref value for reference field
Enforce ref model in XML data
Do not resolve entities by default with lxml (issue11219)
Use defusedxml to parse XML (issue11244)
Use dictionary as search_order on Reference field
Retry sending email on temporary failure
Order not sorted Selection by index definition
Add optional column on tree view
Use dictionary as domain on Reference field
Include model, field and column in import data error message
Support limit and offset to ModelSQL count search and search_count
Apply view inheritance to board
Add RPC view_get method to View
Apply view inheritance to all matching elements
Limit board action domain to active id and ids
Remove entropy check on password
Set view_id in the context when calling view_attributes
Add ip_address and device_cookie login method options
Add support for Python 3.10
Remove support for Python 3.6
Add creatable attribute on tree and form views
Fill local cache of Function field instances with values
Cache Function field getter without context in readonly transactions
Use expire delay instead of UTC datetime in reset password email
Use RENAME and DROP COLUMN with SQLite backend
Support window functions with SQLite backend
Use JSONB to store Dict field on PostgreSQL backend
Version 6.2.0 - 2021-11-01#
Bug fixes (see mercurial logs for details)
Allow to cast to date with timezone
Support create/delete attribute in view
Skip default values when copying records
Use local cache for relation fields in readonly transactions
Add format method to DictSchemaMixin
Allow modify record name on the reports
Add methods to format number and symbol on Lang
Add format number with symbol on Report
Allow locking tables by calling ModelSQL.lock without records
Add test on domain of relation fields
Add stored path as alternative to MPTT
Activate and upgrade modules from configuration wizard
Add set_from_header in email tools
Add grouping attribute to numeric widgets
Ensure with a test that objects in the Pool have __slots__
Use bigdecimal tag for XML-RPC
Use tuple in Dict value instead of list
Do not set record name on title of report get_email
Add node to id of status
Use ImmutableDict for Transaction context
Use UNION for ‘Or’-ed domain with subqueries
Add remove_forbidden_chars in tools
Manage errors during non-interactive operations
Add estimation count to ModelStorage
Support empty digits in format_number of Report
Add digits mixin
Use argon2 or scrypt to hash password by default
Allow PYSON Expression as key for PYSON In with dict object
Add method to format warning name with records
Add option to trytond-console to start a readonly transaction
Add support for werkzeug 2.0
Combine search and get_keys in DictSchemaMixin
Make language code unique
Support base64 encoded data in ModelStorage.import_data
Add BOOL_AND and BOOL_OR to SQLite backend
Version 6.0.0 - 2021-05-03#
Bug fixes (see mercurial logs for details)
Allow column sql types to be tested from the table handler
Add support for database connection parameters to configuration URI
Use immutable datastructures for Dict and MultiSelection fields
Skip warnings for non-interactive operations
Check rule only if _check_access is set
Add statistics to Cache
Add support for avatars
Add status command
Add document widget on form view
Add full text and similarity search and FullText field
Add URL type to icon
Use instance method to get next sequence value
Store the sequence type directly on sequence
Allow sending email with record’s attachments
Add which records to use for actions
Add parent to group to inherit accesses
Add __access__ to Model
Add route wrapper to allow null origin
Add header grouping on report
Protect trusted devices against brute force attack
Make ModelView.parse_view public
Add help for each value to selection and multiselection
Use safe_join in SharedDataMiddlewareIndex (issue10068)
Use menu name for window opened from menu
Add trigonometric functions to sqlite backend
Allow skipping user warnings globally
Add validate option to trytond-admin
Refresh pool of other processes
Add clear_all method to Cache
Support Genshi element directives in HTML editor
Add firstline tool
Add support for Python 3.9
Skip access check on ModelStorage instances
Eager load Function field with same multiple getter
Support other methods for button_change decorator
Allow copying Python instances of Model
Add all buttons to default form view
Unify PYSON string format
Forbid all white spaces except space in Char field
Version 5.8.0 - 2020-11-02#
Bug fixes (see mercurial logs for details)
Remove support for Python 3.5
Support import of timedelta data
Add symbol widget
Add sql_pairing tool
Add format_datetime to Report
Allow sharing view searches
Allow overriding digits in Lang.currency and Report.format_currency
Add record name in report filename
Add deletable and writable state from ir.rule to read
Add language attribute to data tag
Add email template
Send email on behalf of user
Register mixins to generic Report class
Cache in memory the report template instances
Support Genshi’s MsgDirective in report
Support PYSON comparison of date and datetime
Add cron task to clean old queue tasks
Add option to run cron once
Add defaults option to route
Add escape_wildcard in tools
Add option to ensure emails are sent
Allow keyword action for all models
Add sortable_values in tools
Remove default colors on graph and calendar
Add model, record and records attributes on Wizard
Check read access of wizard records
Add cached_property in tools
Use custom class to store record data
Do not write to existing targets on xxx2Many add
Add configuration check
Add support for properties to fields.depends
Allow combining authentication methods together
Add context to export CSV route
Version 5.6.0 - 2020-05-04#
Bug fixes (see mercurial logs for details)
Call getter function when accessing Function field on unsaved record
Add language configuration wizard
Allow copying attachments and notes to created records
Add link button on form
Support explicit delete and remove for saving and on_change xxx2Many
Add export_data_domain to ModelStorage
Add route to export CSV data
Add test on target of relation fields
Add width and height attributes on calendar view
Add default database name configuration
Add retry option to report convert
Add depends fields on view_attributes
Simplify trigger action
Run trigger in the queue
Do not copy Binary content with file_id
Replace memoize with functools.lru_cache
Add support for Python 3.8
Set all fields readonly for inactive record
Enable check_access context when checking wizard access (issue9108)
Add option to send test email with trytond-admin
Add editable on calendar view
Add xalign and yalign to group
Add MultiSelection entry to Dict field
Allow empty order clause
Change editable tree attribute into boolean
Send default order to clients
Replace advisory lock by SKIP LOCKED in queue pulling
Load WSGI middleware from configuration
Add help text to Dict keys
Update button_action with returned values
Use direct access to backend classes
Add weasyprint support
Add slugify tool
Add is_secure, host and http_host to url module
Add __href__ to URLMixin
Add validate attribute to wizard’s Button
Return 400 instead of 500 for Tryton exception
Fill the reverse field in the One2Many setter
Drop support for skiptest attribute on xml files
Remove implicit field names in ModelStorage.search_read
Version 5.4.0 - 2019-11-04#
Bug fixes (see mercurial logs for details)
Improve tests on depends
Add permission groups on export
Retry cron job on DatabaseOperationalError
Add visual context on tree view
Add start value to PYSON Date and DateTime
Add MultiSelection field
Support dot notation on PYSON Eval
Add __slots__
Pass app and request to wsgi error handlers
Add lazy_gettext
Add format_timedelta to Report
Add partial TO_CHAR support for date and datetime on SQLite
Setup default logging for WSGI app
Add format argument to report format_date function
Change expand attribute into a factor
Allow SQL expression as value of fields
Allow customizing Dict keys order with a sequence field
Add invalid domain in DomainValidationError
Add domain inversion tools
Add get_relation_fields to DictSchemaMixin
Add level on Model.fields_get to fill relation_fields
Version 5.2.0 - 2019-05-06#
Bug fixes (see mercurial logs for details)
Add sort and translate options to Reference field
Do not create empty translations
Replace dsn by params to connect to postgresql
Simplify cron
Add duration on Cache
Add strip wildcards helpers
Add list-form view
Do not set id for on_change calls if cached
Add cache on RPC
Remove support for Python 3.4
Allow to update record when importing data
Set context on record instantiated by Field.__set__
Set context when reading related fields
Check read access on field in search order (issue8189)
Add base64 converter to URL map
Add HTML widget
Support import of native numeric, date and datetime data
Add day view on calendar
Raise NotImplementedError when setting Function field without setter
Add exports in view_toolbar_get
Add resources method to ModelStorage
Validate selection format in Dict schema
Allow to extend Field’s string and help
Add console
Add Model.__names__ to retrieve model and field names
Add size attribute on image tag
Allow to use channel to synchronize Cache
Display ids and rule names on access error
Move field definition from Model to Field
Use number of verbose flag as log level
Add coroutine concurrency option
Add increasing delay on database operational error retry
Allows to lock records for update
Remove _nocache on Transaction
Make Cache transactional
Allow to search on key’s value of Dict
Allow to order Dict by key’s value
Do not store keys with null value in Dict
Add cache timeout for web
Allow the bus requests to be redirected to another host
Add support for CORS
Add extras modules to ModuleTestCase
Add timeout to Report.convert
Allow records from XML with noupdate to be deleted
Add ir.calendar for month and day
Rename languages: hu_HU, it_IT and pt_BR into hu, it and pt
Define custom exceptions
Remove _error_messages, raise_user_error and raise_user_warning
Remove ModelStorage._constraints
Add ir.message
Add check on ModelSQL for positive id
New API to read related fields
Remove implicit fields names in ModelStorage.read
Check read access on field in search domain (issue7766)
Add active field on ModelAccess, ModelFieldAccess and Group
Use write mode by default to check create and delete of resources
Version 5.0.0 - 2018-10-01#
Bug fixes (see mercurial logs for details)
Allow non translatable reports
Replace hard coded ‘state’ by ‘_transition_state’ in copy
Support dotted notation in copy default
Allow callable in copy default
Add bus system
Allow to set any default configuration value from environment
Clear existing session when password is changed
Manage session with max_age and timeout
Use passlib to hash and update password
Remove unique constraint on attachment name
New icons
Add pyson TimeDelta
Remove button if it is not allowed to access some of its dependant fields
Add support for Python 3.7
Add transactional queue and workers
Add __table_handler__ to ModelSQL
Support partial index
Allow to use SQL expression for index action
Add cache clean timeout configuration
Implicit conversion to boolean in PYSON statement
Add domain to dictionary schema
Fill main language in ir.configuration at database initialization
Remove support for Python 2.7
Check Rule also after modification
Check Rule after indirect fields
Allow to define view id in switch client action
Do not validate Function fields even with setter
Simplify the creation of dependencies graph
Make depends on methods generic to any method
Add width/height attribute to notebook
Allow to call set_lang with None and language instance
Add hostname configuration to list database
Add tree mixin
Rename “install-dependences” into “activate-dependencies”
Use recursive common table expression for child_of/parent_of operators
Add sql_cast on Field
Version 4.8.0 - 2018-04-23#
Bug fixes (see mercurial logs for details)
Add index method to order field set calls
Add deactivable mixin
Ensure active field is present on tree view
Manage depends xml attribute on field tag
Add expand attribute on group tag
Add depends on Pool.register
Add Exclude constraint
Allow to perform unaccented searches on Char fields
Always raise exception in table handler
Simplify API for Session: new, remove, check and reset
Ensure that all buttons are registered in ir.model.button
Make trytond-admin ask for admin email
Add option to set admin email with trytond-admin
Add option to reset admin password with trytond-admin
Add reset password button
Add depends on Button
Add ModelData.has_model cache for ModelStorage.check_xml_record
Limit authentication attempt per IP network
Manage ‘X-Forwarded’ headers from proxies
Add ‘_request’ attribute to Transaction context
Delete translations on deletion only when model has translatable field
Remove MySQL backend
Add keyword attribute to button tag
Allow field name on image tag
Remove unoconv and call soffice directly
Allow to include mixin to pool objects
Improve validation of PYSON domain
Use JSON canonical form for Dict value
Remove rules on user
Add monetary formatting to language
Add exceptional parent language
Add get method on ir.lang
Convert format, currency and strftime of ir.lang into instance methods
Version 4.6.0 - 2017-10-30#
Bug fixes (see mercurial logs for details)
Add support for Python 3.6
Remove support for Python 3.3
Move handling of sequences to the Database object
Allow to add tests through entry points
Add translated descriptor for Reference field
Implement alter_type and alter_size for sqlite backend
Add a maximum size for request
Add support for single record report
Add support for Flat OpenDocument
Add get_email in trytond.report
Replace plain extension by txt
Support test database cache for remote postgresql
Increase session randomness to 32 bytes
Allow to specify datetime related values in XML files
Add environment variables to wsgi script
Add unique ids check on RPC
Assert unique records on ModelView.button and Workflow.transition
Add test for function field methods
Add option install module dependencies with trytond-admin
Add localhost_name and timeout as get_smtp_server uri parameters
Delete missing modules not activated when updating module list
Remove empty pages from notebook
Allow to store Dict as JSON on the database
Version 4.4.0 - 2017-05-01#
Bug fixes (see mercurial logs for details)
Sanitize path in file_open against suffix (CVE-2017-0360)
Add constraint on user password
Remove Property field
Add MultiValueMixin and ValueMixin
Use sql type in column creation
Use generic SQL type in field and let backend determine the SQLType
Add filter to xxx2Many fields
Add NULLS ordering
Add context domain on ir.action.act_window
Allow None limit in action window
Add has_window_functions on Database
Allow Many2One on ModelSQL to target ModelStorage
Manage Cache in Transaction
Allow to register multiple exit functions on Transaction
Return 429 status when too many login attempts
Add set_rpc on Field
Add has_select_for on Database
Store custom report translation in separate module
Add form action keyword for set/synchronize translation on report and view
Add negative value for col attribute
Allow to use domain_<field name> method with Function fields
Validate wizard definition on module tests
Remove order constraint on register ModelSQL
Add relate from report to translations
Version 4.2.0 - 2016-11-28#
Bug fixes (see mercurial logs for details)
Add toolbar attribute for richtext widget
Add PYSON widget
Allow to define the text color and background color in calendar view
Allow to override cache implementation
Add button rule
Allow to specify translatable languages in trytond-admin
Add datetime_field on Reference
Merge Spanish’s into Spanish (Latin American)
Do not check write access on model for wizard with groups
Add user application
Add sequence_ordered
Remove most country specific code in languages
Add support for derivative translations
Remove IDENTIFIER regexp on ir.model and ir.model.field
Enforce suffix and prefix to have id or name
Sanitize path in file_open (CVE-2016-1242)
Prevent read of user password hash (CVE-2016-1241)
Add database dump cache for tests
Remove unused tools: find_in_path, exec_command_pipe and mod10r
Implementation of drop_column for SQLite
Allow to pass many configuration files
Remove translate on field name of User
Allow to define the default mode in calendar view
Use ‘default_rec_name’ context key in Model.default_get
Add option to store Attachment in database
Allow to store Binary field in filestore
Add filestore module
Allow None in Greater/Less PYSON
Add option to set admin password with trytond-admin
Remove super password
Remove database management from RPC
Remove ModelView.view_header_get
Remove string attribute from views
Don’t check write access on model for button with groups
Limit readonly state for xxx2Many
Add option to update modules list with trytond-admin
Use home directory as default path for database and web root.
Add count option on Action Window Domains
Remove window_name on Action Window
Return the calling keyword in ActionKeyword.get_keywords
Add customizable login process
Allow to customize the substitutions used on sequence
Allow PYSON in tree_invisible attribute
Version 4.0.0 - 2016-05-02#
Bug fixes (see mercurial logs for details)
Add sendmail module to send transactional email
Support Two-Phase Commit in Transaction
Allow Report to generate text plain, XML, HTML and XHTML
Add workflow graph on ir.model
Add context model on ir.action.act_window
Switch to WSGI API
Limit the login size in LoginAttempt
Remove LocalDict from tools
Add LRUDictTransaction
Follow PEP-0249 for Database, Transaction and Cursor
Add Python3 support
Make TestCase create and drop its database
Add with_transaction decorator for tests
Add note on resources
Add ‘where’ operator for xxx2many fields
Strip and unquote double-quote from Postgresql schema in search_path
Move webdav into a separate module
Don’t read historized user when evaluating record rules as it could lead to past privilege escalation.
Only rebuild mptt tree if left or right values have their default values
Allow nested inherited view
Add button on cron to run once
Check all fields when writing a sequence of records, values (CVE-2015-0861)
Add view_ids on tree view
Add parent_of operator
Enforce type of inheriting view
Use instance context in translated descriptor of Selection
Version 3.8.0 - 2015-11-02#
Bug fixes (see mercurial logs for details)
Add test for all field methods
Load po files also in ‘override’ subdirectory
Add support for float and integer on Property fields
Remove foreign-key on create_uid and write_uid
Prevent deletion of any user
Manage PostgreSQL schema
Remove colors attribute on tree view
Remove style on Report
Add StateReport to Wizard
Allow to override ModelSQL._table
Allow to import backend from entry points
Add reversed operators to PYSON expressions
Explicity raise error when creating/writing/deleting models with table_query
Use CURRENT_TIMESTAMP instead of now
Use Constraint instance in ModelSQL._sql_constraints
Only return default record if no domain supplied on ModelSingleton search
Rule.domain_get returns a domain and Rule.query_get a SQL query
Add target_search option to Many2One
Add tables argument to ModelSQL.search_domain
Rename ir.module.module* into ir.module*
Version 3.6.0 - 2015-04-20#
Bug fixes (see mercurial logs for details)
Use bytes and bytearray for Binary
Add button_change
Add support for PyPy
Add support for psycopg2cffi
Add noeval on PYSONDecoder
Add __repr__ to PYSON
Remove safe_eval
Add ModelView.view_attributes
Add pyson attribute on data field tag
- Changed into JSON:
record rule domain
trigger condition
‘states’, ‘domain’, ‘spell’ and ‘colors’ view attributes
view domain
‘email’, ‘domain’, ‘context’, ‘order’ and ‘search_value’ action fields
Add product attribute on form view for One2Many
Remove float_time widget
Add TimeDelta field
search_global yields record instead of id
Add ModelTestCase
Add test for missing default model access
Report API refactorization
Add test for access rights of menu and actions
Allow to use the dotted notation for order parameters
Use action_id to find report to use
Allow custom StateView without Model
Remove Pool.object_name_list
Add translated descriptor for Dict field
Clean private context keyword in RPC
Add cache section in configuration
Use dualmethod on ModelStorage.save
New API for on_change: instance changes
Add restore_history_before on ModelSQL
Remove img_{width,height} form attributes
Version 3.4.0 - 2014-10-20#
Bug fixes (see mercurial logs for details)
Use literal_eval instead of safe_eval (CVE-2014-6633)
Prevent double underscore in safe_eval (CVE-2014-6633)
Add pre-validation on button
Model and Field access checked only if _check_access is set
Add check_access to RPC
Add check_access to Wizard and Report
Add support for domain_<field name> method
Refactor configuration file and command line
Use the context of the relation field for instanciation
Use a configuration field for logging
Add translated descriptor for Selection field
Add tree_state attribute on tree view
Allow to sync XML data
Remove on_change calls in Model.default_get
Add group call to on_change
Add UnionMixin
Allow to disable sorting of dictionary field’s selection
Add active field to views of action window
Make global cache depends on explicit context keys
Don’t add to global cache Binary fields
Add MatchMixin
Add image widget to tree
Remove context, current_date and time from record rule evaluation
Version 3.2.0 - 2014-04-21#
Bug fixes (see mercurial logs for details)
Add restore_history to ModelSQL
Add history revisions
Add the multi selection widget
Add index to one2many’s on_change
Remove auto-refresh on Action Window
Add support of domain for non-relation field
Manage microseconds in JSON-RPC and XML-RPC
Remove Sha field
Add password widget
Add Len to PYSON
Use bcrypt to hash password if possible
Use a sequence of ids, values to set fields
Client side actions on button and wizard
Add depends attribute to data tag
Add tree_invisible attribute to button in tree view
Drop support of Python 2.6
Deprecate on_change, on_change_with, selection_change_with and autocomplete field arguments
Add fields.depends decorator
Add run-tests
Validate only modified and dependant fields on model write
Improve error messages by showing the failing value
- Remove relation field actions:
delete_all
unlink_all
set
Rename relation field action unlink into remove
Use a sequence of records, values in write
set_context of Transaction.set_user is restricted to root
Add a “copy” action to One2Many and Many2Many’s set method
Force UTC as timezone (migration script available on tryton-tools)
Add relation_field for many2one
Version 3.0.0 - 2013-10-21#
Bug fixes (see mercurial logs for details)
Allow customization of translation in po files
Use python-sql
Add convert_domain method on Fields
Add sql_format and sql_type methods on Fields
Allow to return a full domain for Function.searcher
Replace static backend by dynamic get method
Replace order_field by order_<field name> method
Allow field One2One in check_recursion
Remove the default order on MPTT
Add grouped attribute to data tag
Store selection tree state
Add order to Action Window
Add factor on number fields
Add calendar view
Remove request
Version 2.8.0 - 2013-04-22#
Bug fixes (see mercurial logs for details)
Allow to search on target of Reference field
Remove _inherits
Add dynamic label
Add prefix, suffix on tree view
Replace _constraints with validate in ModelStorage
Add selection_change_with on Selection and Reference fields
Add Dict fields
Remove unique constraint on model and field access
Use lists of values in create
(Field, Operator, Operand) are replaced by Domain on Rule
Add global search
Replace view shortcut by menu favorite
Store default language in database
Add icon attribute on fields
Prevent Wizard State name to start with ‘_’
Add completion attribute for Many2One, Many2Many and One2Many
Add ViewSearch
Add domains on Action Window
Version 2.6.0 - 2012-10-22#
Bug fixes (see mercurial logs for details)
Add pre-validation
Allow to use XML file for views
Add RPC definition
Repace BrowseRecord by Model instance
Replace Cache decorator by a simple LRU Cache
Remove Cacheable
Remove _description
Rename _name by __name__
Use class in Pool
Fix search button clause in ModelButton.get_groups (CVE-2012-2238)
Merge all kind of buttons
Use XML id for board action instead of id
Add states attribute to notebook
Allow to use tuple for Reference
Add constant interpolation on line graph
Add create/delete field access
Add dynamic size limit on the One2Many, Many2Many and Char
Replace __tryton__.py by tryton.cfg
Allow to use Reference field in One2Many & Many2Many
Remove hexmd5 from ModelView.fields_view_get
Allow client to manage model access
Add time format validation
Remove ModelSQL.default_sequence
Version 2.4.0 - 2012-04-23#
Bug fixes (see mercurial logs for details)
Don’t allow rpc call on ModelStorage without ModelView (CVE-2012-0215)
Add shared WebDAV
Remove workflow module
Simplify workflow engine
Add ir.model.button for access rights
Replace fill by expand
Integer, Numeric and Float allow None as value
NULL value is None and not False
Replace user action by a list of actions
Add group call to on_change_with
Allow to get fuzzy translation
Allow to customize server timezone
Add richtext widget for WYSIWYG editor
Add support of fields.Time
Replace nested view by reference id
Remove underscore to ir.translation methods
Add default database language code
Add extras_depend to module definition
Store session in database
New Wizard design
Add pyson.Id
Use XML-RPC struct for Decimal and Date
Remove change_default on fields
Version 2.2.0 - 2011-10-24#
Bug fixes (see mercurial logs for details)
Remove name field in ir.property
Add wizard to show views
Switched from .csv to .po for translations
Search on Many2One fields include inactive records
Change select on fields into Boolean
Change format of search_value on ir.action.act_window
Manage relation field access
Support size format in context for Binary fields
Use buffer for Binary fields
No more store Binary fields in base64
Remove tabpos attribute on notebook
Make PYSON more Pythonic
Add readonly on Transaction
Add has_returning on Cursor
Remove use of python code in workflow XML
Use SQL sequence on PostgreSQL for ir.sequence
Allow to specify more than one interface
Use unoconv for report format conversion
Allow to use any Opendocument as report template
Drop NetRPC and activate JSON-RPC by default
Remove ir.action.wizard_size
Rename expand and fill attributes into yexpand and yfill
Add xalign and yalign as field attributes
Drop support of Python 2.5
Remove support of Many2Many field in record XML
Change Pool into a Singleton
Remove support of zipped modules
Version 2.0.0 - 2011-04-26#
Bug fixes (see mercurial logs for details)
Use md5 hash for indexing translation
Merge tree and list views
Added autocompletion on fields.Char
Remove ir.default
Add type, last user and last modification on ir.attachment
Rename datas into data on ir.attachment
Add new configuration option to prevent database listing
Add warning to wizards
Add server-side icons
Add support for file link to BinaryField
Add model field access
Add loading attribute on fields
Remove priority attribute on fields
Model doesn’t convert anymore ids for inherited methods
Remove required attribute on Boolean fields
Add One2One field
Add AUTOINCREMENT to sqlite primary key
Version 1.8.0 - 2010-11-01#
Bug fixes (see mercurial logs for details)
Add timestamp sequence
New transaction management
Make _timestamp numeric instead of datetime to work with XML-RPC and JSON-RPC
Add ir.trigger to trigger ModelStorage change
Add default value to Boolean fields at database level
Version 1.6.0 - 2010-05-08#
Bug fixes (see mercurial logs for details)
Add symbol parameter to formatLang
searcher on Function fields take only one domain clause as argument
Use a Reference field on ir.attachment to store resource informations Improve the ir.attachment views to be usable on the client side
Use basic access authentication for XML-RPC
Replace child{1,2} attributes in xml views by a unique child
Models that uses _inherits will search in inherited parents for missing functions
Remove ids from on_change* calls
Improve search on translatable fields
export_data return empty value for invisible fields
Don’t allow to use float in Numeric fields
set/get function on Fields take a list of ids
New interface for Function/Property fields Take a Field as first argument instead of many separate arguments Remove static arguments
Fix Float and Numeric for lost of precision
Add decimal digits validation on fields
Improve unittests to run trytond from tests Use sqlite as default backend Add skiptest attribute to data tag Add option to test_tryton to run tests from all modules
Add MySQL backend
Refactoring by validation with pylint
Modify ondelete attribute of Many2One according to required attribute value
Refactor import_data of ModelStorage
Raise exception when search function is missing on Function fields
Add LRU memoization, use it to cache compiled code for safe_eval.
Add PySON to replace python string evaluation on client side
Add JSON-RPC
Add groups on Sequence Types and add rules on sequence based on it.
Ignore Fields that starts with “_”
Add comment on table and field for postgresql backend
Remove egenix-mx-base and replace it by python-dateutil
Add cache to safe_eval
Rename HttpDaemon into XMLRPCDaemon
Improve TranslateFactory to fetch all translations for a report in one query
Handle displayname on webdav.collection
Handle current-user-privilege-set on webdav.collection
Version 1.4.0 - 2009-10-19#
Bug fixes (see mercurial logs for details)
Add datetime_field on xxx2Many to use a specific _datetime when reading the related record
Add new tool safe_eval
Handle sequence and history renaming when renaming table
Add old_password to set_preferences of res.user on password change
Allow to drop constraint, index and foreign key with custom table name
Added column_rename on TableHandler
Add new tool reduce_ids
Add limit_clause function on cursor
Fill the cursor cache at search
Allow rpc on today of ir.date
Use the module dependency order to apply views that inherits
Allow to update database at the end of restore
Add ir.model.access check get and set of ir.property
Add ModelSingleton
Move login test in res.user
Rename osv into model on workflow
Add logout method
Move BrowseRecord cache onto the cursor except for Function fields
Don’t order search result if order value is []
Add reload of modules if files have changed
Add salt to sha of password
Add strftime to ir.lang to handle locale’s format
Add sqlite backend
Add validate test for required and size
Remove _sequence on ModelSQL
Use gzip in pysocket
Add gzip encoding for XML-RPC
Add report name in the result of Report.execute
Add ir.action.wizard_size to store prefered wizard size
Add delete_all action on One2Many field
Read, write, create, delete permission on record rules
Add reset_default method to ir.default
Doesn’t append ‘%’ to “like”, “ilike” clauses
Handle database dump and restore with password
Add float_time attribute in fields view
Version 1.2.0 - 2009-04-20#
Bug fixes (see mercurial logs for details)
Add delete of foreign keys with ondelete CASCADE
Add write for foreign keys with ondelete SET NULL
Add datetime_field on Many2One to use a specific _datetime when reading the related record
Use _datetime in context to read record value at specific datetime
Add _history_table on ModelSQL to historize change on records
Allow to use related fields (many2one and reference) in read
Use rec_name function field instead of name_get and name_search
Use a new Pool for objects
Move workflow in ModelWorkflow and the workflow module
Remove Service and LocalService objects
New netrpc/xmlrpc syntax
copy on ModelStorage copies one2many directly on the right record
Search on translated field will search only on translated value
Add active field on ir.action to allow better override of reports
Add depends attributes on Column
Make Modified Preorder Tree Traversal respects the default order of the model
Add replace_attributes for xpath tag
Add email parameter on report action
Allow to inherit views from an other model
Add user warnings
Allow to use a list of id for copy method
Use one lock per database
Improve netrpc communication speed
Add contextual domain on inherited views
Allow to use globals in domain and states
Add translate attribute on Selection field
Use explicit join in search SQL query
Fix for host with IPv6 enable but without default IPv6 route
Allow egg installation
Version 1.0.0 - 2008-11-17#
Initial release