Change:
* extensions/v1beta1.Jobs is deprecated, use batch/v1.Job instead ([[#36355](https://github.com/kubernetes/kubernetes/pull/36355)](https://github.com/kubernetes/kubernetes/pull/36355), [[@soltysh](https://github.com/soltysh)](https://github.com/soltysh)) * The kubelet --reconcile-cdir flag is deprecated because it has no function anymore. ([[#35523](https://github.com/kubernetes/kubernetes/pull/35523)](https://github.com/kubernetes/kubernetes/pull/35523), [[@luxas](https://github.com/luxas)](https://github.com/luxas)) * Notice of deprecation for recycler [[#36760](https://github.com/kubernetes/kubernetes/pull/36760)](https://github.com/kubernetes/kubernetes/pull/36760) <ins> * The init-container (pod.beta.kubernetes.io/init-containers) annotations used to accept capitalized field names that could be accidently generated by the k8s.io/kubernetes/pkg/api package. Using an upper case field name will now return an error and all users should use the versioned API types from `pkg/api/v1` when serializing from Golang. </ins> ## Action Required Before Upgrading

Discussion:
What? The following pod yaml works on 1.4 cluster: However, creating it against 1.5.1 or master branch gives the following error:
cc
Your annotations are wrong - you're using upper case field names instead of lower case field names - i.e. "Env" is not correct, but "env" is.
If you serialized that from a go object, it means you are using the internal type (pkg/api) instead of the versioned type (pkg/api/v1), which was always subtly broken. We removed the JSON fields to prevent accidents like this.
Since this used to work and no longer does can we add it to the ? I guess the entry would say:
Yeah - I'm curious as to how it worked before, because we invoked a versioned decode from external (or should have) and either way only one deserialization should have been possible (lower or upper, but not both).
Can we reopen this? Still doesn't work. yaml: On 1.5: Successful on 1.4
So it seems that it also accidentally accepts empty apiVersion in 1.4?
There is some kind of defaulting mechanism, I believe. For example, when you create a pod, you don't specify "apiVersion".
Downward api should be defaulted during a defaulting pass. There's an existing bug on that. For 1.5 you have to fill in the defaults yourself
Thanks for answering. Is there any issue created against it? We can help fix the issue if needed.
Was reported in and fixed in the linked PRs. , Hongchao Deng <:
I actually tried the latest master today and no luck. The issue only tested imagePullPolicy. That might be not enough.
It's possible that something else is interfering with defaulting. Please report that on the other issue
You mean create an new issue?
I believe that means comment on the closed issue: , correct?
/sig api-machinery
Issues go stale after 90d of inactivity. Mark the issue as fresh with . Stale issues rot after an additional 30d of inactivity and eventually close. Prevent issues from auto-closing with an comment. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or .

/lifecycle stale
Stale issues rot after 30d of inactivity. Mark the issue as fresh with . Rotten issues close after an additional 30d of inactivity. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle rotten /remove-lifecycle stale
Rotten issues close after 30d of inactivity. Reopen the issue with . Mark the issue as fresh with . Send feedback to sig-testing, kubernetes/test-infra and/or . /close