All Versions
Latest Version
Avg Release Cycle
12 days
Latest Release
366 days ago

Changelog History
Page 13

  • v2.97.0 Changes

    September 25, 2019
    • πŸš€ The simplified APOS_BUNDLE=1 feature for asset deployment in the cloud now uses the actual tar utility when extracting assets locally, rather than the tar npm module, as a blocking bug was encountered and the actual utility is faster.
    • πŸ‘Œ Improved support for subclasses of apostrophe-rich-text-widgets. These now receive the same CSS UX considerations and store their content under the appropriate widget name. This opens the door to the new tiptap option offered by the latest release of apostrophe-tiptap-rich-text-widgets, which can be used to selectively enable or disable the use of tiptap as an alternative to CKEditor for some subclasses but not others.
    • 🍱 Low-level support for namespacing asset themes. By default this has no effect, however if getThemeName is overridden to return a theme name then asset masters, minified assets, bundles in the collection, etc. all get namespaced to play side by side with other themes used by other apos objects in the same project. Meant for use with apostrophe-multisite, this is not equivalent to a Wordpress or Drupal theme as such.
    • 🚚 The widget editor's afterShow method takes no callback; removed an invocation that did not make sense. Thanks to Amin Shazrin for this contribution.
    • πŸ‘Œ Improved sizing for video widgets. This is now based on the parent element. Also added empty alt tag to the placeholder image as a hint not to read it aloud.

    πŸ‘ Thanks to Michelin for making much of this work possible via Apostrophe Enterprise Support.

  • v2.96.2 Changes

    September 17, 2019
    • πŸ› Bug fix: missing required fields nested in array or object fields hidden fvia showFields no longer result in a server-side error. They adhere to the usual rule that if you can't see it, you're not expected to enter it.
    • πŸ› Bug fix: autocomplete now works again for tags and joins. This was caused by a difference of z-index introduced by an upgrade of jQuery UI in July.
    • πŸ‘ Better UX for drag and drop.
    • 🏁 The findTestModule method now works properly in Windows, opening the door to testing Apostrophe modules more easily on Windows. Thanks to Amin Shazrin for this contribution.
    • πŸ’… The base name of the master stylesheet has been factored out to a getStylesheetsMasterBase method in apostrophe-assets, for easier overrides in multisite projects.
    • πŸ”¨ Thanks to refactoring of the implementation, it is now possible to override the behavior of the apostrophe-email module to use different transports in different circumstances. Thanks to AurΓ©lien Wolz for this contribution.
  • v2.96.1 Changes

    September 09, 2019
    • πŸ“š Setting PORT to 0, or passing 0 as the port option to apostrophe-express, now works per the TCP documentation: you get a random port number. You can access that port number as apos.modules['apostrophe-express'].port. Thanks to J. Garijo for this contribution.
    • βͺ The ability to add a new image while selecting one for a widget has been restored. Similar scenarios while editing other joins are also fixed.
    • Double-clicking the "Edit" button of a widget no longer causes a race condition. Thanks to Mayank Bansal for pointing out the issue and how to reproduce it.
    • Undisplayed tooltips no longer take up space in a way that causes interface frustration.
  • v2.96.0 Changes

    September 04, 2019
    • πŸ’» Reverse joins no longer result in an empty tab when they are the only unarranged field, since they have no editing UI in any case.
    • The "context menu" (aka "Page Settings," "Published," etc.) has been cleaned up in several ways. It no longer appears unless the user at least has edit access to either or data.piece. This deciding factor can be altered by overriding apos.templates.showContextMenu, which accepts req and must return true or false. In addition, the "Unpublished" dropdown works properly in all cases.
    • Notifications now have an explicit "close" button to help those who did not realize they were clickable. Also, they display the proper cursor when hovered and use a suitable HTML tag for improved accessibility.
  • v2.95.1 Changes

    September 01, 2019
    • βœ… Drag and drop operations within an area, and various other operations, no longer result in a race condition where the same document is locked more than once and content can be lost. This is especially noticeable on slower connections but can happen anytime. This was a longstanding problem. Thanks to Eric Wong for his patient reporting and testing of this issue.
    • ⚑️ eslint has been updated, addressing npm audit complaints.
  • v2.95.0 Changes

    August 21, 2019
    • Nested content in sub-areas is no longer lost when editing schema properties of the widget that contains the areas.
    • πŸ›  The slugPrefix option for pieces modules now works correctly. This option prefixes the slugs of all pieces of that type with the given string. It is recommended, but not required, that the prefix end in -. The editor requires that the slug be prefixed with the slugPrefix, the editor suggests slugs that include the prefix, and a migration now runs to add the slugPrefix to pieces that lack the prefix. If this results in a slug conflict the offending piece is left alone and flagged for your manual attention. A slug without the prefix does not cause any harm, other than cluttering up the namespace of slugs.
    • apostrophe-images and apostrophe-files now use the slugPrefix option to prefix their slugs. This will result in a one-time migration for each at startup, after which your image and file slugs will no longer be in frequent conflict with other pieces when you try to give them friendly slugs. Note that image and file slugs are not used in actual media asset filenames, so there is no bc break there. And although most sites don't have an apostrophe-images-pages or apostrophe-files-pages module, those that do will experience no 404 errors due to Apostrophe's robust redirect features.
    • πŸ“„ Apostrophe migrations are now more stable in MongoDB Atlas and other environments in which it is unwise to keep a single MongoDB cursor alive for long periods. To achieve greater stability, the apos.migrations.eachDoc method now fetches the _id properties of all relevant docs first, and they are then processed in small batches.
    • The APOS_TRACE_DB=1 environment variable, which is useful for tracking down MongoDB issues, now includes traces for distinct calls.
    • πŸ›  A division-by-zero error in the migration progress display was fixed, correcting some strange-looking output.
    • 🍱 In apostrophe-assets, the logic to determine the dev environment asset generation id was factored out to the determineDevGeneration method to simplify overriding it in apostrophe-multisite.
    • and apos.utils.get now report HTTP errors (status >= 400) properly to their callbacks. The object provided as the error includes a status property with the HTTP status code. The body is still available in the second argument to the callback.
  • v2.94.1 Changes

    August 12, 2019
    • πŸ› Bug fix for a regression that impacted the ability to edit an array field again after cancelling the first time. Thanks to Amin Shazrin for this contribution.
  • v2.94.0 Changes

    August 09, 2019
    • πŸ› Bug fix for the new simplified static asset bundling: URLs beginning with / in CSS files are correctly rewritten to point to the bundle in the cloud when using the simple bundle feature (APOS_BUNDLE=1). This was already done for the old method.
    • πŸ“œ In the browser, the lean methods and apos.utils.get now accept non-JSON responses from APIs. To maximize bc, if the response has the application/json content type, it is always parsed for you; if not, it is still parsed for you if it is valid JSON, but otherwise it is delivered to you as-is (as a string).
    • When you edit the slug of a piece or page manually and a slug conflict with another piece or page is created, you can now optionally click a button in order to edit the conflicting piece or page, and change its slug to eliminate the conflict.
  • v2.93.0 Changes

    July 25, 2019
    • πŸ†• New, simplified static asset bundling feature for deploying to cloud hosts like Heroku. See the ApostropheCMS Heroku HOWTO for details. There is more to successful Heroku deployment than just static assert bundling.

    First, make sure the APOS_BUNDLE=1 environment variable is set in your production environment, i.e. in your Heroku environment settings.

    πŸš€ Next, set up a "release tasks" script:

  • v2.92.1 Changes

    July 09, 2019

    βœ… Unit tests passing.

    βœ… Regression tests passing.

    • πŸ›  Fixes for several bugs relating to tooltips persisting on the page longer than they should.
    • πŸ›  Fixes for three bugs relating to array fields: a required array field that is hidden by showFields is now correctly treated as not required (like other fields). Clicking "cancel" when editing an array now correctly reverts to the original contents of the array. And dynamic choice methods for select and checkboxes fields now work correctly when nested in an array or object field.
    • Nested areas can now be edited properly when found inside a dialog box, such as the "Edit" dialog box of a piece type.
    • ⬆️ Upgraded diff package to continue passing npm audit.
    • ⬆️ Upgraded jQuery from version 3.3.1 to version 3.4.1, for those who have set jQuery: 3 as an option to apostrophe-assets. This addresses a minor prototype pollution bug in jQuery. Please note that if you are not using jQuery: 3, you are still using jQuery 1.x. If you have jQuery code that will not work with 3.x, you should take the plunge and fix it, as there are no new fixes forthcoming for any issues with jQuery 1.x. You can also use the new lean: true option to eliminate jQuery altogether when no user is logged in (in Apostrophe 3.x this will be the behavior all the time).