We have some issues with Checkboxes in those scenarios.
A) Checkboxes assigned to a Post Type which is used in a Many To Many Legacy (Created with old Types) Relationship, are not editable on versions 2.3, 2.3.1 and 3.0(not migrated).
This means, step by step:
1. Install Toolset 2.3, or 2.3.1
2. Create a M2M relationship with an IPO (Legacy relationship)
(Students, Classes, Student-Classes)
3. Create a Custom Checkboxes Field with a few options and assign this Field group to the Students post type
4. Create a few students, classes, and then connect a few of those with an IPO
5. Once done, try to edit the Checkboxes Field in a student post, and save it.
==> It will always save nothing (nothing checked)
==> You can update to 3.0 and the issue persist
==> If you MIGRATE then the issue is gone
B) When you edit the Fields of a related post thru the Quick Edit GUI of related posts, and try to save those fields as "unchecked, unset, not selected", then it will instead save them as checked.
Step by Step:
1. Create new M2M Relationship between 2 Post Types of your choice, and add a Checkbox Field and a Checkboxes Field (all with options) to the IPO
2. After completing the wizard with default settings (I chose to show the intermediate post in the menu), create a new post in one end of the relationship
3. After saving the post start adding new related posts, and set all the possible options of your fields as checked/set
4. Save everything and now quick edit the related posts, and set all the possible options of your fields as unchecked/not set
After saving, you will see that still all options of those fields are still checked
C) Some users use/d to save entire HTML links or other markup as Field Values.
This mostly worked with Toolset Legacy (pre-3.0)
Toolset 3.0 introduced an issue where those values are now escaped in the HTML on the front end.
Step by Step (this is a long one)
Start with Toolset Legacy.
1. Create a Field of each type as listed:
Select
Radio
Checkboxes
Checkbox (2 of them)
Single Line
3. Populate each of those fields (where possible) with values for their options. Use this dummy values:
<a href="<em><u>hidden link</u></em>">Text with characters like #ç$£&% etc.</a>
, or
<a href="/labels/concord-jazz/"> <img src="/wp-content/uploads/2017/12/Concord-Jazz-600.png" width="100"> </a>
, or even simply
4. Head to any post and save for each field that option, for the single line, just save the same value as well.
5. Insert each field to the Post Body with the Types ShortCodes, using raw output:
Radio: [types field='radio' output='raw'][/types]
Select: [types field='select-field' output='raw'][/types]
Checkbox: [types field='checkbox' output='raw'][/types]
Checkbox No problem: [types field='no-problem-box' output='raw'][/types]
Checkboxes: [types field='checkboxes' output='raw'][/types]
Single: [types field='single' output='raw'][/types]
Note that unless the Checkbox and Checkboxes field, all fields saved their value, and display it fine on the front end
6. Update to Toolset 3.0
Note that now it seems we escape the " with \ in the HTML source.
Note that I did not see any other problematic characters but the double and single apostrophe, but there may be more, and for example, the < > values are completely stripped in 3.0, not shown anymore, while they show on Types Legacy (front end).
Now, I am pretty sure all 3 issues apply to your install, especially the last one, since those options hold those stripped characters.
But, the issue you report is once more another.
I replicated it with these steps:
1. Create a Checkboxes Field, add 2 Options
2. To the First option, add the "Show one of these two values:" (Not selected:, Selected:). I used simple strings:
Selected/Not selected
3. Add a Post and save both options of the checkboxes field as checked, insert the ShortCode for this field as natively suggested by the GUI:
[types field='toolset-checkboxes' separator=', '][/types]
4. See the front end, it'll display your custom selected value
5. Uncheck the first option of this Checkboxes Field (the one you have custom values for selected/not selected) and see that the front end does NOT display our not-selected text.
This seems once more a new bug, it's not entirely related to the old closed one, but as well not to the new bugs listed above.
I reported it and our developers will work on this ASAP.
I found no valid workaround for the issue.