ChirpNextBuild » History » Version 26
Dan Smith, 12/28/2022 11:48 PM
1 | 1 | Dan Smith | # About CHIRP-next |
---|---|---|---|
2 | |||
3 | 4 | Dan Smith | {{>toc}} |
4 | |||
5 | 8 | Dan Smith | The CHIRP project is working on a major project to re-write some of the core components necessary for longevity in the years to come. |
6 | |||
7 | 1 | Dan Smith | This page explains the chirp-next build, why it is necessary, what to expect, and how you can help. |
8 | |||
9 | 24 | Dan Smith | **[Download the latest CHIRP-next build here](https://trac.chirp.danplanet.com/download?stream=next)** |
10 | |||
11 | 1 | Dan Smith | ## Why is this necessary? |
12 | |||
13 | When CHIRP started in 2008, it was based on two core pieces of modern-at-the-time software, Python 2.x (the language) and PyGTK (the GUI toolkit). Since then, the Python development team defined Python 3.0, which is an evolution of the language, but with many incompatible changes, specifically in the areas that affect CHIRP. Further, the developers of PyGTK decided to mothball the project and **not ever** move to support Python 3. This left CHIRP in a tough spot, as moving to Python 3 not only required significant changes to almost every radio driver (of which there are about 350) *and* basically a complete re-write of the GUI at the same time. There are various shims and hacks for temporary compatibility that we could have (and in some cases, did) explore, but the end result was the same: something had to change. |
||
14 | |||
15 | Mac and Linux users are likely painfully aware of the increasing difficulty in running CHIRP that has been creeping up for the last few years. Python 2.7 was officially End-of-Lifed in 2020, and many Linux distros dropped support around then. Apple held on a little longer, but has removed Python 2.7 from MacOS now. Windows' users have been largely unaffected directly by the deprecation issue, but developers have an increasingly shrinking set of platforms they can use to continue CHIRP development. |
||
16 | 2 | Dan Smith | |
17 | ## How you can help |
||
18 | |||
19 | Perhaps the biggest hurdle to this transition has been the radio drivers. CHIRP supports hundreds of unique radio models, and in many cases, those were developed with borrowed radios, or radios that a developer owned at the time, but no longer has. Rewriting those drivers and testing them with real hardware is an enormous task for an all-volunteer project like this. To get to where we are today, we had to find and test as many real radios as possible. Developers borrowed, bought on eBay (yes, really), and dug out of the woodwork as many as possible, but there is (and likely will be) a long tail of models that we're looking for. |
||
20 | 3 | Dan Smith | |
21 | 23 | Dan Smith | For the most up-to-date status, check the **[CHIRP-next Test Matrix](https://github.com/kk7ds/chirp/blob/py3/tests/Python3_Driver_Testing.md)** |
22 | |||
23 | 17 | Dan Smith | Re-writing the GUI also brings many challenges, as this is largely maintained by one person. A re-write gives us an opportunity simplify, eliminate complex features that are rarely used, and also make CHIRP behave a little better on each of the platforms. Instead of being "A Linux program that runs on Windows," we have also used this opportunity to try to make it feel more like a native app on each of the platforms we support. See [[ChirpNextBuildChanges]] for details on some of the larger GUI changes. |
24 | 3 | Dan Smith | |
25 | We now need to engage the larger community of users, power-users, and enthusiasts to try to close the gap on radio testing, GUI testing, etc. |
||
26 | |||
27 | 5 | Dan Smith | ### 1. Test obscure radio models |
28 | 3 | Dan Smith | |
29 | If you have one of the radios on the list of un-tested models, please consider giving it a try and filing a bug. Even if it works fine, please let us know so we can mark it down. If it doesn't, it would be great if you would be willing to test some changes to help us get it fixed. If it's an older radio, consider donating it to a developer (this is the most helpful thing you can do). |
||
30 | |||
31 | 21 | Dan Smith | #### If you find that a radio works |
32 | |||
33 | If you find that a radio works but is not marked on the test matrix as tested by an actual person, please submit a *CHIRP-next report* issue and tell us about it. If the radio does not work (or almost works) please submit a bug per below. |
||
34 | |||
35 | 22 | Dan Smith | #### If you find that a radio has problems |
36 | 21 | Dan Smith | |
37 | 5 | Dan Smith | **When filing a bug, please consider:** |
38 | 1 | Dan Smith | |
39 | 6 | Dan Smith | 1. Please search or consult the [list of bugs](https://chirp.danplanet.com/projects/chirp/issues?utf8=%E2%9C%93&set_filter=1&sort=id%3Adesc&f%5B%5D=status_id&op%5Bstatus_id%5D=*&f%5B%5D=tracker_id&op%5Btracker_id%5D=%3D&v%5Btracker_id%5D%5B%5D=1&f%5B%5D=cf_1&op%5Bcf_1%5D=%3D&v%5Bcf_1%5D%5B%5D=next+%28py3%29&f%5B%5D=&c%5B%5D=tracker&c%5B%5D=status&c%5B%5D=priority&c%5B%5D=subject&c%5B%5D=updated_on&group_by=status&t%5B%5D=) to see if your issue is already reported |
40 | 5 | Dan Smith | 1. Be sure to choose "next" in the Chirp Version field so we know this is related to the new build |
41 | 1. Make sure to tell us which radio you're reporting. Both in the subject of the bug, but also in the "Model Affected" box |
||
42 | 1. Make sure to update the "Platform" field so we know which system you are using |
||
43 | 1. If you are able to download and save an image of the radio, please attach it |
||
44 | 1. If the problem occurs while changing memories or settings, please include *detailed* steps to reproduce it. |
||
45 | 14 | Dan Smith | 1. Perhaps the **most important** thing is to include your `debug.log`. Use *Help > Show debug log location* |
46 | 5 | Dan Smith | |
47 | ### 2. Further test well-supported models |
||
48 | |||
49 | 1 | Dan Smith | We attempted to "smoke test" converted drivers for the new platform, but it's possible that bugs still lurk in strange configurations. Even if you only have radios that have already been tested, we welcome more comprehensive tests. **Note:** if you find a bug, it would be helpful if you can test the same issue on the legacy build and include in your bug report whether or not it's broken there, or only in the new build. |
50 | |||
51 | 19 | Dan Smith | #### If you find that a radio works |
52 | 18 | Dan Smith | If you find that a radio works but is not marked on the test matrix as tested by an actual person, please submit a *CHIRP-next report* issue and tell us about it. If the radio does not work (or almost works) please submit a bug per below. |
53 | |||
54 | 20 | Dan Smith | #### If you find that a radio has problems |
55 | 5 | Dan Smith | **When filing a bug, please consider:** |
56 | |||
57 | 7 | Dan Smith | 1. Please search or consult the [list of bugs](https://chirp.danplanet.com/projects/chirp/issues?utf8=%E2%9C%93&set_filter=1&sort=id%3Adesc&f%5B%5D=status_id&op%5Bstatus_id%5D=*&f%5B%5D=tracker_id&op%5Btracker_id%5D=%3D&v%5Btracker_id%5D%5B%5D=1&f%5B%5D=cf_1&op%5Bcf_1%5D=%3D&v%5Bcf_1%5D%5B%5D=next+%28py3%29&f%5B%5D=&c%5B%5D=tracker&c%5B%5D=status&c%5B%5D=priority&c%5B%5D=subject&c%5B%5D=updated_on&group_by=status&t%5B%5D=) to see if your issue is already reported |
58 | 5 | Dan Smith | 1. Be sure to choose "next" in the Chirp Version field so we know this is related to the new build |
59 | 1. Make sure to tell us which radio you're reporting. Both in the subject of the bug, but also in the "Model Affected" box |
||
60 | 1. Make sure to update the "Platform" field so we know which system you are using |
||
61 | 1. If you are able to download and save an image of the radio, please attach it |
||
62 | 1. If the problem occurs while changing memories or settings, please include *detailed* steps to reproduce it. |
||
63 | 14 | Dan Smith | 1. Perhaps the **most important** thing is to include your `debug.log`. Use *Help > Show debug log location* |
64 | 5 | Dan Smith | |
65 | ### 3. Poke around with the new GUI |
||
66 | 1 | Dan Smith | |
67 | 7 | Dan Smith | The GUI is all new from scratch, so it is likely to have bugs. If you find something, please report it. If there is some feature you consider to be missing from the new GUI that was present in the old one, we want to hear that too. Please understand that we will probably have to prioritize bugs over features for some time to come, but your feedback is still valuable. **Please check the [list of requested features](https://chirp.danplanet.com/projects/chirp/issues?utf8=%E2%9C%93&set_filter=1&sort=id%3Adesc&f%5B%5D=status_id&op%5Bstatus_id%5D=*&f%5B%5D=tracker_id&op%5Btracker_id%5D=%3D&v%5Btracker_id%5D%5B%5D=2&f%5B%5D=cf_1&op%5Bcf_1%5D=%3D&v%5Bcf_1%5D%5B%5D=next+%28py3%29&f%5B%5D=&c%5B%5D=tracker&c%5B%5D=status&c%5B%5D=priority&c%5B%5D=subject&c%5B%5D=updated_on&group_by=status&t%5B%5D=) before reporting one.** |
68 | |||
69 | 25 | Dan Smith | Be sure to look at [[ChirpNextBuildChanges]] to get an idea of what has changed. |
70 | |||
71 | 11 | Dan Smith | Things that appear to be GUI bugs can often be specific to a radio driver, so please try to follow the same **instructions** for GUI bugs as well: |
72 | 7 | Dan Smith | |
73 | 1. Please search or consult the [list of bugs](https://chirp.danplanet.com/projects/chirp/issues?utf8=%E2%9C%93&set_filter=1&sort=id%3Adesc&f%5B%5D=status_id&op%5Bstatus_id%5D=*&f%5B%5D=tracker_id&op%5Btracker_id%5D=%3D&v%5Btracker_id%5D%5B%5D=1&f%5B%5D=cf_1&op%5Bcf_1%5D=%3D&v%5Bcf_1%5D%5B%5D=next+%28py3%29&f%5B%5D=&c%5B%5D=tracker&c%5B%5D=status&c%5B%5D=priority&c%5B%5D=subject&c%5B%5D=updated_on&group_by=status&t%5B%5D=) to see if your issue is already reported |
||
74 | 1. Be sure to choose "next" in the Chirp Version field so we know this is related to the new build |
||
75 | 1. Make sure to tell us which radio you're reporting. Both in the subject of the bug, but also in the "Model Affected" box |
||
76 | 1. Make sure to update the "Platform" field so we know which system you are using |
||
77 | 1. If you are able to download and save an image of the radio, please attach it |
||
78 | 1. If the problem occurs while changing memories or settings, please include *detailed* steps to reproduce it. |
||
79 | 14 | Dan Smith | 1. Perhaps the **most important** thing is to include your `debug.log`. Use *Help > Show debug log location* |
80 | 8 | Dan Smith | |
81 | 10 | Dan Smith | ### 4. Donate money or radios |
82 | 9 | Dan Smith | |
83 | 16 | Dan Smith | One of the hardest things of this process has been re-surveying all the supported models to make sure we get their drivers fixed for the new platform. A few of us have a large collection of radios with which to test, and even still, it's a fraction of what is needed. Some of us trawl eBay and other forums looking for older models (sometimes with damage) we can purchase to close a gap, but that's not really sustainable for a volunteer-run project. Donating money (links on the [[Download]] page) to help with these activities, or even better, an old radio that you no longer use, but could help us close a gap for someone that still does is very helpful. |
84 | 9 | Dan Smith | |
85 | 8 | Dan Smith | ## What to expect for the future |
86 | |||
87 | 15 | Dan Smith | In 2023, the legacy builds of CHIRP will be frozen for development. This means only some bug fixes will be backported and no new features will be added. At some point the current builds (called "chirp-daily") will be renamed to "chirp-legacy" and it will stop being released. |
88 | |||
89 | What is now "chirp-next" is what we want all users to be running as soon as possible, and is what will receive almost all of the development effort going forward. |
||
90 | 13 | Dan Smith | |
91 | ### What if my radio does not work in CHIRP-next yet? |
||
92 | |||
93 | Please file a bug, attach a `debug.log`, and a radio image if possible. For the time being, you can still use the old legacy build for radios that aren't supported properly in the newer builds. If you're on Windows, consider installing the new version with the installer, and keeping a standalone (the `.zip` download) of the legacy build around for radios that need it. Mac users can keep both copies of the `.app` around in a similar way, just rename one of them to make it easier to tell them apart. |
||
94 | 26 | Dan Smith | |
95 | ## What are the system requirements for CHIRP-next? |
||
96 | |||
97 | * Windows 10 and later |
||
98 | * macOS 11 (Big Sur) and later (Intel and Apple Silicon) |
||
99 | * Linux (most any recent version with python 3.8 or later) |
||
100 | |||
101 | The decision to require Windows 10 may be a contentious one. However, Windows 7 has been EOL and unsupported by Microsoft since 2020. Windows 8 goes EOL in January 2023. Windows 10 is supported until at least 2025. Because CHIRP was stuck on unsupported libraries and prevented us from being able to just upgrade the code, we need to be forward-looking with what we support. Since Windows 10 will run on anything that would run on Windows 7, and is a free upgrade for most people, the decision to require Windows 10 or later is clearly the right choice. |