Changelog History
Page 20
-
v2.57.1 Changes
June 05, 2018โ Unit tests passing.
- ๐ Hotfix for bug in 2.57.0 that broke saving tags. We have reverted the "fast forms" change until the cause is understood.
-
v2.57.0 Changes
May 31, 2018โ Unit tests passing.
โ Functional tests passing.
- Displaying and saving schema-driven forms is much, much faster. This becomes very noticeable with 100 or more fields. With about 250 fields, this formerly took about 4.5 seconds to load or to ๐พ save such a form on a fast Mac. It now takes about 250 milliseconds.
- ๐ Users may re-order the items they have selected via drag and drop when using "Browse" to select pieces, images, etc.
- ๐ Prior to this release, asset generation ids were surprisingly short and made up only of digits due to an accidental holdover from an old version. Conflicts were rare, but possible. Asset generation ids are now proper cuids, no conflicts should occur.
- IDs may be added to notifications as a simple way to give other code access to them.
- The
apos.global.addGlobalToData
method may now be called with justreq
(returns a promise), withreq, callback
(invokes 0๏ธโฃ the callback), or as middleware (which Apostrophe does by default). ๐ป This method is handy in command line tasks and other places where middleware does not run andreq.data.global
is not populated 0๏ธโฃ by default.
-
v2.56.0 Changes
May 17, 2018โ Unit tests passing.
โ Functional tests passing.
- ๐ Security: numerous issues formerly flagged by the new
npm audit
command have been addressed. We are now using a maintained branch of lodash 3.x to keep bc while addressing security (many thanks to the Sails team). We are also using LESS 3.x, which has caused no issues in our testing and corrects security concerns with LESS 2.x. Numerousnpm audit
security reports regardingimagemin
modules were addressed by removingimagemin
fromuploadfs
itself, however you may opt into it via the newpostprocessors
option ofuploadfs
. As of this writing, onenpm audit
complaint remains: theazure-storage
module needs to update a dependency to address a possible vulnerability. You may mitigate this issue by not using theazure
backend ofuploadfs
with Apostrophe until it is resolved upstream. - ๐ป Many UI enhancements when choosing, browsing and managing items which reduce user confusion. For instance: moving items up and down in a selection no longer refreshes the entire list and forces the user to scroll down again. Trashed pages are easier to distinguish in "reorganize." "More" dropdown for pieces is again fully visible when clicked. Placeholder helpers make the search field for joins easier to understand. Chevrons added to various select elements which were difficult to identify as dropdowns before.
- Deeply nested areas now save properly. Formerly in certain situations the same widget might be duplicated.
- ๐
apos.tasks.getReq
now supplies an emptyreq.data
object for easier use with code expecting an Express request, Apostrophe-style. - Bedeviled by case-sensitive sorting? The
sortify: true
property forstring
schema fields is now documented and automatically creates a database migration to ensure it is available for your existing data as well. When used, this flag ensures that anysort('fieldname')
call for that field in Apostrophe is case-insensitive, ignores punctuation and otherwise behaves as end users expect.
- ๐ Security: numerous issues formerly flagged by the new
-
v2.55.2 Changes
May 15, 2018โ Unit tests passing.
โ Relevant functional tests passing.
- โช Reverted change to date formatting.
moment
will produce warnings again, but dates will not be a day old in some time zones, which is more important. We are working on a better fix for this problem.
- โช Reverted change to date formatting.
-
v2.55.1 Changes
May 15, 2018โ Unit tests passing.
โ Relevant functional tests passing.
apos.migrations.eachArea
no longer crashes the stack when iterating over a large number of documents without areas.
-
v2.55.0 Changes
May 11, 2018โ Unit tests passing.
โ Regression tests passing.
- Security fix: uploaded images "in the trash" were still accessible at the same URL in most sizes. This has been corrected. As documented, the only size that now remains accessible is the
one-sixth
size, and this choice can be changed or eliminated entirely. This bug did not affect other file attachments, such as PDFs.
โ As always, be sure to run the
apostrophe-migrations:migrate
task. This will make sure the permissions of your files are correct. Harmless warnings may appear for those that were already correct.The
apostrophe-attachments:migrate-to-disabled-file-key
andapostrophe-attachments:migrate-from-disabled-file-key
have been added for the convenience of those using thedisabledFileKey
option touploadfs
to rename disabled files in a cryptographically sound way rather than changing their permissions. These are relevant only with thelocal
storage option ofuploadfs
, since since the option is neither available nor necessary for S3, and is mandatory for Azure from the beginning.๐ง Although technically part of UploadFS 1.9.0, we'd like to note that the
azure
storage backend is now available and can be part of youruploadfs
configuration for theapostrophe-attachments
module.Server-side modules can now extend the buttons available in the "manage" modal of pieces without overriding templates, similar to the way they are extensible in the "edit" modal.
๐ UX fixes.
Cropping an image through Apostrophe now works when attachments are stored in S3, Azure, etc.
โ Date parsing does not generate
momentjs
warnings.Overrideable block in the outerLayout for the context menu.
The
apostrophe-soft-redirects
module now accepts astatusCode
option, which you may change to301
to use hard redirects. Thanks to Leo Melzer.
- Security fix: uploaded images "in the trash" were still accessible at the same URL in most sizes. This has been corrected. As documented, the only size that now remains accessible is the
-
v2.54.3 Changes
May 02, 2018โ Unit tests passing.
โ Regression tests passing.
Contextual editing of pieces found in a
widget.html
template saves properly, as does contextual editing of a nested area added to the page for the first time.Previously executed migrations are remembered in a collection that persists, not just in a cache, avoiding extra work which could be extensive in a large database. Migrations are still required to be idempotent (they should detect whether they have any work to do, and do no harm if they are not needed again for a particular document).
โก๏ธ
apos.migrations.eachWidget
now delivers an accuratedotPath
, which is crucial for the use ofapos.docs.db.update
with$set
. No standard migrations in Apostrophe were using the feature until now.
-
v2.54.2 Changes
April 24, 2018โ Unit tests passing.
โ Regression tests passing.
- ๐ A bug in the recently introduced
apostrophe-soft-redirects
module caused crashes in cases where the context page or piece had no_url
property... which is an unusual situation (how did you get there exactly? Overrides are clearly involved), but it can happen in customized projects. Fixed.
- ๐ A bug in the recently introduced
-
v2.54.1 Changes
April 24, 2018โ Unit tests passing.
โ Regression tests passing.
- ๐ป A bug in Chrome 66 causes problems when selecting images in Apostrophe's media library. This bug did not appear before Chrome 66 and does not appear in other browsers. We resolved it by migrating to the use of the CSS grid feature in compatible browsers.
-
v2.54.0 Changes
April 18, 2018โ Unit tests passing.
โ Regression tests passing.
- ๐ Several performance improvements. In situations where Apostrophe formerly made expensive "matching nothing" queries, Apostrophe now either skips the entire query or uses an efficient query for a nonexistent
_id
, depending on whether the method in question has the right to cancel the entire operation. - ๐ Resources released more completely by
apos.destroy
, which can now satisfy the expectations ofmocha
5.x (no timeouts left active, etc). This was done by adding adestroy
method touploadfs
. - ๐
range
schema fields behave better when there is no existing value. - ๐พ Save operation of a modal now triggers the global busy state to prevent race conditions and other unwanted behavior.
- Global busy state can now be pushed and popped, and modals utilize this, so that a modal can be used to gather information during the
saveContent
method of another modal.
- ๐ Several performance improvements. In situations where Apostrophe formerly made expensive "matching nothing" queries, Apostrophe now either skips the entire query or uses an efficient query for a nonexistent