How to find language changes that were not included in the official change log

New functions conveniently carry the "NEW in 10.4" header in their documentation page. Since the docs are blessedly written as Mathematica notebooks, and notebook are text files, we can just use grep or a similar tool to hunt for those help files that contain that header.

New in 10.4

Inspection of one such file with a text editor reveals that the raw cell code generating the header contains the fragment:

StyleBox["\<\"NEW IN 10.4\"\>",

Using a grep clone (AstroGrep on Win7-64) only on the Symbols folder of the documentation, which is located in $InstallationDirectory <> "\\Documentation\\English\\System\\ReferencePages\\Symbols" on my system, returns the following list:

$CloudExpressionBase             GreenFunction
    $SourceLink                  Highlighted
ArrayMesh                        ImageMarker
Ask                              KeyValuePattern
AskAppend                        LocalObjects
AskConfirm                       MersennePrimeExponent
AskDisplay                       MersennePrimeExponentQ
AskedQ                           MixedMagnitude
AskedValue                       MixedUnit
AskFunction                      MomentOfInertia
AskTemplateDisplay               PartProtection
BiquadraticFilterModel           PerfectNumber
BoundingRegion                   PerfectNumberQ
CloudExpression                  PlanarGraph
CloudExpressions                 PlotLabels
ClusterClassify                  PolygonalNumber
ClusterDissimilarityFunction     QuantityDistribution
ClusteringTree                   RegionMoment
ConnectedGraphComponents         SourceLink
CreateCloudExpression            SpellingCorrectionList
CreateFile                       Subsequences
CriterionFunction                TravelDistanceList
DeleteCloudExpression            UnequalTo
Dendrogram                       UniverseModelData
DictionaryWordQ                  URLDispatcher
DifferenceQuotient               WeaklyConnectedGraphComponents
DynamicGeoGraphics               WeatherForecastData
DynamicImage                     WordFrequency
FindTransientRepeat              WordFrequencyData
GeoDistanceList                  ZoomCenter
GeoLength                        ZoomFactor

Notice that this includes the PlotLabels option that you mentioned as well.

Updated in 10.4

Similarly, the documentation carries a footer containing information on a function's date of introduction and latest update. For instance, the following fragment can be found in the documentation for ListPlot:

Cell[TextData[{
 "Introduced in 2007",
 Cell[" (6.0)", "HistoryVersion"],
 " | ",
 "Updated in 2016",
 Cell[" (10.4)", "HistoryVersion"]
}], "History"],

Looking for files that contain "Updated in 2016" and also "Cell[" (10.4)", "HistoryVersion"]" returns the following sizable list:

ArcLength                      HypoexponentialDistribution      PalindromeQ
ArcSinDistribution             Image3DSlices                    ParameterMixtureDistribution
Area                           ImageDistance                    ParetoDistribution
Association                    ImageEffect                      PascalDistribution
BatesDistribution              InverseChiSquareDistribution     PearsonDistribution
BeckmannDistribution           InverseGammaDistribution         PERTDistribution
BeniniDistribution             InverseGaussianDistribution      PlaneCurveData
BenktanderGibratDistribution   JohnsonDistribution              Plot
BenktanderWeibullDistribution  KDistribution                    PoissonConsulDistribution
BernoulliDistribution          KernelMixtureDistribution        PolyaAeppliDistribution
BetaDistribution               KumaraswamyDistribution          PowerDistribution
BetaPrimeDistribution          LaminaData                       Probability
BinomialDistribution           LandauDistribution               ProductDistribution
BinormalDistribution           LaplaceDistribution              RayleighDistribution
BirnbaumSaundersDistribution   LevyDistribution                 RegionMeasure
CauchyDistribution             LindleyDistribution              RiceDistribution
CensoredDistribution           ListLinePlot                     SechDistribution
ChiDistribution                ListLogLinearPlot                ShiftedGompertzDistribution
ChiSquareDistribution          ListLogLogPlot                   SinghMaddalaDistribution
CopulaDistribution             ListLogPlot                      SkewNormalDistribution
CoxianDistribution             ListPlot                         SmoothKernelDistribution
DagumDistribution              ListStepPlot                     SolidData
DataDistribution               LocalAdaptiveBinarize            SpaceCurveData
DateListLogPlot                LogGammaDistribution             SplicedDistribution
DateListPlot                   LogisticDistribution             StableDistribution
DateListStepPlot               LogLinearPlot                    StringFreeQ
DavisDistribution              LogLogisticDistribution          StringMatchQ
DirichletDistribution          LogLogPlot                       StringPartition
Downsample                     LogNormalDistribution            StringPosition
EmpiricalDistribution          LogPlot                          StringReplace
ErlangDistribution             MarchenkoPasturDistribution      StringReplacePart
Expectation                    MarginalDistribution             StudentTDistribution
ExpGammaDistribution           MaxStableDistribution            SurfaceData
ExponentialDistribution        MaxwellDistribution              SuzukiDistribution
ExponentialPowerDistribution   MeixnerDistribution              TransformedDistribution
ExtremeValueDistribution       MinStableDistribution            TriangularDistribution
FareySequence                  MixtureDistribution              TruncatedDistribution
FisherZDistribution            MortalityData                    TsallisQExponentialDistribution
FRatioDistribution             MoyalDistribution                TsallisQGaussianDistribution
FrechetDistribution            MultinomialDistribution          TukeyLambdaDistribution
GammaDistribution              MultinormalDistribution          UniformDistribution
GeometricDistribution          MultivariateTDistribution        UniformSumDistribution
GompertzMakehamDistribution    NakagamiDistribution             Upsample
Graph                          NegativeBinomialDistribution     VarianceGammaDistribution
GumbelDistribution             NegativeMultinomialDistribution  VoigtDistribution
HalfNormalDistribution         NoncentralBetaDistribution       Volume
HighlightImage                 NoncentralChiSquareDistribution  VonMisesDistribution
HistogramDistribution          NoncentralFRatioDistribution     WakebyDistribution
HotellingTSquareDistribution   NoncentralStudentTDistribution   WeibullDistribution
HoytDistribution               NormalDistribution               WignerSemicircleDistribution
HyperbolicDistribution         Nothing
HyperexponentialDistribution   OrderDistribution

Experimental in 10.4

Similarly, one can go hunt for functions marked "experimental" since these carry the "[[EXPERIMENTAL]]" indication in the header of their help file. This is slighlty more complicated because it turns out that the [[EXPERIMENTAL]] header is actually a graphics expression, rather than formatted text. Again, inspection of the notebook help file for one such function hinted at the following code snippet as a pretty reliable indicator of the presence of this header in a text search:

{Thickness[0.006944444444444444], FaceForm[{RGBColor[0.5, 0.5, 0.5],

Again using grep allowed me to identify the following list of currently experimental functions:

$SourceLink                    DimensionReduction
Ask                            DynamicGeoGraphics
AskAppend                      DynamicImage
AskConfirm                     FindFormula
AskDisplay                     FoldPair
AskedQ                         FoldPairList
AskedValue                     LocalObject
AskFunction                    LocalObjects
AskTemplateDisplay             PartProtection
Autocomplete                   SearchIndexObject
AutocompletionFunction         SearchIndices
CachePersistence               SourceLink
CloudExpression                TextCases
CloudExpressions               TextElement
ClusterClassify                TextPosition
Containing                     TextSearch
ContentObject                  TextSearchReport
CreateCloudExpression          TextStructure
CreateSearchIndex              UpdateSearchIndex
DeleteCloudExpression          WordTranslation
DeleteSearchIndex              ZoomCenter
DimensionReduce                ZoomFactor
DimensionReducerFunction       

To address the suggestion to use the experimental TextSearch, here is my understanding of the best method to do so. I first attempted to run a text search for "\"NEW in 10.4\"" on all files in the "Symbols" directory mentioned above:

TextSearch[FileNames[All, {pathToSymbolsDir}], "\"NEW in 10.4\""];

This ran for close to 10 min before returning a result. Pretty much a non-starter.

Then again, this is probably not the way TextSearch was intended to be used; it should really be used with a pre-generated SearchIndexObject. So I generated a search index from those files once and for all, then ran TextSearch using the index. Once the index is generated, which was still quite time consuming, the search itself worked a lot better:

index = CreateSearchIndex[pathToSymbolsDir]; // AbsoluteTiming
(*Out: {1084.54, Null} *)

It took 18 minutes to generate the index on a reasonably powerful SSD-equipped laptop. Each search after that was quite quick and led to the same result as grep:

#["FileName"] & /@ TextSearch[index, "\"NEW in 10.4\""]

{"$SourceLink.nb", "MixedMagnitude.nb", "ZoomCenter.nb", "DynamicGeoGraphics.nb", 
 "AskedQ.nb", "PerfectNumberQ.nb", [...], "DifferenceQuotient.nb", "ClusterClassify.nb",
 "GreenFunction.nb", "PlanarGraph.nb"}

Remember that WolframLanguageSymbol entities always return the state of latest version of the Wolfram Language; not the version of the language you currently have installed.

The Entity function calls appear to be returning the correct information when you take this into consideration.

New in 10.4

EntityList[Entity["WolframLanguageSymbol", {"FullVersionIntroduced" -> "10.4"}]]

New in 10.3

EntityList[Entity["WolframLanguageSymbol", {"FullVersionIntroduced" -> "10.3"}]]

Updated in 10.4

EntityList[Entity["WolframLanguageSymbol", {"FullVersionLastModified" -> "10.4"}]]

Experimental in latest version of the language.

EntityList[EntityClass["WolframLanguageSymbol", "Experimental"]]

Update for 11.0.1 "UnderDevelopment" class has been changed to "Experimental" class. In 11.0.1 this class does not appear in EntityClassList["WolframLanguageSymbol"] but it is available.

Hope this helps.