docs/history.html
<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="./">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>History — OpenUpgrade Library 0.1.dev1+ge512ee6 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
<script src="_static/jquery.js?v=5d32c60e"></script>
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="_static/documentation_options.js?v=dff8f647"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="prev" title="Credits" href="authors.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home">
OpenUpgrade Library
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="readme.html">OpenUpgrade Library</a></li>
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="usage.html">Usage</a></li>
<li class="toctree-l1"><a class="reference internal" href="API.html">OpenUpgrade API</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="authors.html">Credits</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">History</a></li>
<li class="toctree-l1"><a class="reference internal" href="#id1">3.0.0 (2019-09-16)</a></li>
<li class="toctree-l1"><a class="reference internal" href="#id2">2.0.0 (2018-07-21)</a></li>
<li class="toctree-l1"><a class="reference internal" href="#id3">1.3.1 (2017-09-01)</a></li>
<li class="toctree-l1"><a class="reference internal" href="#id4">1.3.0 (2017-05-01)</a></li>
<li class="toctree-l1"><a class="reference internal" href="#id5">1.2.2 (2016-12-27)</a></li>
<li class="toctree-l1"><a class="reference internal" href="#id6">1.2.1 (2016-11-07)</a></li>
<li class="toctree-l1"><a class="reference internal" href="#id7">1.2.0 (2016-10-10)</a></li>
<li class="toctree-l1"><a class="reference internal" href="#id8">1.1.2 (2016-06-13)</a></li>
<li class="toctree-l1"><a class="reference internal" href="#id9">1.1.1 (2015-10-30)</a></li>
<li class="toctree-l1"><a class="reference internal" href="#id10">1.1.0 (2015-09-21)</a></li>
<li class="toctree-l1"><a class="reference internal" href="#id11">1.0.0 (2015-08-10)</a></li>
<li class="toctree-l1"><a class="reference internal" href="#id12">0.1.2 (2015-06-23)</a></li>
<li class="toctree-l1"><a class="reference internal" href="#id13">0.1.1 (2015-05-05)</a></li>
<li class="toctree-l1"><a class="reference internal" href="#id14">0.1.0 (2015-05-04)</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">OpenUpgrade Library</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">History</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="history">
<h1>History<a class="headerlink" href="#history" title="Link to this heading"></a></h1>
</section>
<section id="id1">
<h1>3.0.0 (2019-09-16)<a class="headerlink" href="#id1" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p>[IMP] SQL version of last_message_post</p></li>
<li><p>[IMP] keep old module’s state when merging modules and the target is …</p></li>
<li><p>[ADD] delete_records_safely_by_xml_id</p></li>
<li><p>[FIX] rename_models: Rename correctly ir.property values (without ^)</p></li>
<li><p>[IMP] merge_records: Be more conservative on merge values</p></li>
<li><p>[RFR] No yaml import in Odoo 12</p></li>
<li><p>[ADD] Chunked method</p></li>
<li><p>[ADD] search and replace a single ID across the whole database</p></li>
<li><p>[RFR] Merge with existing method</p></li>
<li><p>[FIX] merge_records: bad column in _change_generic exclusion</p></li>
<li><p>[FIX] merge_records: escape column names in _change_foreign_key_refs</p></li>
<li><p>[FIX] merge_records: unreachable code due to bad condition in _change…</p></li>
<li><p>[IMP] merge_records: align sql queries to better visualization</p></li>
<li><p>[FIX] merge_records: missing argument in _delete_records_sql</p></li>
<li><p>[FIX] merge_records: missing argument in _adjust_merged_values_orm</p></li>
<li><p>[FIX] merge_records: tuples and lists don’t sum</p></li>
<li><p>[FIX] _adjust_merged_values_orm: char default case</p></li>
<li><p>[FIX] merge_records (orm): take into account inactive records</p></li>
<li><p>[FIX] _adjust_merged_values_orm: integer default case</p></li>
<li><p>[IMP] merge_records: add adjust values for binary & many2one</p></li>
<li><p>[FIX] merge_records: ensure value in merging many2one and binary types</p></li>
<li><p>[FIX] merge_records: if merging many2many, avoid warning of bad compa…</p></li>
<li><p>[FIX] Solve TypeError in _adjust_merged_values_orm</p></li>
<li><p>[IMP] merge_records: Put exception condition on records to be merged</p></li>
<li><p>[IMP] merge_records: Check which records to be merged exist</p></li>
<li><p>[FIX] merge_records: Handle better translatable fields</p></li>
<li><p>[FIX] Merge records on sql take into account rel tables</p></li>
<li><p>[IMP] openupgrade_merge_records: Improve code for handling m2m tables…</p></li>
<li><p>[FIX] SQL request into moved_fields function</p></li>
<li><p>[FIX] set_defaults: New api adaptation</p></li>
<li><p>[ADD] Clunky travis script to run functional tests across a range of Odoo versions</p></li>
<li><p>[FIX] openupgradelib: Manage null values to avoid TypeError when merging</p></li>
<li><p>[FIX] openupgrade_merge_records: <cite>filter</cite> should be properly applied</p></li>
<li><p>[FIX] openupgrade_merge_records: l[0] is not valid for <cite>filter</cite> object</p></li>
<li><p>[FIX] openupgradelib: _get_existing_records for v11 and above</p></li>
<li><p>[FIX] chunked: Adapt to all supported versions</p></li>
<li><p>[FIX] rename_models</p></li>
<li><p>[IMP] add_fields: Consider corner edges and >= v12</p></li>
<li><p>[IMP] Add XML conversion framework and Bootstrap 3 to 4 converter</p></li>
<li><p>[FIX] update_module_moved_fields: Allow v12</p></li>
<li><p>[IMP] Support multilang updates in Bootstrap 3 to 4 migration</p></li>
<li><p>[FIX] typo in 12.0 tools</p></li>
<li><p>[IMP] rename_models: add mail_message_subtype in rename_models</p></li>
<li><p>[FIX+IMP] convert_string_bootstrap_3to4: Don’t try to convert empty columns</p></li>
<li><p>[FIX] merge_recordS: bad query in _change_foreign_key_refs</p></li>
<li><p>[FIX] merge_records: bad query in _change_foreign_key_refs (part 2)</p></li>
<li><p>[FIX] merge_records: reduce queries in _change_foreign_key_refs</p></li>
<li><p>[FIX] Respect preexisting styles and attributes</p></li>
<li><p>[IMP] Allow callable XML replacements</p></li>
<li><p>[IMP] Translate from v11 Slider to v12 Carousel</p></li>
<li><p>[FIX] convert_xml_node: node.attrib doesn’t have copy() method</p></li>
<li><p>[FIX] Remove call to <cite>setdefault()</cite></p></li>
<li><p>[IMP] update_module_names: rename instead of merge case</p></li>
<li><p>[ADD] copy_fields_multilang method</p></li>
<li><p>[FIX] Adapt <cite>logged_query</cite> to work with <cite>psycopg2.sql.SQL</cite> and similar helpers</p></li>
<li><p>[IMP] View translations are special</p></li>
<li><p>[FIX] openupgrade_merge_records: field XML ID v12</p></li>
<li><p>[IMP] For small tables it’s perfectly acceptable to drop index and then let Odoo recreate it, but with large tables this scenario is rather costly.</p></li>
<li><p>[IMP] delete_records_safely_by_xml_id: Avoid noisy log if the XML-ID is not found</p></li>
<li><p>[FIX] add_fields: Respect sql_type and build safe query</p></li>
</ul>
</section>
<section id="id2">
<h1>2.0.0 (2018-07-21)<a class="headerlink" href="#id2" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p>[FIX] set_defaults: New api adaptation</p></li>
<li><p>[RVR] Python 3 compatibility</p></li>
<li><p>[IMP] load_data: support update mode where we never try to create records</p></li>
<li><p>[ADD] rename_fields: New method for renaming completely fields</p></li>
<li><p>[ADD] replace_account_types: Replace account types for Odoo 9.0</p></li>
<li><p>[ADD] delete_template_translations: New method for deleting translations of changed templates with noupdate true</p></li>
<li><p>[ADD] disable_invalid_filters</p></li>
<li><p>[FIX] Fix logging with non-ascii characters in exception</p></li>
<li><p>[IMP] rename_models: rename field xmlids</p></li>
<li><p>[ADD] add_fields: Add a field definition</p></li>
<li><p>[ADD] update_module_moved_fields: New method for updating module field when moving a field from one module to another</p></li>
<li><p>[IMP] rename_models: Handle properties that reference to the old model</p></li>
<li><p>[IMP] logged_query: Allow to not logging output if no records affected</p></li>
<li><p>[ADD] merge_records: New method for merging several records into a target one</p></li>
<li><p>[IMP] convert_binary_field_to_attachment: Conversion to attachment on large datasets</p></li>
</ul>
</section>
<section id="id3">
<h1>1.3.1 (2017-09-01)<a class="headerlink" href="#id3" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p>[FIX] when renaming/deleting a module, rename/delete its xmlid</p></li>
<li><p>Added suggestion for latest version install in docs</p></li>
<li><p>[FIX] support versions without _fields</p></li>
<li><p>[FIX] m2o_to_x2m: Compatible with Odoo v10</p></li>
</ul>
</section>
<section id="id4">
<h1>1.3.0 (2017-05-01)<a class="headerlink" href="#id4" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p>[IMP] rename_models: Add warning on docstring</p></li>
<li><p>[FIX] update_module_names: Rename non updated XML-ID occurences</p></li>
<li><p>[ADD] convert_binary_field_to_attachment</p></li>
<li><p>[RFR] Local logger; don’t force debug level</p></li>
<li><p>[FIX] Adapt code to docstring by passing env by default starting from 10.0</p></li>
<li><p>[FIX] protect openerp imports</p></li>
<li><p>[ADD] new logging decorator</p></li>
</ul>
</section>
<section id="id5">
<h1>1.2.2 (2016-12-27)<a class="headerlink" href="#id5" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p>New argument merge_modules in update_module_names for merging several
modules.</p></li>
</ul>
</section>
<section id="id6">
<h1>1.2.1 (2016-11-07)<a class="headerlink" href="#id6" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p>[FIX] Broken compatibility of 1.2.0 with Odoo 8.0</p></li>
<li><p>[FIX] Fix argument name in migrate __doc__ to actual argument</p></li>
</ul>
</section>
<section id="id7">
<h1>1.2.0 (2016-10-10)<a class="headerlink" href="#id7" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p>[IMP] Lift constraints</p></li>
<li><p>[IMP] Update module field in ir_model_fields when calling rename_models</p></li>
<li><p>[ADD] allow to create an environment automatically</p></li>
<li><p>[ADD] rename references to the model in mail related records</p></li>
<li><p>[ADD] rename_property</p></li>
<li><p>[IMP] clarifying docstring</p></li>
<li><p>[FIX] doc typo</p></li>
<li><p>[FIX] .travis.yml: remove Python 2.6 test</p></li>
<li><p>[RFR] Move column_exists so it can be used during loading</p></li>
<li><p>[MIG] 10.0 imports</p></li>
</ul>
</section>
<section id="id8">
<h1>1.1.2 (2016-06-13)<a class="headerlink" href="#id8" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p>[FIX] missing %% in convert_field_to_html()</p></li>
<li><p>[FIX] Remove wrong docs</p></li>
<li><p>[FIX] Avoid broken updates</p></li>
<li><p>[IMP] Add new context manager allow_pgcodes</p></li>
<li><p>[FIX] support OpenERP version that don’t have cr.savepoint</p></li>
</ul>
</section>
<section id="id9">
<h1>1.1.1 (2015-10-30)<a class="headerlink" href="#id9" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p>[IMP] New function ‘is_module_installed()’</p></li>
<li><p>[ADD] when renaming a model, also move link in ir_attachment</p></li>
<li><p>[FIX] Compatibility for OpenERP versions prior to 6.1</p></li>
<li><p>[FIX] use correct column name in rename_models</p></li>
<li><p>[IMP] .travis.yml: Add auto-deployment</p></li>
<li><p>[IMP] map_values: Support set & notset selectors</p></li>
</ul>
</section>
<section id="id10">
<h1>1.1.0 (2015-09-21)<a class="headerlink" href="#id10" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p>[IMP] set_defaults: Don’t use ORM by default.</p></li>
<li><p>Remove pip imports which break coverage with pypy3</p></li>
<li><p>Add basic coverage configuration</p></li>
<li><p>Factor out duplicated metadata about package</p></li>
<li><p>[IMP] Google or NymPy docstrings</p></li>
<li><p>[IMP] docstrings <cite>copy_columns</cite>, <cite>rename_columns</cite></p></li>
<li><p>[IMP] update_module_names: Handle ir_translation</p></li>
<li><p>[FIX] lib for working with old API (<= 7.0)</p></li>
<li><p>[FIX] set_defaults: Cope with inherited fields by delegation</p></li>
</ul>
</section>
<section id="id11">
<h1>1.0.0 (2015-08-10)<a class="headerlink" href="#id11" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p>Rerelease to pypi with proper upload</p></li>
<li><p>Include requirements.txt</p></li>
<li><p>Mark as Beta</p></li>
</ul>
</section>
<section id="id12">
<h1>0.1.2 (2015-06-23)<a class="headerlink" href="#id12" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p>Rewrite history with git filter-branch</p></li>
<li><p>Remove unneeded files from history
* openupgrade_loading.py
* deferred80.py
* openupgrade_log.py
* #openupgrade_loading.py#</p></li>
</ul>
</section>
<section id="id13">
<h1>0.1.1 (2015-05-05)<a class="headerlink" href="#id13" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p>Fixes to the tests</p></li>
<li><p>Add more badges</p></li>
<li><p>Fix pip install issue with required.txt</p></li>
</ul>
</section>
<section id="id14">
<h1>0.1.0 (2015-05-04)<a class="headerlink" href="#id14" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p>First release on PyPI.</p></li>
</ul>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="authors.html" class="btn btn-neutral float-left" title="Credits" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>© Copyright 2015, Odoo Community Association.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>