What’s going on?
Updates from November, 2014 Toggle Comment Threads | Keyboard Shortcuts
Core is adopting the JSDoc standard. Last year, WordPress standardized PHP inline documentation. Inline documentation surfaces relevant information to developers about code. This is very helpful (necessary?) when you’re wondering what arguments are to be passed into a class constructor that’s seven levels deep in inheritance (!).
Also, insightful tidbits which would have no place in inline documentation could be answered here, to answer questions like why and when we provide no-js fallbacks.
Hi Everyone! It’s time for another update. This edition covers through Sunday, June 15th, and has taken a while due to travel, but @swissspidy & @designsimply have joined the team, helping to gather the information to bring us up to date. Hopefully this will help these updates be a bit more sustainable over time. If you’re interested in pitching in with these updates as well, please let me know in the comments below!
Especially of note are the first pass of the grid view for the media library, several SSL and oEmbed updates, and a new ‘Beta Testing’ tab on the Plugins screen.
- Plugins Screen: Add a new ‘Beta Testing’ tab on the plugin installation screen, for features as plugins such as Press This.  #28513
- Media Library: Grid view for the media library, first pass. This is alpha; expect imperfection to start.  #24716
- Forcing SSL logins now forces SSL for the entire admin.  #10267
- Force SSL on the frontend when the home URL uses HTTPS.  #27954
- Force SSL admin when
siteurlis explicitly configured with HTTPS.  #27954
- Use a secure
logged_in_cookiewhen the home URL is forced HTTPS.  #15330
url_is_accessable_via_ssl().  #19555
srcattribute for the
[embed]shortcode if the shortcode body is empty.  #24456
- Add “edit” mode for
[embed]and URL media previews.  #28532
wp_embed_register_handlerto catch bad YouTube URLs and try correct them.  #24660
- Add oEmbed support for:
- Update SlideShare oEmbed regex.  #28380
- Remove Viddler oEmbed support.  #28379
- Make it simpler for plugins to register MCE views.  #28458
shortcodeequal to the passed
typefrom default args when calling
wp.mce.views.register().  #28458
- Improve handling of embed errors/error messages.  #28195
Themes and Templates
- Add a filter to
human_time_diff()to allow more detailed depictions of time differences.  #27271
- Allow simple modification of sections of the title by adding a
wp_title().  #17877
- Add CSS rules to ensure that videos will be responsive, regardless of theme.  #28414
get_stylesheet_directory(). These constants are now deprecated  #18298
- Update Twenty Thirteen and Twenty Fourteen to Genericons 3.0.3.  
- Improve keyboard accessibility for the media modal.  #23560
- Add screen reader labels to the date inputs on the post editing screen.  #25461
- When parsing the main query, if
sis set to empty:
$this->is_main_query() && array_key_exists( 's', $this->query )– kill the query instead of loading the homepage. This will load the search page with no results.  #11330
- Kill queries that explicitly pass empty arrays to
WP_Query.  #28099
- Fix SQL generation when
'relation' => 'OR'for its queries and wants to
'orderby' => 'meta_value'.  #25538
- Allow users to sort posts by type in
WP_Query.  #28214
- Add access modifiers to
WP_User_QueryAdd magic methods for BC:
call().  #27881, #22234
- Wide-reaching changes to do away with many instances of variable-variables. See #27881 for full list of changes.
- Eliminate use of
extract()within WordPress. #22400
- Fix curly quotes around numbers when applicable.  #8775
- Only include relevant post authors in WXR exports.  #20206
- Append the date to
$wp_versionin the build output, for nightly packages.  #26751.
wp_new_comment()with a check for successful database insert.  #28254
get_pages()instead of a raw SQL query in
get_body_class().  #28159
- Pre-populate the selected URL or
mailto:<email-address>when “Insert/edit link” is clicked.  #19992
- Live update the menu item title when the user is editing the “Navigation Label” field.  #23076
get_terms()as a replacement.  #21200
like_escape()and replace with
$wpdb->esc_like().  #10041
upload.phpto avoid an empty list table.  #27951
- Add new function
wp_spaces_regexp()to filter for common whitespace characters.  #27588
like whitespace by using
wp_spaces_regexp()instead of raw regex.  #27588,  #27587,  #23185
wptexturize(), ensure that texturization does not corrupt contents of HTML elements, HTML comments, and smartcode attributes. Adds a variety of unit tests/assertions.  #27602, #12690, #8912
- Various updates to
wptexturize()in  #19308,  #22823,  #20342
- Allow user to disable texturization.  #19550
- Update TinyMCE to 4.0.28.  #28391, #27941
- In iOS, fix placing the caret at the bottom of longer posts when the keyboard is open and disable resizing on switching editors and on show/hide of the kitchen sink row.  #28242
- Fix problems with undo/redo after resizing an image several times.  #28389
- Fix saving the editor content on switching from Visual to Text.  #28353
Thanks to @aaroncampbell, @adamsilverstein, @alexander.rohmann, @aliso, @atimmer, @avryl, @azaozz, @boonebgorges, @bramd, @celloexpressions, @clifgriffin, @coffee2code, @danielhuesken, @DavidTheMachine, @DeBAAT, @donncha, @DrewAPicture, @eddiemoya, @edwin-at-studiojoyo.com, @ericlewis, @filosofo, @frank-klein, @Funkatronic, @garhdez, @gauravmittal1995, @gcorne, @georgestephanis, @ghost1227, @grahamarmfield, @harrym, @helen, @iamtakashi, @iljoja, @issuu, @ixkaito, @jackreichert, @JanHenkG, @Jayjdk, @jdgrimes, @jeffstieler, @jeremyfelt, @jesin, @jgadbois, @jjeaton, @jkudish, @joedolson, @johnbillion, @johnjamesjacoby, @johnzanussi, @jtsternberg, @kitchin, @knutsp, @kovshenin, @kpdesign, @kraftbj, @kurtpayne, @kwight, @lancewillett, @lessbloat, @markoheijnen, @mdbitz, @MikeHansenMe, @mikemanger, @miqrogroove, @mrmist, @MuViMoTV, @nabil_kadimi, @nacin, @nd987, @Nessworthy, @netweb, @niallkennedy, @ocean90, @obenland, @pdclark, @pento, @purzlbaum, @rclations, @redsweater, @ruudjoyo, @schoenwaldnils, @scribu, @senlin, @SergeyBiryukov, @sharonaustin, @shaunandrews, @simonwheatley, @sixhours, @slimndap, @solarissmoke, @tar.gz, @tillkruess, @topher1kenobe, @torresga, @UmeshSingla, @winterDev, @wonderboymusic, @wpsmith, @zamfeer, and @duck_ for their core contributions!
Interested in joining in? Write or test a patch for 4.0.
Hello there! This is Last Week in WordPress Core for the week of April 8-April 14. Similar to last week, commits are included up to RC2, which was released today. In addition, maintenance releases 3.8.3 and 3.7.3 are available, and automatic updates are rolling out.
- Widgets: Properly handle widget settings when activating a previewed theme.  #27767
- Widgets: Account for a sidebar with no container to which classes can be added.  #27780
- Custom Headers: Fix image ordering.  #27791
- Custom Headers: Fix cropping when working with large images.  #27790
- Add color scheme support for widget choosers.  #27793
- Improve route handling and make
?theme=work.  #27708
- Revert to proxying through PHP for WordPress.org API requests to ensure we have valid installation nonces.  #27798
- Update TinyMCE to 188.8.131.52.  #27744
- Update TinyMCE paste plugin to the latest development version. Improves Pasting from Word to remove inline comments and change tracking.  #27771
- Ensure vertical resizing and menubar show/hide are set to default for each TinyMCE instance.  #27724
- Stabilize MediaElement within TinyMCE, and avoid adding undo steps when the body of a wpView changes.  #27389
- Improve fallback compatibility for wpViews with IE7 and 8.   #27546
- In the Image Details modal, remember the last state of the advanced toggle.  #27366
- Add hooks for
wpeditimageTinyMCE plugin and Image Details modal. Includes
wp.media.events, which is intended to be a global media event bus.  #27698
- Apply new
add_image_size()cropping preferences to all sizes when image is saved in editor.  #19393
- Fix tabbing out of the title field on Media->Edit Media screen.   #27750
- Updates: Add a TTL to core update checks to allow us to narrow the 12-hour update window.  #27772
- User Query: Don’t blindly re-append new meta queries for capabilities.  #21119
- Avoid stomping of bulk postdata inside the
bulk_edit_posts()loop. Reverts , which did not fix it for authors and comment/ping status.  #27792
- RTL fixes for Login screen ( #27784), Themes screen ( #27779), TinyMCE ( #27773), and feature pointers ( #27778).
- MediaElement: Update to 2.14.2. Release Notes.  #27582
- Plupload: Restore 3.8 handles and filenames to avoid breaking plugins.  #27763
- Plupload: Restore the settings in
media_upload_form().  #27763
For the complete list of commits to trunk, check out the log on Trac. Release is scheduled for this Wednesday, so, the best way to help is to test! Please let us know if you run into problems in the Alpha/Beta forums or on trac.
Thanks to @azaozz, @dd32, @DrewAPicture, @ehg, @GaryJ, @gcorne, @helen, @jesin, @johnbillion, @kerikae, @kpdesign, @mattheu, @matveb, @melchoyce, @morganestes, @nacin, @ocean90, @Otto42, @pavelevap, @redsweater, @ryelle, @scottlee, @SergeyBiryukov, @siobhan, @westonruter, @wonderboymusic, and @yoavf for their help this week!
Howdy everyone! This is Last Week in WordPress Core for the week of March 31-April 7. I’m including all of the commits up to RC1 this week, which was released yesterday. Things are looking good, with very few remaining tickets open.
3.8.2 and 3.7.2 were also released with security fixes, and automatic updates are rolling out.
Developers, please test with your plugins and themes and let us know if you find issues.
TinyMCE: As a quick note, since I’ve seen this brought up in the forums — in this release, TinyMCE no longer uses
IE8 & wpview: Due to IE7/8 compat being necessary in TinyMCE (to resolve caret issues), IE8 and
wpvieware not currently the best of friends. Post RC1, fixes landed for #27546 that make
wpviews degrade more gracefully.
- Playlists: Make elements in playlists responsive and fix playlist advancement on mobile.   #27625
- Playlists: Set
preload='none'for the empty
<audio|video>tag.  #26779
- Playlists: Make tracks keyboard-accessible.  #27644
- A/V Shortcodes: Remove support for a caption in audio and video shortcodes. This was part of a UX iteration for the related MCE views, but these captions have since been excluded. See .  #27320
- Edit Image Modal: Make the calculation of the aspect ratio more robust.   #27366
- Do not show featured images for image attachments; remove
theme_supports_thumbnails()for now.  #27673
<br>elements for HTML5 galleries; see #26697.  #27637
- Twenty Thirteen and Fourteen: Update styles to support the new HTML5 line-break-less galleries.  #27637
- Customizer Header Images: Better handle cropping failures; improve accessibility and styles.  #27598;    #21785
- Customizer Header Images: Add suggested dimensions.    #21785
- Edit Post|Page: When autosaving a new post for the first time after a title was typed, cancel the autosave if the user is submitting the form.  #27657
- Hide “Add New” with no-JS.  #27055
- Use JSONP for api.wordpress.org requests.  #27639
- Fix sorting and counts. Add prev/next to previews and improve keyboard navigation.  #27055;    #27521
- Handle currently installed themes, add search route, let prev/next refresh collections.   #27695
- Improve More Filters section and handling when there are no themes found.    #27055
- Trigger jQuery events for widget updates.
widget-addedwhen a widget is added to a sidebar and
widget-syncedfor widget soft/hard updates.   #19675; #27491
is_preview()method to allow widgets to check to see if they’re currently being previewed via the customizer.  #27538
- Widget Customizer: Improve compatibility with plugin custom scripts and styles for widgets.  #27619
- Widget Customizer: Rename
print_preview_css.  #27534
- Widget Customizer: Use
postMessageto highlight widgets in preview or sections/controls in Customizer.   #27622
- Widget Customizer: Refactor and clean up
wp.customize.Widgets, and make available widgets panel a Backbone view.      #27690
- Update TinyMCE to 4.0.21.  #24067
- Image Details Modal Improve look-and-feel, and add a Custom Size option to the size drop-down that reveals fields for soft-resizing the inserted image.  #27366
- Image Details Modal: Move all advanced options under a single toggle, bring back the field for CSS Class, and optimize CSS for responsive layout.  #27366
- Drag and Drop Uploading: Add new argument to
wp_editor()to enable.  #27465
- Gallery Views: Avoid JS errors when image attachments lack metadata.  #27691
- Return to loading
/langs/[locale]_dlg.jsfrom PHP to prevent errors with missing translation files when
requireLangPack()is used without its second argument. Back to using ISO 639-1 (two letter) locales. #24067;  #27610
- Clarify error when
wpdialogsis not enqueued. Add
wp_enqueue_editoraction fired when scripts and styles for the editor are being enqueued.  #16284
- Update translatable strings.  #27453, #24067
- Tighten up toolbar and tab styles.   #27279
- Expose toolbar keyboard shortcut in Help documentation for TinyMCE, and clean up TinyMCE help dialog, removing duplicated text and leaving only Keyboard Shortcuts.  #27024;  #27100
- Fall back from ext/mysqli to ext/mysql if the connection fails. This allows us to avoid breaking a site that works under ext/mysql but is misconfigured for ext/mysqli.  #21663
wpdb::check_connection()to match the connect method.  #27240
- Don’t pass a second argument to
mysqli_fetch_field().  #27693
WP_USE_EXT_MYSQL.  #21663
- Updates: Record Plugin & Theme update statistics like we do for Core updates.   #27633
- Pingbacks: Forward pingback IP during verification.  #27613
- Dashicons:    #26936
- New icons:
- Updated icons:
.dashicons-post-trashas an alias for
.dashicons-trash, which is the new one.
- Use new icons in Widget Customizer.
- New icons:
- Don’t try to resolve symlinks for single-file plugins.
plugins_url()should not be used in this context anyway.  #16953
- Remove old
links_recently_updated_*DB options that never had a UI.  #27649
wpmu_current_site().  #27702
Many thanks to @adamsilverstein, @andykeith, @avryl, @azaozz, @bramd, @chiragswadia, @davidmarichal, @dd32, @dpe415, @duck_, @DrewAPicture, @DrProtocols, @ehg, @eightface, @empireoflight, @gcorne, @helen, @jackreichert, @jdgrimes, @jeremyfelt, @jesin, @joedolson, @johnbillion, @jorbin, @jond3r, @kovshenin, @kpdesign, @leewillis77, @markjaquith, @matveb, @mcsf, @melchoyce, @michael-arestad, @nacin, @Nessworthy, @norcross, @obenland, @ocean90, @pento, @plocha, @rachelbaker, @rmccue, @sdasse, @SergeyBiryukov, @siobhan, @sonjanyc, @tellyworth, Tom Adams, @vancoder, @westonruter, and @wonderboymusic for their help this week!
For the complete list of commits to trunk, check out the log on Trac. Since we’re getting very close to release, the best way to help is to test! Let us know if you run into problems in the Alpha/Beta forums or on trac.
Hi! This is a late Last Week in WordPress Core for the two weeks of March 17-30. Lots going on as we approach RC.
Beta 3 is out, and you can check out the release post here. There are a few big things that have landed that are included. In particular, please test video and audio playlists by uploading more than one file of either, and check to see if you see any oddities in quote formatting, as much of
- Theme Installer: Restore the feature filter, improve responsiveness, update router, make ‘Upload Theme’ button more consistent with the admin, and avoid theme-count causing filters to jump.  #27055
- Theme Installer: Bring keyboard accessibility to the theme install screen and theme action buttons.  #27521
- Dashboard: Restore the update message in the dashboard that was removed in 3.8.  #26664
- Distraction Free Writing: Allow the fullscreen editor’s content area to be responsive.  #27569
- Accessibility: Better focus styles for form elements in the admin.  #27173
- Restore highlighting of widgets in preview.   #27358
WP_Errorfor errors, and add handling for when user is missing cap to change widgets or is logged out.  #27419
- Introduce HTML5 caption support: When supported by a theme via
add_theme_support( 'html5', 'caption' ), use
p. With HTML5 captions, no longer include extra 10 pixels within inline styles.
img_caption_shortcode_widthis skipped when the theme supports HTML5 captions.  #26642 #9066
- On attachment pages for audio and video, add support for players.  #27243
- Default Themes: Improve accessibility for keyboard and voice-over interactions.  #27147   #24839
- Default Themes: Update editor styles for A/V and Galleries.    #27462
- Default Themes: Enable thumbnail support for
attachment:video. Check for theme OR post type support when determining whether to enable Featured Image UI in the admin.  #27460
- There is no more
video-playlistshortcode. To use video, it is now
[playlist type='video' ...]. Core playlist styles removed; the style attribute is still supported, defaulting to
light.   #27552
- Only enqueue the media modal image editor within the admin.  #21811
- Support a caption attribute for audio and video shortcodes.  #27320
- Create a new file,
media-audiovideo.js, to house all of the audio and video JS code in core, and improve UX.   #27437
- With Plupload, switch to urlstream upload method when the flash runtime is used in non IE browsers. This ensures cookies are sent but limits the maximum file size that flash can handle. By default only IE9 and older use flash, so it would only affect things if a plugin disables the html5 runtime. 
- Provide a metabox to edit audio metadata (initially from ID3) on the “Edit Media” page.     #27574.
- Update TinyMCE to 4.0.20.  #24067
- Update tests. It’s now possible to run most TinyMCE tests directly from the cli using PhantomJS.   #27014
- Playlist Preview: Support playlist views in TinyMCE.  #27320
- Edit Image Modal: Bring back some of the advanced settings.  #27366
- Masonry: Update Masonry v2/v3 shim from upstream.    #27510
- Texturize: Massive performance improvements (~600% faster); better handling of braces, nbsp, double, and weird spaces; 136 new unit tests.   #22692
- Cookie Session Checks:: Only show test cookie warnings on submit as caching/proxies may intercept the test cookie for GET requests. Introduce a new string for when headers are sent and link them to a new Cookies page on the codex.  #27373
- Object Cache:: Introduce
pre_update_optionfilter, available in
update_option(). Allows filtering of any option before its value is (maybe) serialized and updated.  #27504
- wpautop: Remove
wpautop()‘s HTML blocks list.  #22230
- Heartbeat: Hooks should always receive unslashed data. This affects the privileged hooks; the unprivileged hooks already did so.  #27260
- Customizer: Use
esc_url_rawto escape customizer URL settings to prevent double encoding.  #26569
- Template: Encode spaces in
get_stylesheet_directory_uri().  #21969
- Filesystem: Fix
getchmod()for direct and ssh2 transports, for directories.  #26598
- Text/i18n Cleanup: Many text changes and updates. Check out all of them in the full log on Trac.
- i18n: In
substr()rather than array access, for compatibility with multibyte overloading.  #18007
- Postmeta: Return
get_$type_metadatafilter returns a
falsevalue.  #22746
- Pagination: Introduce
paginate_links().  #24709
- E-mail: Always decode special characters for email subjects.  #25346
- WP Class: Add
post_parentto the private query vars list. Fixes detached media queries.  #27532.
- Post: Use
get_pages(). Ensure a URL string, array with string as value, and array with array as value for
exclude_treecan be used to specify multiple IDs.  #9153
- Revert the conversion of adjacent post queries to
WP_Query. Explanation on the ticket. Reverts , , , , , , , , , , , and . See  #26937
- When using
"fields" => "ids"(or
"fields" => "id=>parent"), the returned values should be an array of integers, not array of integers represented by strings.  #27252
- Introduce a
ms_site_not_foundfilter to replace
NOBLOGREDIRECT. Bail if there’s no site.  #21143; #27003
- In multisite load, cache the main site lookup query.  #27003
- Ensure the
$pathis trailing-slashed in
domain_exists().  #20589
Thanks to @adamsilverstein, @adelval, @afercia, @aliso, @aubreypwd, @avryl, @azaozz, @barry, @bcworkz, @celloexpressions, @cgaffga, @Chouby, @chriseverson, @chrisguitarguy, @cramdesign, @danielbachhuber, @dannydehaan, @DavidAnderson, @DrewAPicture, @drozdz, @dustyf, @eatingrules, @ehg, @eightface, @ejdanderson, @eliorivero, @empireoflight, @ericlewis, @ericmann, @ethitter, @fahmiadib, @frank-klein, @gcorne, @grahamarmfield, @GregLone, @hakre, @helen, @jackreichert, @janw.oostendorp, @jartes, @jbkkd, @jdgrimes, @jeremyfelt, @joedolson, @johnbillion, @jorbin, @kawauso, @kovshenin, @kpdesign, @kwight, @lancewillett, @lkwdwrd, @markjaquith, @mattheu, @mattonomics, @matveb, @mauryaratan, @mcsf, @melchoyce, @MikeHansenMe, @miqrogroove, @mordauk, @nacin, @Nao, @Nessworthy, @nofearinc, @obenland, @ocean90, @paulwilde, @pavelevap, @pbearne, @philiparthurmoore, @prettyboymp, @raamdev, @rachelbaker, @ramonchiara, @roothorick, @ryelle, @sabreuse, @sandyr, @SergeyBiryukov, @shahpranaf, @siobhyb, @spmlucas, @stevenkword, @tbrams, @tlovett1, @TobiasBg, @tomauger, @Toru, @vanillalounge, @westonruter, @wonderboymusic, @xknown, and @yoavf for their efforts!
Hi there! Welcome to Last Week in WordPress Core for the week of March 3–9. By now, you’ve heard that WordPress 3.9 Beta 1 is available! Thank you for your hard work this last week. Now we’re done adding new enhancements, and on to bugs. Your help is appreciated as we continue to test and squash bugs on the way to a stable RC.
There are a couple important things that landed on Monday that are not covered in this post, but shipped in beta. Namely, please test the Theme Install screen refresh and the ability to crop headers from within the Customizer.
- Widgets: Add widget management to the customizer. This brings in the Widget Customizer plugin.  #27112
- Admin Menu: Introduce a
.dashicons-beforeCSS class and use it in the admin menu. Lets you use a Dashicon before an element without copying the entire
.dashiconsstyling to your
:beforestyling.     #26630
- Editor: Show “View Post” for any post the author can read. This expands it to private posts and matches the logic in the toolbar.  #27059
- First pass at bringing the Image Editor into the media modal. Please test me!  #21811
- First pass adding a loading indicator to the Media Library.  #24859
set_post_thumbnail_size()to receive crop anchors (
center).  #19393.
- Add subtitle support to Video editing in the Media Modal.  #27016
- Do not output default gallery styles if the theme has opted into HTML5 galleries.  #27045; see #26697
- Add a class attribute to the caption shortcode to allow additional classes to be specified.  #25295
wp_playlist_scriptsfilters to allow users to roll their own playlist themes.  #26631 &  #26631
- Update TinyMCE to 4.0.18.  #24067
- Add TinyMCE placeholders for audio and video shortcodes and provide a UI to both edit shortcode attributes and replace the
srcmedia file in an audio or video shortcode. Also, a flurry of improvements and fixes to them, visible in the full changelog.  #27016
- Add a Ctrl+K shortcut to open the linking dialog, which is the “de-facto standard”.  #27305
- Add the
<hr>plugin and button to the toolbar.  #27159
- With drag-and-drop uploading, support multiple editor instances, limit to IE10+, and other small fixes.    #19845
- When parsing a caption shortcode, recreate missing width attributes using the image tag’s width.  #23103
- Restore the “link” button state to disabled by default and enabled when text or image is selected. Remove the (recently added) default link plugin; not needed.  #27309
has-post-thumbnailas a post class.  #18804
- Rename the new
theme_page_templates, and pass it a post object for proper context.   #13265
get_the_permalink()as an alias for
get_permalink(). This better aligns it with other
get_the_*function pairs.  #24164
get_the_date()accept a post object.  #13771
- Add the ability to short-circuit wp_nav_menu() via the pre_wp_nav_menu hook.  #23627
- Better plural handling for labels in
wp_tag_cloud().  #27262, see #7989, #14424
- Incremental improvements and bug fixes with the multisite load process. Please test your networks!    #27003
- Fix bulk activation of network-only plugins.  #26487
post_passwordquery variables to
truemeans posts with passwords,
falsemeans posts without.
post_passwordcan query for posts with a particular password.  #20308
- Allow a
posts_per_rssquery variable to be set to override the
posts_per_rssoption.   #25380
get_page_by_title()to accept an array of post types.  #24763
- Allow for custom authentication handlers for all requests. Turn the logic used by
determine_current_user filter.  #26706
- Allow the
ksesfor all elements.  #24098
- Add a
update_option().   #14721.
- Improve HHVM compatibility by eliminating some of our last remaining
create_function()calls and making
OBJECTa case sensitive constant.    #14424  #27231
deleted_useractions.   #23057
- Bail early from shortcode functions if no delimiter is present. It’s the little things; performance results on-ticket.  #23855
- Update PHPMailer to 5.2.7 from 5.2.4. Includes two trivial modifications for WordPress (no impact to plugin developers); see the commit message.  #25560
- Use SSL when linking to WordPress.org.  #27115
Thanks to @adamsilverstein, @akeda, @avryl, @bassgang, @bigdawggi, @bobbravo2, @bpetty, @bradt, @celloexpressions, @coffee2code, @danielbachhuber, @dd32, @DJPaul, @DrewAPicture, @empireoflight, @ericlewis, @ericmann, @frank-klein, @gcorne, @genkisan, @gradyetc, @hakre, @Hanni, @Jayjdk, @jenmylo, @johnregan3, @jorbin, @JoshuaAbenazer, @kadamwhite, @kasparsd, @Kopepasah, @kovshenin, @kpdesign, @lpointet, @markjaquith, @mcadwell, @melchoyce, @michael-arestad, @mikecorkum, @mordauk, @nacin, @obenland, @Otto42, @pavelevap, @Rarst, @rhyswynne, @ricardocorreia, @rmccue, @robmiller, @seanchayes, @SergeyBiryukov, @shaunandrews, @simonwheatley, @sirzooro, @tanner-m, @TobiasBg, @tomauger, @topher1kenobe, @topquarky, @toszcze, @westonruter, @wokamoto, @wonderboymusic, @zbtirrell, and @zodiac1978 for their efforts this week!
At WordCamp Boston’s core contributor day I revisited this style guide with @mattwiebe and Corey Frang (@gnarf37). It is important to identify *and implement* conventions for JS style ASAP because syntax issues in the JS within WordPress may hide latent bugs, and inconsistent code discourages contribution. Focusing on implementation lead us to look for an existing, proven JS style guide with a
.jshintrcfile (a set of configuration options for the JSHint code quality tool) which we could adopt largely as-is: Getting JSHint in place lets us see the biggest issues in our JS, so we can begin tackling them incrementally (perhaps in the same manner as the inline docs effort).
jQuery’s guide shared WordPress core’s love of white space—the same “when in doubt, space it out” mantra from the existing JS style page. Moreover, jQuery’s code conventions have been referenced in trac tickets as an example of how we should be writing our code. Adopting their guide wholesale capitalizes on our stylistic similarities, and will let us adopt their
.jshintrcand any future code quality tools they write with minimal changes.
We haven’t posted an update in several weeks, so thought we’d bring everyone up to speed on the Inline Docs project.
This project started July at WordCamp San Francisco as a 3.7 release action item. Work continues into the 3.8 release cycle, and we would like to have the hook documentation completed by the time 3.8 is released in December.
PHP Documentation Standards
The PHP Documentation Standard has been amended several times since it was first published in early September. The latest amendments include:
- Documenting Tips (language, tools for finding the version for
@since, code refactoring)
- Formatting Guidelines
- A change to the way duplicate hooks should be documented (
/** This action|filter is documented in path/to/file.php */)
If you are one of our contributors, please make sure you read the standards again to familiarize yourself with the changes.
WordCamp Contributor Days
We would like to thank WordCamp Toronto (10/6), WordCamp Europe (10/7), and WordCamp Sofia (10/27) for including Inline Docs as part of their respective Contributor Days. Approximately 35 files were documented, and several new contributors had their first patches committed to WordPress core as a result. Woot!
So far, 47 people have received props for submitting inline docs patches:
@admiralthrawn, @aeg0125, @a.hoereth, @andg, @aralbald, @bananastalktome, @ben.moody, @betzster, @bftrick, @dllh, @drewapicture, @dougwollison, @dustyf, @enej, @ericlewis, @Faison, @FrankKlein, @gayadesign, @gizburdt, @johnafish, @johnbillion, @jonlynch, @kpdesign, @l10n, @nacin, @naomicbush, @NikV, @ninio, @miyauchi, @morduak, @Nao, @natejacobs, @netweb, @nukaga, @nullvariable, @pauldewouters, @r3df, @rzen, @sboisvert, @SergeyBiryukov, @ShinichiN, @Siobhyb, @swissspidy, @tmtoy, @tomauger, @tw2113, @vinod dalvi
There are 10 other contributors with patches waiting to be reviewed and committed that will be added to this list. We want to thank everyone for their participation so far, and hope you continue contributing!
Progress To Date
According to the “master list“, there are 185 files containing hooks to be documented. The current status, as of today:
- Completed: 92 files (49.72%)
- In progress: 23 files
- Available to claim: 70 files
Weekly Office Hours
We continue to hold weekly office hours meetings on Wednesdays at 19:00 UTC in #wordpress-sfd.
- Documenting Tips (language, tools for finding the version for