Open MiquelRForgeFlow opened 4 years ago
Hi,
I really would like to help on this. As I'm a little aware of using the scripts already done but could you please lead me on a "simple module" so that I can learn properly how to help here.
Regards
@flotho I'm afraid there's still some initial tasks to do before having a "simple module" to build migration scripts:
base
migration scripts.Let me know when I could start. I'm used to work on project / contract and website repos. so maybe it could help to identify what part I should handle for help
OK. This is now on hold, as we are doing the 13.0 migration scripts right now.
- Include OpenUpgrade modifications in core 14.0.
- Migrate openupgrade_records module.
I began this work. Not a lot of time, but it could be ok in a couple of weeks. please ping me if other guys are on that task, to avoid duplicated work.
thanks !
@legalsylvain we want to apply a PoC where we detach the need of having whole Odoo code in OpenUpgrade, which forces us to maintain a big repository, do manual upstream updates, etc. It will use migration paths. There are several challenges, but it's worth to try. My colleague @Yajo will investigate it, but at least not in a month.
we want to apply a PoC where we detach the need of having whole Odoo code in OpenUpgrade
@pedrobaeza ;-) awsome, I'm currently exactly working on such design.
@Yajo : let me know when you want to work on that point.
kind regards.
It will use migration paths.
I remember that in last odoo Experience, they are talking about that point (the possiblity to add extra migration path), but I don't remember exactly how, and don't find any up to date documentation on the doc part of odoo.com. Any insight is welcome regarding that point.
(for the time being, I'm working on adding changes in odoo Core. (for exemple, do not raise error when odoo.tools.view_validation.valid_view()
is called))
thanks ! I was rgreping migration
without success, but the new name is upgrades-paths
.
amazing, it will be much more simple ...
Hi team, I using scripts openupgrade_scripts. I setup in config file _upgrade_path = /my_folder/OpenUpgrade/openupgradescripts/scripts/ and run. I don't see any error in logs. Where I can see migrated database? folder or database ?
There's still no migration scripts, only architecture, so you can't expect soon any migration possibility.
There's still no migration scripts, only architecture, so you can't expect soon any migration possibility.
oh, thank for comment
Hi,
As I'm totally fan of this module and already migrated v8 - v10 to v12 installation, I really would like to help on proposing migrated modules here on this new architecture that seems really Yet, I'm struggling to understand the start point of the process. AFAICS, the analysis_work.txt seems to be the starting point to all the migration and I would like to know if there is a tool to generate differences, Thanks for pointing me appropriate resources.
AFAICS, the analysis_work.txt seems to be the starting point to all the migration and I would like to know if there is a tool to generate differences,
Yes, there is, although you don't usually need it, because the work was already done.
Just go to https://github.com/OCA/OpenUpgrade/tree/14.0/openupgrade_scripts/scripts and start developing the scripts you want to contribute.
Also, the openupgrade_analysis_work.txt
is created the 1st time manually by the 1st contributor of a module, by copying openupgrade_analysis.txt
with that new name and manually annotating what is being done.
Made the switch to 14.0 as default branch for representing that this branch starts to be operational for the simple modules, and now the wheel is started!
is this post https://github.com/OCA/OpenUpgrade/issues/2190#issue-560365286 up to date or does the folder https://github.com/OCA/OpenUpgrade/tree/14.0/openupgrade_scripts/scripts represents the up to date WIP ?
sorry if the question looks weird but in the second case maybe updating the post to reference the forlder could be a good idea. Regards
It's this post. The folder contains all the modules analysis, having or not migration scripts.
Thanks @pedrobaeza , Just to be sure, as I can see for account_debit_note , the post indicates that the module has no upgrade script and it's confirmed here : https://github.com/OCA/OpenUpgrade/tree/14.0/openupgrade_scripts/scripts/account_debit_note/14.0.1.0 As the analysis seem very easy, does the account_debit_note need an upgrade script ? If not, what is the process to tag it as migrated in the first post ? Regards
@flotho we migrate modules in an orderly hierarchical way. The account_debit_note module depends on account, which it's still in WIP.
The analysis file only denotes changes in the model layout. Only after having all dependencies already "migrated", and studying if there's something to transform, we can say about that module if it's "Nothing to do", or if there's something and develop the migration scripts.
Example of change that doesn't have a reflect in the model layout, but required to develop scripts: on v10, you had multiple fragmented quants for each tuple of product, location, serial, etc. On v11, all are together, so we added on OpenUpgrade v11 a "deduplication" tool.
Hi @MiquelRForgeFlow @pedrobaeza ,
Thanks for great explanation to both of you. Another newbie question, which tool do you recommend for getting the module hierarchy (instead of experience and knowledge), I really would like to help on this and I want to be sure that I can concentrate on an appropriate module. Regards
Maybe https://pypi.org/project/manifestoo/. What I do is to see in the manifest if the depends modules are done. Simply that.
@pedrobaeza thanks for the manifestoo module, awesome. Regarding to the analysis, does this module https://github.com/OCA/server-tools/tree/14.0/upgrade_analysis still appropriate to start the analysis? Regards
Yes, but for Odoo modules, it's already done and put the analysis file on each folder.
ok, so my understanding of the process seems good, and the job is already done regarding this part. Another question regarding this kind of call : https://github.com/OCA/OpenUpgrade/pull/2783/files#diff-ed954c326a9e4e00f6d3c81953dd36b8af133608ca7825c826f83865b3fdec26R9 What is the purpose of the noupdate_changes.xml file? the name let me suppose that we have to put there definitions of xmlids that mustn't be updated during the process, but I'm not sure at all and don't find any documentation regarding this. Am I correct ?
That's also done by the analysis, and include the changes in XMLs corresponding to noupdate records, that are not going to be automatically updated in the process. You decide when developing the script if it needs to be loaded or not, or if there are some parts to comment for not being updated.
That's also done by the analysis, and include the changes in XMLs corresponding to noupdate records,
Is the "Analysis" an automated process or is it a manual process done by developers ?
Manual.
ok, Is there any lessons/tutorial I can found somewhere (outside the documentation) to have a more precise idea of the process? I would like to do it properly and I'm Ok to pay a one day course to be thought the good way. Maybe, that could be a good thing to add this kind of courses on OCA website. seniors like you and @legalsylvain would be able to share your knowledge in a more consistent way than this thread. Regards
I don't know any, and I don't do this process regularly. It's something that @StefanRijnhart and @MiquelRForgeFlow are always in charge, but I insist: it's already done. You don't have to repeat it, and it's not needed for the development of the migration scripts.
That's also done by the analysis, and include the changes in XMLs corresponding to noupdate records,
Is the "Analysis" an automated process or is it a manual process done by developers ?
For the record, the noupdate_changes.xml file is generated automatically, but its loading must be added to a migration script manually by a developer. You should also weed out (comment out) any entries that seem unwise to overwrite. In the case of translatable columns that need to be overwritten, any existing translations need to be removed in the pre-migration script so that the new translations are loaded by Odoo.
Such generic question is not easy to be answered. Please focus it a bit more.
@pedrobaeza sorry for misunderstanding. I want to contribute for migration. I now undestood new structure for 14 migration. So i can start with any easy (small) module to migrate to 14.
@rb3606 : you have to work module per module.
Work 1 : review existing 14 PR : https://github.com/OCA/OpenUpgrade/pulls?q=is%3Aopen+is%3Apr+milestone%3A14.0
Work 2 : work on new modules :
I recommand to begin to review and test existing PR.
kind regards.
Thanks @legalsylvain let me check with PR then. Do i have to Test PR with my local environment right ? and Review code ?
Thanks @legalsylvain let me check with PR then. Do i have to Test PR with my local environment right ? and Review code ?
They are usually two kind of test :
you can : do it with a demo database or do it with a copy of a production database
In the end, report your review in the PR, mentionning which kind of review you did.
is there is video explain the steps? or there are simple steps to begin? If I want to upgrade from version 10 to version 14, Do I have to upgrade from one version to another sequentially 10,11,...14, or from 10 to 14 direct?
_web_settingsdashboard module was already deleted. It was moved to _basesetup module in version 13 Can You delete line about _web_settingsdashboard?
No, it should be kept and that's why it's put as (del)
. It's marked when the task is done to merge it or handle it with whatever it has to be done. I'm now marking it as merged in base_setup
.
I'm seeing that it's not included in any script, so it's still pending.
Is the coverage OK to use migration to v14 on a production DB ?
Just check your installed modules, and then compare to see if any module is missing. Also, in your migration tests, check flows to see if anything is wrong or missing until you are convinced everything is fine, and then you can proceed to migrate your production DB.
(del)
means that the module has been removed in this version(add)
means that the module has been added in this version>
means that it has been identified that the module has been renamed to the name below<
means that it has been identified that the module has been rename from the name below->
means that the module has been merged in the module below<-
means that the module is the target where the module below has been merged[x] account - By @RaulOForgeFlow / @MiquelRForgeFlow / @JordiBForgeFlow / @pedrobaeza - #2741
[x] (del) account_analytic_default -> account
[x] (del) account_analytic_default_hr_expense -> hr_expense
[x] (del) account_analytic_default_purchase -> purchase
[x] (del) account_bank_statement_import - Adopted in OCA as
account_statement_import
[x] account_check_printing - By @tranngocson1996 - #3044
[ ] account_debit_note
[x] (new) account_edi - By @tranngocson1996 - #3040
[x] (new) account_edi_proxy_client - By @tranngocson1996 - #3042
[ ] account_edi_ubl
[x] account_facturx > account_edi_facturx - By @tranngocson1996 - #3046
[ ] (new) account_fleet
[ ] account_lock
[x] account_payment - By @MiquelRForgeFlow - #2805
[ ] account_qr_code_sepa
[ ] account_tax_python
[ ] account_test
[ ] (new) adyen_platforms
[x] analytic - By @RaulOForgeFlow - #2705
[x] association - By @tranngocson1996 - #3045
[x] attachment_indexation - By @pedrobaeza - #3007
[ ] auth_ldap
[x] auth_oauth - By @MiquelRForgeFlow - #2830
[x] auth_password_policy - By @tranngocson1996 - #3047
[ ] auth_password_policy_portal
[ ] auth_password_policy_signup
[x] auth_signup - By @MiquelRForgeFlow - #2791
[ ] auth_totp
[ ] auth_totp_portal
[x] barcodes - By @MiquelRForgeFlow - #2810
[x] base - By @StefanRijnhart - #2482
[x] base_address_city - By @RaulOForgeFlow - #2697
[x] base_address_extended - By @RaulOForgeFlow - #2698
[x] base_automation - By @RaulOForgeFlow / @pedrobaeza - #2670
[ ] (del) base_gengo
[x] base_geolocalize - By @RaulOForgeFlow - #2699
[x] base_iban - By @RaulOForgeFlow - #2700
[x] base_import - By @RaulOForgeFlow - #2701
[x] base_import_module - By @RaulOForgeFlow - #2702
[x] base_setup - By @pedrobaeza - #2755
[x] base_sparse_field - By @RaulOForgeFlow - #2703
[x] base_vat - By @RaulOForgeFlow - #2704
[x] board - By @RaulOForgeFlow / @pedrobaeza - #2684
[x] bus - By @RaulOForgeFlow - #2681
[x] calendar - By @RaulOForgeFlow / @MiquelRForgeFlow / @pedrobaeza - #2695
[ ] calendar_sms
[x] contacts - By @RaulOForgeFlow - #2685
[x] coupon - By @MiquelRForgeFlow - #2861
[x] crm - By @MiquelRForgeFlow / @pedrobaeza - #2828
[x] crm_iap_lead - By @tranngocson1996 - #3051
[ ] crm_iap_lead_enrich
[ ] crm_iap_lead_website
[x] crm_livechat - By @tranngocson1996 #3049
[ ] crm_sms
[x] delivery - By @legalsylvain / @MiquelRForgeFlow - #2998
[x] digest - By @MiquelRForgeFlow - #2804
[x] event - By @MiquelRForgeFlow / @pedrobaeza - #2836
[x] event_crm - By @MiquelRForgeFlow - #2855
[ ] event_crm_sale
[x] event_sale - By @tranngocson1996 - #3062
[ ] event_sms
[x] fetchmail - By @MiquelRForgeFlow - #2806
[x] fetchmail_outlook - By @pedrobaeza - #3731
[x] fleet - By @Chanakya-OSI / @MiquelRForgeFlow / @pedrobaeza - #2859
[ ] (del) fleet_account
[x] gamification - By @MiquelRForgeFlow - #2807
[ ] gamification_sale_crm
[x] google_account - By @pedrobaeza - #3019
[x] google_calendar - By @pedrobaeza - #3022
[x] google_drive - By @pedrobaeza - #3020
[ ] google_recaptcha
[ ] google_spreadsheet
[x] hr - By @Chanakya-OSI / @MiquelRForgeFlow / @pedrobaeza - #2789
[x] hr_attendance - By @pedrobaeza - #3025
[x] hr_contract - By @Murtaza-OSI / @MiquelRForgeFlow / @pedrobaeza - #2996
[x] hr_expense - By @Murtaza-OSI - #2873
[x] (del) hr_expense_check -> hr_expense
[ ] hr_fleet
[ ] hr_gamification
[x] hr_holidays - By @Chanakya-OSI / @MiquelRForgeFlow / @pedrobaeza - #2866
[ ] hr_holidays_attendance - By @tranngocson1996 - #3066
[x] (del) hr_holidays_calendar -> hr_holidays
[x] hr_maintenance - By @MiquelRForgeFlow - #2863
[x] hr_org_chart - By @Chanakya-OSI - #2823
[ ] hr_presence
[x] hr_recruitment - By @Chanakya-OSI / @MiquelRForgeFlow / @pedrobaeza - #2864
[ ] hr_recruitment_survey
[ ] hr_skills
[ ] hr_skills_slides
[ ] hr_skills_survey
[x] hr_timesheet - By @Chanakya-OSI / @MiquelRForgeFlow / @pedrobaeza - #2865
[x] hr_timesheet_attendance - By @pedrobaeza - #3201
[ ] hr_work_entry
[x] http_routing - By @MiquelRForgeFlow - #2802
[ ] hw_drivers
[ ] hw_escpos
[ ] hw_posbox_homepage
[x] (del) hw_proxy -> hw_drivers
[x] iap - By @MiquelRForgeFlow - #2817
[ ] iap_crm
[ ] iap_mail
[ ] im_livechat
[x] im_livechat_mail_bot - By @pedrobaeza - #3660
[ ] (del) im_support
[x] (del) l10n_cn_small_business -> l10n_cn
[x] l10n_be - By @remytms - #4308
[x] l10n_be_invoice_bba - By @remytms - #4307
[x] l10n_es - By @pedrobaeza - #3017
[x] l10n_fr - By @legalsylvain - #3300
[x] l10n_fr_fec - By @legalsylvain - #3328
[x] l10n_ma - By @ernestotejeda - #3798
[x] l10n_multilang - By @pedrobaeza - #3698
[x] l10n_pl - By @zurawsm3 - #3509
[x] l10n_pt - By @pedrobaeza - #3200
[x] link_tracker - By @MiquelRForgeFlow - #2812
[x] lunch - By @MiquelRForgeFlow - #2813
[x] mail - By @RaulOForgeFlow / @pedrobaeza - #2660
[x] mail_bot - By @MiquelRForgeFlow - #2811
[ ] (new) mail_bot_hr
[ ] (new) mail_client_extension
[x] maintenance - By @MiquelRForgeFlow - #2815
[x] mass_mailing - By @MiquelRForgeFlow - #2842
[x] mass_mailing_crm - By @pedrobaeza - #3206
[x] mass_mailing_event - By @tranngocson1996 - #3077
[x] mass_mailing_event_sms - By @tranngocson1996 - #3078
[x] mass_mailing_event_track - By @tranngocson1996 - #3079
[x] mass_mailing_event_track_sms - By @tranngocson1996 - #3080
[x] mass_mailing_sale - By @chienandalu - #3529
[ ] mass_mailing_slides
[ ] mass_mailing_sms
[x] membership - By @MiquelRForgeFlow - #2831
[ ] (new) microsoft_account
[ ] (new) microsoft_calendar
[x] mrp - By @MiquelRForgeFlow / @pedrobaeza - #2853
[x] mrp_account - By @pedrobaeza - #3662
[ ] mrp_landed_costs
[ ] mrp_product_expiry
[ ] mrp_subcontracting
[ ] mrp_subcontracting_account
[ ] mrp_subcontracting_dropshipping
[x] note - By @RaulOForgeFlow / @pedrobaeza - #2682
[x] note_pad - By @MiquelRForgeFlow - #2832
[ ] odoo_referral
[ ] odoo_referral_portal
[x] pad - By @MiquelRForgeFlow - #2816
[x] pad_project - By @MiquelRForgeFlow - #2838
[x] partner_autocomplete - By @Chanakya-OSI - #2822
[x] (del) partner_autocomplete_address_extended -> base_address_extended
[x] payment - By @RaulOForgeFlow - #2742
[ ] payment_adyen
[ ] payment_alipay
[ ] payment_authorize
[ ] payment_buckaroo
[ ] (new) payment_fix_register_token
[ ] payment_ingenico
[ ] (new) payment_odoo_by_adyen
[x] payment_paypal - By @pedrobaeza - #3548
[ ] payment_payulatam
[ ] payment_payumoney
[ ] payment_sips
[x] payment_stripe - By @pedrobaeza - #3550
[ ] payment_test
[x] payment_transfer - By @pedrobaeza - #3024
[x] phone_validation - By @MiquelRForgeFlow - #2809
[x] point_of_sale - By @MiquelRForgeFlow - #3499
[x] portal - By @MiquelRForgeFlow - #2803
[ ] portal_rating
[ ] pos_adyen
[ ] pos_cache
[x] (del) pos_cash_rounding -> point_of_sale
[ ] pos_discount
[ ] pos_epson_printer
[ ] pos_epson_printer_restaurant
[ ] pos_hr
[x] (del) pos_kitchen_printer -> pos_restaurant
[ ] pos_mercury
[x] (del) pos_reprint -> point_of_sale
[x] pos_restaurant - By @legalsylvain - #3326
[ ] (new) pos_restaurant_adyen
[x] pos_sale - By @Murtaza-OSI - #2882
[ ] pos_six
[x] procurement_jit - By @pedrobaeza - #3023
[x] product - By @RaulOForgeFlow / @pedrobaeza - #2710
[ ] product_email_template
[ ] product_expiry
[ ] product_margin
[ ] product_matrix
[x] project - By @MiquelRForgeFlow / @pedrobaeza - #2826
[ ] project_timesheet_holidays
[x] purchase - By @MiquelRForgeFlow - #2844
[x] purchase_mrp - By @Murtaza-OSI - #2876
[ ] purchase_product_matrix
[x] purchase_requisition - By @Murtaza-OSI - #2875
[x] purchase_requisition_stock - By @pedrobaeza - #3733
[x] purchase_stock - By @Murtaza-OSI - #2874
[x] rating - By @RaulOForgeFlow / @pedrobaeza - #2692
[x] repair - By @Chanakya-OSI / @MiquelRForgeFlow - #2997
[x] resource - By @RaulOForgeFlow / @pedrobaeza - #2687
[x] sale - By @MiquelRForgeFlow / @pedrobaeza - #2843
[x] sale_coupon - By @MiquelRForgeFlow - #2861
[x] sale_coupon_delivery - By @pedrobaeza - #3757
[x] sale_crm - By @Murtaza-OSI - #2877
[x] sale_expense - By @pedrobaeza - #3203
[x] sale_management - By @MiquelRForgeFlow - #2845
[x] sale_margin - By @hieu1211 - #3096
[x] sale_mrp - By @pedrobaeza - #3202
[x] sale_product_configurator - By @pedrobaeza - #3659
[ ] sale_product_matrix
[ ] sale_project
[ ] sale_purchase
[ ] sale_purchase_stock
[x] sale_quotation_builder - By @ernestotejeda - #3793
[ ] (del) sale_sms
[x] sale_stock - By @MiquelRForgeFlow - #2862
[ ] sale_stock_margin
[x] sale_timesheet - By @Murtaza-OSI / @MiquelRForgeFlow / @pedrobaeza - #2993
[ ] sale_timesheet_purchase
[x] sales_team - By @MiquelRForgeFlow - #2794
[ ] sms
[ ] snailmail
[ ] snailmail_account
[x] social_media - By @RaulOForgeFlow - #2688
[x] stock - By @MiquelRForgeFlow / @pedrobaeza - #2788
[x] stock_account - By @MiquelRForgeFlow - #2841
[x] stock_dropshipping - By @pedrobaeza - #3204
[ ] stock_landed_costs
[x] stock_picking_batch - By @pedrobaeza - #3749
[x] stock_sms - By @tranngocson1996 - #3093
[ ] survey
[ ] test_base_automation
[ ] test_event_full
[ ] test_mail
[ ] test_mail_full
[ ] test_mass_mailing
[ ] test_website
[ ] test_website_slides_full
[ ] test_xlsx_export
[ ] (del) theme_bootswatch
[x] (del) theme_default - By @pedrobaeza - #3552
[ ] transifex
[x] uom - By @RaulOForgeFlow / @pedrobaeza - #2666
[x] utm - By @RaulOForgeFlow / @pedrobaeza - #2668
[x] web - By @RaulOForgeFlow - #2673
[ ] (del) web_diagram
[x] web_editor - By @RaulOForgeFlow - #2674
[x] web_kanban_gauge - By @pedrobaeza - #2808
[ ] (del) web_settings_dashboard
[x] web_tour - By @RaulOForgeFlow - #2680
[x] web_unsplash - By @pedrobaeza - #3205
[x] website - By @MiquelRForgeFlow - #2840
[x] website_blog By @tranngocson1996 #3092
[x] website_crm By @MiquelRForgeFlow https://github.com/OCA/OpenUpgrade/pull/3291
[ ] website_crm_livechat
[ ] website_crm_partner_assign
[ ] website_crm_sms
[ ] website_customer
[ ] website_event
[ ] (new) website_event_crm
[ ] website_event_crm_questions
[ ] website_event_meet
[ ] website_event_meet_quiz
[ ] (del) website_event_online
[ ] website_event_questions
[ ] website_event_sale
[ ] website_event_track
[ ] website_event_track_exhibitor
[ ] website_event_track_live
[ ] website_event_track_live_quiz
[ ] (del) website_event_track_online
[ ] website_event_track_quiz
[ ] (del) website_event_track_session
[x] website_form - By @MiquelRForgeFlow - #3207
[x] website_form_project - By @pedrobaeza - #3553
[ ] website_forum
[ ] (del) website_gengo
[x] website_google_map By @MiquelRForgeFlow https://github.com/OCA/OpenUpgrade/pull/3209
[x] website_hr_recruitment By @tranngocson1996 https://github.com/OCA/OpenUpgrade/pull/3091
[ ] website_jitsi
[ ] website_links
[ ] website_livechat By @tranngocson1996 https://github.com/OCA/OpenUpgrade/pull/3090
[x] website_mail By @tranngocson1996 https://github.com/OCA/OpenUpgrade/pull/3102
[ ] website_mail_channel
[ ] website_mass_mailing
[ ] website_membership
[x] website_partner By @JordiBForgeFlow https://github.com/OCA/OpenUpgrade/pull/2930
[ ] website_payment
[x] website_profile - By @MiquelRForgeFlow - #3208
[ ] (del) website_rating
[x] website_sale By @MiquelRForgeFlow https://github.com/OCA/OpenUpgrade/pull/2994
[x] website_sale_comparison - By @chienandalu - #3530
[x] website_sale_coupon - By @pedrobaeza - #3756
[ ] website_sale_coupon_delivery
[x] website_sale_delivery - By @sergio-teruel - #3646
[ ] website_sale_digital
[x] website_sale_management - By @chienandalu - #3528
[ ] website_sale_product_configurator - By @pedrobaeza - #3663
[ ] website_sale_slides
[x] website_sale_stock https://github.com/OCA/OpenUpgrade/pull/2910
[x] website_sale_stock_product_configurator - By @pedrobaeza - #3664
[ ] website_sale_wishlist
[ ] website_slides
[ ] website_slides_forum
[ ] website_slides_survey
[ ] website_sms
[x] (del) website_theme_install -> website
[x] website_twitter - By @pedrobaeza - #3549
modules (additions):
account_facturx
): https://github.com/odoo/odoo/commit/913f22f73f208b0fa8ca947cf410e32c65adfc93sale_coupon
): https://github.com/odoo/odoo/commit/afad149eb8a542b39e9508a458d7aeb43aeb60edwebsite_rating
): https://github.com/odoo/odoo/commit/9e0677882d64ac2be92cd1ea147ce823e2d9f69bbase_automation
): https://github.com/odoo/odoo/commit/1266cc7bbf99f79c33f5ffe5a4419d0f1731f431modules (deletions):
account
): https://github.com/odoo/odoo/commit/26175ea7a123e2218951873f925bcd9ce00b05c7hr_expense
): https://github.com/odoo/odoo/commit/26175ea7a123e2218951873f925bcd9ce00b05c7purchase
): https://github.com/odoo/odoo/commit/26175ea7a123e2218951873f925bcd9ce00b05c7account_edi_facturx
): https://github.com/odoo/odoo/commit/913f22f73f208b0fa8ca947cf410e32c65adfc93hr_expense
): https://github.com/odoo/odoo/commit/b25e53a0b9f950b8f9367c1bf304753c87ee2a63hr_holidays
): https://github.com/odoo/odoo/commit/b8a8ad27de40e856d713b0d57c1f8f591e1e4523hw_drivers
): https://github.com/odoo/odoo/commit/841c016913a87133bf7257c62ae5f6bf7d99e06dl10n_cn
): https://github.com/odoo/odoo/commit/990f1cb5f909cd26e470b4070ab1dbfec272a4dcbase_address_extended
): https://github.com/odoo/odoo/commit/ef82574418a6d957b12efe61ab594afe29428ff2point_of_sale
): https://github.com/odoo/odoo/commit/42425996e36d9cb1fc1391402cf6d00df4aea019pos_restaurant
): https://github.com/odoo/odoo/commit/99615ff6cc0559f6661001e5493876f2d5b69248point_of_sale
): https://github.com/odoo/odoo/commit/b2f8170d88239b5eaf04f1e3c0dcef613b78fedcportal_rating
): https://github.com/odoo/odoo/commit/9e0677882d64ac2be92cd1ea147ce823e2d9f69bwebsite
): https://github.com/odoo/odoo/commit/88e910e187346c095a6f0eeb8be647da1e391035Other interesting things: ...